Generating a bitstream for Xilinx devices requires a Vivado installation. Vivado is provided by Xilinx, it is freeware for certain (smaller) FPGA devices but requires a commercial license for larger FPGAs. The free version is called “WebPACK”, the commercial version “Design Edition”. The installation instructions below are valid for both installation methods.

Vivado Version: The recommendation is to use Vivado 2020.2. The following instructions have been tested with Vivado 2020.2. Some screenshots are generated from Vivado 2020.1, but the installation process has not changed. Vivado 2019.1 and all its minor updates are not compatible with this project.

To get started faster we use the web installer in the following.

1. The file “Xilinx Unified Installer 2020.2: Linux Self Extracting Web Installer”.

You need to register for a free Xilinx account to download the software, and you’ll need it again later to install the software. Create a new account if you don’t have one yet.

2. Before you proceed ensure that the download didn’t get corrupted by verifying the checksum.

$sha512sum --check Xilinx_Unified_2020.2_1118_1232_Lin64.bin.digests Xilinx_Unified_2020.2_1118_1232_Lin64.bin: OK sha512sum: WARNING: 22 lines are improperly formatted  If you see an “OK” after the downloaded file proceed to the next step. Otherwise delete the download and start over. (You can ignore the warning produced by sha512sum.) 3. Run the graphical installer. It may warn you that a newer version is available; you can ignore the warning. $ sh Xilinx_Unified_2020.2_1118_1232_Lin64.bin

4. Now you need to click through the installer. Click “Next” on the first screen.

6. Click all “I Agree” checkboxes, and click on “Next” to continue.

7. Choose “Vivado”, and click on “Next” to continue.

8. Choose “Vivado HL Design Edition”. This is required to enable support for the Xilinx Kintex 7 XC7K410T FPGA device found on the ChipWhisperer CW310 board. You’ll need a commercial Vivado license for this FPGA device. Without a valid license, you are still able to install the Vivado HL Design Edition but you’ll only be able to work with devices supported by the free WebPACK license. If you don’t have a valid license and if you’re only planning to work with devices supported by the free WebPACK license, you can also choose “Vivado HL WebPACK” instead.

9. Choose the features to install. You can restrict the features to the ones shown in the screenshot below. Click “Next” to continue.

10. Choose an installation location. Any location which doesn’t have a whitespace in its path and enough free space is fine. We use /tools in our example, but a path in /opt or within the home directory works equally well. Click “Next” to continue.

11. Double-check the installation summary and click on “Install” to start the installation process.

13. As soon as the installation has completed close the installer and you’re now ready to use Vivado!

## Device permissions: udev rules

To program an FPGAs the user using Vivado typically needs to have permissions to access USB devices connected to the PC. Depending on your security policy you can take different steps to enable this access. One way of doing so is given in the udev rule outlined below.

To do so, create a file named /etc/udev/rules.d/90-lowrisc.rules and add the following content to it:

# Grant access to board peripherals connected over USB:
# - The USB devices itself (used e.g. by Vivado to program the FPGA)
# - Virtual UART at /dev/tty/XXX

# NewAE Technology Inc. ChipWhisperer boards e.g. CW310, CW305, CW-Lite, CW-Husky

\$ sudo udevadm control --reload