Vivado installation
As you will see on the downloads page of Xilinx there are different versions you can download. While simple designs will work on a newer version of Vivado, it might become cumbersome to get an older design working on a newer version of the tools suite once it is a bigger design (including Vitis/Petalinux/...). The most important thing to remember is that once you import a project in a newer version, you cannot (easily) go back to an older version. The biggest advise we give you is that all team members try to stick to the same version for the final project.
Since version 2023.2, a major thing has changed in Vitis. From that version on AMD talks about "Vitis Unified IDE", which looks like VSCode. Until (and including) 2023.1, an eclipse based IDE was used, nowadays called "Vitis Classic". When you try to follow tutorials this will be important to realize. Also the way of creating drivers has changed quite a bit since version 2023.2.
We advise you to use version 2024.1 (Vivado/Vitis and Petalinux should always be at the same version otherwise you will get severe build errors).
It is required for all team members to use the same version. If you find a project online that is using an older version of Vivado, this might not work in 2024.1.
Another thing to mention is that older versions of Vivado will be more difficult to install on a newer operating system. In this case, a virtual environment might be useful.
Windows
Download the AMD Unified Installer for FPGAs & Adaptive SoCs 2024.1: Windows Self Extracting Web Installer (EXE - 215.97 MB) and run the installer.
Next, follow the Installation steps
Linux
Pre-install
First of all, on a new system you will need to do some configuration changes, add your user to the dialout group and install some extra packages.
foo@bar:~$ sudo dpkg-reconfigure dash
foo@bar:~$ sudo adduser $USER dialout
foo@bar:~$ sudo apt install gparted xinetd gawk gcc net-tools ncurses-dev openssl libssl-dev flex bison xterm autoconf libtool texinfo zlib1g-dev
foo@bar:~$ sudo apt install iproute2 make libncurses5-dev tftpd libselinux1 wget diffstat chrpath socat tar unzip gzip python tofrodos lsb libftdi1 libftdi1-2
foo@bar:~$ sudo apt install lib32stdc++6 libgtk2.0-0:i386 libfontconfig1:i386 libx11-6:i386 libxext6:i386 libxrender1:i386 libsm6:i386 tree openssh-server
foo@bar:~$ sudo apt install debianutils iputils-ping libegl1-mesa libsdl1.2-dev pylint3 python3 cpio tftpd-hpa gnupg zlib1g:i386 haveged perl xvfb
foo@bar:~$ sudo apt install gcc-multilib build-essential automake screen putty pax g++ python3-pip xz-utils python3-git python3-jinja2 python3-pexpect
foo@bar:~$ sudo apt install liberror-perl mtd-utils xtrans-dev libxcb-randr0-dev libxcb-xtest0-dev libxcb-xinerama0-dev libxcb-shape0-dev libxcb-xkb-dev
foo@bar:~$ sudo apt install util-linux sysvinit-utils cython google-perftools patch diffutils ocl-icd-libopencl1 opencl-headers ocl-icd-opencl-dev
foo@bar:~$ sudo apt install libncurses5 libncurses5-dev libncursesw5:amd64 libncursesw5-dev libncurses5:i386 libtinfo5 libstdc++6:i386 libgtk2.0-0:i386 dpkg-dev:i386
foo@bar:~$ sudo apt update
foo@bar:~$ sudo apt upgrade
Download
From the Xilinx/AMD website download the AMD Unified Installer for FPGAs & Adaptive SoCs 2024.1: Linux Self Extracting Web Installer (BIN - 291.7MB)
Next, in a terminal window, make it executable and run it:
foo@bar:~$ chmod +x ~/Downloads/FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin
foo@bar:~$ ~/Downloads/FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin
Installation Steps
Downloading and installing takes some time (+- 1 hour) and disk space (+- 112GB)
Windows Users
In the next dialog, Windows users have to enable the checkbox to install the USB Device Drivers
Linux Users
Download the rules-files to your Downloads folder.
Next open a terminal, copy the files to the /etc/udev/rules.d folder and reload the udev rules.
Check Board
Depending on which board you will use you might have to select more devices during the setup. For now we will check if the Pynq-Z2 board is present. Open Vivado, create a new project, check if you can select the Pynq-Z2 board from the boards tab everything is ok.
If not, go to Tools/Vivado Store... Go to the Boards tab, click refresh at the bottom, you should see TUL/Single part/Pynq Z2 without a green checkmark. Right-click and select Install...
Check again if you can now see the Pynq-Z2 Board when creating a new project.