Installing Vivado, Vitis, and Digilent Board Files
This guide walks through the process of installing and configuring the Vivado and Vitis development environments. These applications are used to develop projects to run on Digilent FPGA Development Boards. In addition to the installation, Digilent's Board Support Files will be installed, which are used to make the process of creating a new project significantly faster. In addition, the board files make it significantly easier to add a variety of peripherals (such as DDR memory), as well as a Zynq processor (for Zynq boards) to a project.
Important: Digilent-provided example projects target specific versions of Vivado and Vitis or Xilinx SDK and it may be difficult or impossible to port them to other versions. Take care when choosing a version. If you want to install Vivado version 2019.1 or older, and Xilinx SDK instead of Vitis, check out Installing Vivado, Xilinx SDK, and Digilent Board Files instead.
- 60+ GB of free hard-drive space. The actual number varies depending on the specific tools and device support installed.
Install Vivado and Vitis (Xilinx Unified Installer)
The Xilinx Unified Installer can be used to install a variety of different Xilinx tools that can be used to design applications for your FPGA development board.
Open Xilinx's Downloads page in a new tab. Find the section of the page entitled “Vivado ML Edition - <Version #>”.
Make sure to check the version of the tools you are installing, as the level of support available for your board may differ depending on the version selected.
Select the “Self Extracting Web Installer” download for the appropriate operating system. Follow the prompts to sign in or create an account for Xilinx's website. Once signed in, the browser will download the selected installer.
To launch the installer, choose the dropdown for the appropriate operating system:
- Use Windows Explorer to find the installer executable in your Downloads directory. Double click on the executable to run it.
Navigate to the directory that the installer binary was downloaded to in a terminal application, then enter the command below with the correct filename to execute it as a super-user:
chmod +x <installer>.bin && sudo ./<installer>.bin
The rest of the steps in Section 1 are the same for both Windows and Linux.
At the Welcome screen, make sure that the operating system of the computer being used is listed in the compatibility list, then click Next.
Use the same credentials as on the Xilinx website for user authentication. Select the Download and Install Now option and click Next.
On the “Select Product to Install” screen, several options are presented. Select the Vitis option to install both the Vitis Unified Software Platform and Vivado Design Suite. Selecting Vivado will not provide you with all of teh tools you need.
After selecting Vitis as the product to install, only one option is available for the edition. Click Next
This screen provides more detailed options for the customization of the installation. The majority of these options do not need to be changed for a basic installation, but unnecessary features can be removed to reduce the installation's footprint on the file-system - for example, most users will not need their Vivado installation to support Ultrascale, Kintex, or Virtex devices. The important options for a beginner to note here are described in the list below. Review the selections, then click Next.
- Design Tools:
- Installs a development environment for writing software targeting processors on Xilinx FPGAs.
- Vivado Design Suite:
- Installs a development environment for creating hardware designs targeting FPGA fabric on Xilinx FPGAs.
- Installs a navigation tool to quickly find appropriate Xilinx documentation of IP and examples.
- Allows customization of the set of Xilinx FPGA parts that can be designed for after installation. Deselecting some of these options can greatly reduce the size of the installation. Make sure that your installation will support the devices on your FPGA boards!
- Installation Options:
- Install Cable Drivers:
- Installs the appropriate drivers so that a connected FPGA can be programmed. If Vivado has not been installed before, make sure to check this!
- Acquire or Manage a License Key:
- Launches the Xilinx License manager after installation is complete. Many new users will not need to manage licenses.
NOTE: Changes can be made to the installation after it is complete by going to Help → Add Design Tools or Devices in the Vivado toolbar.
The “Select Destination Directory” screen shows how and where the installation will be placed in the computer's file system. Leaving all of these settings as default is typically fine. Click Next and then Yes if prompted to confirm that the installer will be creating a new directory.
Install Cable Drivers (Linux Only)
The Xilinx Unified Installer does not install the USB drivers required to recognize an FPGA board on a Linux system. As such, it must be done manually after the tools have been installed.
In order to install Linux cable drivers, first navigate to the following directory in a console window:
By default, the “<Vivado Install>” directory is the “/opt/Xilinx/Vivado/<version>/” directory, where <version> represents the Vivado version number.
From within this directory, run the “./install_drivers” command as a super-user. Once this command completes successfully, the required drivers will be installed.
NOTE: Some older versions of Vivado may require that the install_drivers command be extracted from a TAR file before use.
In order to use the USB drivers with a serial terminal, each user that will be using serial terminals must be added to the dialout group. Serial terminals can be very useful for debugging FPGA designs that implement a USB-UART controller.
The current user can be added to the dialout group with the following command:
sudo adduser $USER dialout
Note that the above only adds the current user. In order to add a different user (including a user without super-user permissions), use the following command instead, with “<username>” replaced with the name of the user to be added.
adduser <username> dialout
Install Digilent's Board Files
Digilent provides board files for each FPGA development board. These files make it easy to select the correct part when creating a new project and allow for automated configuration of several complicated components (including the Zynq Processing System and Memory Interface Generator) used in many designs.
The board files will be copied into your version of Vivado's installation directory. At the end of this section, an alternate method of installation is presented, which users familiar with git may find more convenient.
Open the folder extracted from the archive and navigate to its
new/board_files folder. You will be copying all of this folder's subfolders.
Note: When installing Vivado versions 2014.4 or older, use the files found in 'old/board_files' instead.
Open the folder that Vivado was installed into -
/opt/Xilinx/Vivado by default. Under this folder, navigate to its
<version>/data/boards/board_files directory. If this folder doesn't exist, create it.
Copy all of the folders found in vivado-boards'
new/board_files folder, then paste them into this folder.
- Appendix: Installing the Board Files via the "vivado-boards" Github Repository
You might want to use this method instead if you are familiar with git and want to have a clean way of pulling in the latest changes to the board files, without needing to manually copy-paste the files into every newly-installed version.
Download the ZIP archive of the Digilent's “vivado-boards” Github repository and extract it into a memorable location where it can stay. Alternatively, you can use git and a command prompt to clone the repository into the current working directory with the command
git clone https://github.com/Digilent/vivado-boards.
Find the file “Vivado_init.tcl” in the “utility” subdirectory of the vivado-boards repo. Copy and paste it into the
%APPDATA%/Xilinx/Vivado/directory for Windows or
$HOME/.Xilinx/Vivado/(after authenticating as superuser) in Linux. This file is a script that will be run whenever Vivado is launched. It will load Digilent's board files for use in Vivado from the directory they were extracted into.
Note: You can also find the path to this directory by launching Vivado and, before changing directory, running the
pwdcommand in the Tcl Console.
Note: The script init.tcl should be used instead of Vivado_init.tcl for Vivado versions 2016.4 and older. If multiple versions of Vivado from before and after 2016.4 are installed, both scripts should used.
Open the copied init script in a text editor. Change the text
<extracted path>in the script to the path to the extracted vivado-boards folder. Save and close the file.
This script sets the board.repoPaths parameter to a fixed path. The script is run whenever any version of Vivado is launched, and the parameter for that version of Vivado will remain set after you are done with your session. This means that by installing the script, you are setting the board file repo for every version of Vivado you are using, and the changes will remain even after the script is potentially deleted in future. You can always clear the parameter later with the command
set_param board.repoPaths “”, again, this persists between sessions.
Note: The remaining steps of this guide present how to launch Vivado and Vitis once they are installed on your system.
Select the dropdown corresponding to your operating system, below.
Select the dropdown corresponding to your operating system, below.
Open a terminal and run the following commands. The install path is /opt/Xilinx by default.
source <install_path>/Vitis/2020.1/settings64.sh vitis
Note: Regardless of OS, if Vivado is open, Vitis can also be launched through the Tools → Launch Vitis toolbar option.
Upon launching Vitis, a dialog will appear where a workspace must be chosen. The workspace is the directory where all of the projects and files for the application being developed will live. If a folder that does not currently exist is chosen, it will be created. Choose a workspace and click Launch to finish launching Vitis.