Installing Vivado, Xilinx SDK, and Digilent Board Files

Introduction

This guide will show the process of installing and configuring the Vivado development environment, used for developing projects to run on Digilent FPGAs. In addition to the installation, Vivado will be pointed at Digilent's board support files, 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) to a project. Xilinx SDK, used for developing C/C++ projects that target your hardware designs created in Vivado, will be installed as part of this process.

Important: With the release of Vivado 2019.2, Xilinx introduced the Vitis Unified Software Platform. The installers differ slightly between versions after and before this point. Take a look at the Installing Vivado, Vitis, and Digilent Board Files guide instead if you want to install version 2019.2 or newer.


Prerequisites

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

Guide

1. Install Vivado

Note: While the screenshots for this guide were taken for Vivado 2017.4, the installation process has not substantially changed in newer versions (through to 2019.1, at time of writing).

Open Xilinx's Downloads page in a new tab. Open the “Vivado Archive”, and navigate to the version you want to install. Find the section of the page entitled “Vivado Design Suite - HLx Editions - (version number) Full Product Installation”. 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 internet browser will download the selected installer.

Important: Digilent-provided example projects target specific versions of Vivado and it may be difficult or impossible to port them to other versions. Take care when choosing a version.


To launch the installer, choose the dropdown for the appropriate operating system, and follow the instructions:

Windows

Use Windows Explorer to find the installer executable in the 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

Note: All use of Vivado in Linux should be done as a super-user.

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 Edition to Install” screen, several options are presented. Vivado WebPACK Edition is fully free, but will not work when developing for Digilent FPGAs that use a Kintex-7 or Virtex-7 part. Vivado Design Edition can be used without a license, and is the edition recommended by Digilent. A license is required to use Vivado System Edition. This guide does not cover the acquisition and management of licenses. Select the most appropriate edition for the situation, then 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:
    • Vivado Design Suite:
      • Installs the main Vivado development environment.
    • Software Development Kit:
      • Installs an Eclipse-based development environment for Microblaze and Zynq designs.
    • 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.
  • 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. Most users do not need to manage licenses.

Note: Changes can be made to the installation after it is complete by selecting Add Design Tools or Devices under the Help menu 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 will take quite a while, potentially more than an hour. Find something else to work on until it completes.


Vivado is now successfully installed! If the “Acquire or Manage a License Key” box was checked in Step 1.7, the Vivado License Manager will launch. The majority of users will not need a license to use Vivado, so the License Manager can just be closed.


2. Installing Cable Drivers on Linux

Windows users may skip this section and continue on to Step 3.

The Vivado installer does not install the USB drivers required to recognize an FPGA on a Linux system, regardless of whether the option was checked or not. In order to install these drivers, navigate to the Vivado installation's data/xicom/cable_drivers/lin64/install_script/install_drivers/ directory in a console window. The Vivado installation directory is typically the /opt/Xilinx/Vivado/*/ directory - the “*” representing the Vivado version number (2018.2, for example). 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. A user can be added to the dialout group with the sudo adduser $USER dialout command. Note that this only adds the user that is currently active. In order to add a non-super-user while authenticated as root, use the command adduser <username> dialout instead, with “<username>” replaced with the name of the user to be added.


3. Installing Digilent 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.

Important! At the time of writing, if using a Spartan or Artix-based board for Microblaze designs, it is recommended to use an alternate version of the board files which better support the DDR memory present on some boards. This version of the board files can be downloaded via this link: Microblaze-MIG.zip. Instructions for setting up DDR memory in a Microblaze design using these files can be found in Getting Started with Vivado and Vitis for Baremetal Software Projects.


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.


In Conclusion

With Vivado, Xilinx SDK, and Digilent's board files installed, you are ready to start developing FPGA projects! To start learning how to use Vivado, check out one of the tutorials below: