Installing Vivado, Vitis, and Digilent Board Files

Introduction

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.


Prerequisites

  • 60+ GB of free hard-drive space. The actual number varies depending on the specific tools and device support installed.

Guide

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:

Windows
Use Windows Explorer to find the installer executable in your Downloads directory. Double click on the executable to run it.
Linux
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.


Read and accept all three license agreements, then 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:
    • Vitis:
      • 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.
    • DocNav:
      • Installs a navigation tool to quickly find appropriate Xilinx documentation of IP and examples.
  • Devices:
    • 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.


Review the “Installation Summary”, then click Install.


The installation process may take quite a while. Find something else to work on until it completes.

I recommend making nachos. You definitely have time for it.


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:

<Vivado Install>/data/xicom/cable_drivers/lin64/install_script/install_drivers/

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.


Download the most recent Master Branch ZIP Archive of Digilent's vivado-boards Github repository and extract it.


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 - C:/Xilinx/Vivado or /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 pwd command 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.


Launch Vivado

Select the dropdown corresponding to your operating system, below.

Windows

Open Vivado through the start menu or desktop shortcut created during the installation process.

Linux

Open a terminal, and change directory (cd) to a folder where log files for your Vivado session can be placed, then run the following commands:

source <install_path>/Vivado/<version>/settings64.sh
vivado


Launch Vitis

Select the dropdown corresponding to your operating system, below.

Windows

Open Vitis through the start menu or desktop shortcut created during the installation process.

Linux
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.