Prerequisites

Xilinx Vivado can be downloaded from its official website [1]. It's recommended to download "Vivado HLx 2018.1: Full Installer For Linux Single File Download Image Including SDK" tarball, but make sure not to be in a hurry, as it's a large download (near 17 GB). Update tarballs can also be downloaded and installed later.

Dependencies

Installer needs ncurses5 libs, and will not work with ncurses 6 available at official repos. You can work-around this problem by installing ncurses5-compat-libsAUR from the Arch User Repository. You will also need to install lib32-libpng12 for Xilinx Document Navigator to launch.

Installation

You must install the main package, and it is also recommended to install the latest update patch.

Vivado and SDK

Warning: The patch below is not longer needed in the 2018.1 version. Just unpack and run the xsetup file.

Once downloaded and unpacked the tarball, the install script must be patched to be able to properly detect the machine architecture. You can do it by going to the directory where installer is extracted and running:

$ sed -i.original 's/uname -i/uname -m/' xsetup

Install script will be patched and original will be backed up as xsetup.original, just in case you need to restore it later. Once patched, just run the script; it should work perfect and install the suite without a problem:

# ./xsetup

It is recommended to install the suite at the default location /opt/Xilinx, as further instructions in this page will assume the suite is installed there.

Update patch

Warning: The patch below is not longer needed in the 2018.1 version.

It is recommended to install the latest update patch, and repeat the process each time a new patch is released. Note that update patches cannot be applied to WebPACK installs. If you installed Vivado WebPACK, skip this section.

To install the update, repeat the same hack used to install the suite. Once downloaded and unpacked, go to the directory containing the extracted tarball, patch the install script and run it:

$ sed -i.original 's/uname -i/uname -m/' xsetup
# ./xsetup

Licensing

Warning: In the 2017.4 Webpack version there is not longer required download an explicit license file, it just works.

If you already have a license file, you can load it using Vivado License Manager. Unfortunately, if you want to obtain a WebPack license, further steps are needed. Vivado installs old stdc++ libraries, causing problems when spawning programs not included with Vivado Suite (like your default browser). To fix this, do the following steps:

If you try obtaining a WebPack license, your default browser should open, and the license should be generated normally. If Vivado License Manager fails to automatically load the generated license, download the .lic file, and manually load it.

Digilent USB-JTAG Drivers

To use Digilent Adept USB-JTAG adapters (e.g. the onboard JTAG adapter on the ZedBoard) from Vivado, you need to install the Digilent Adept Runtime.

Synthesis segfaults

You'll need to recompile glibc (just take the PKGBUILD from the abs) with --disable-lock-elision. Instead of patching the system libc in /usr/lib, copy the newly
compiled libpthread-2.25.so and libc-2.25.so to /opt/Xilinx/Vivado/2016.4/ids_lite/ISE/lib/lin64
Don't forget to repeat this when glibc gets upgraded.

Vivado HLS testbench error with GCC

Download an older version of GCC of GCC (2.17 or 2.18) and unpack it. Copy glibc-2.17/misc/sys/cdefs.h to $HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/sys/ directory.

Open $HLS_install_directory/lnx64/tools/gcc/lib/gcc/x86_64-unknown-linux-gnu/4.6.3/include-fixed/features.h and add the following: