How to install Vivado 2023.2 on Linux - tomas-fryza/vhdl-labs GitHub Wiki
Installation
-
Install dependencies.
# For correct installation sudo apt-get install libncurses5-dev libncursesw5-dev # For the tool sudo apt-get install libtinfo5 # For the simulation sudo apt-get install build-essential libncurses5
-
Download AMD Unified Installer for FPGA & Adaptive SoCs 2023.2: Linux Self Extracting Web Installer (BIN - 270.64 MB). You will need a free AMD (Xilinx) account to do so.
-
Go to your Download folder and from right-click menu, select open terminal here. Check the MD5 sum to see if the installation file was downloaded correctly. If the checksum value is different, download the installation file again.
md5sum FPGAs_AdaptiveSoCs_Unified_2023.2_1013_2256_Lin64.bin # Correct MD5 SUM Value is: b8c785d03b754766538d6cde1277c4f0
-
Add execution permissions and run the installer.
# Add execution permissions chmod +x ./FPGAs_AdaptiveSoCs_Unified_2023.2_1013_2256_Lin64.bin # Run the installer ./FPGAs_AdaptiveSoCs_Unified_2023.2_1013_2256_Lin64.bin
-
Use your AMD (Xilinx)
E-mail Address
andPassword
for user authentication (same as you used to download the installer). -
Select Download and Install Now.
-
Select Vivado product to install.
-
Select Vivado ML Standard edition to install.
-
Customize your installation be selecting Vivado Design Suite, Vitis Model Composer, and Artix-7 production devices.
-
Accept all license agreements.
-
Select the installation directory, such as:
/home/your_login/bin/Xilinx
or/opt/Xilinx
(Admin privileges needed). -
Click Next > button to download and install the tool. The installation process will take tens of minutes to complete.
-
-
Open
.bashrc
filevim /home/your_login/.bashrc
and add the following line at the end of the file.
source /home/your_login/bin/Xilinx/Vivado/2023.2/.settings64-Vivado.sh
Reload the shell script by
source ~/.bashrc
-
Run Vivado using terminal emulator (or Desktop shorcut) and follow instructions to create and simulate new project.
vivado
Optionally set main properties in menu Tools > Settings...
- Project > Start in directory:
Home directory
- Project > Target Language:
VHDL
- Source File > File Saving:
Automatically save files
- Text Editor > Code Completion:
Display a list of choices on demand
- Text Editor > Fonts and Colors > Name:
Courier 10 Pitch
, Size:14
- Project > Start in directory:
Nexys A7 board support
-
Add board definition files. Download and extract Zip file and copy content of
vivado-boards-master/new/board_files/
to your Vivado installation folderYOUR_VIVADO_LOCATION/2023.2/data/boards/board_files/
.Note: You can also download the latest available version of your board during the new-project-creating in Vivado by button Refresh on
Default Part
dialog, followed by download icon inStatus
column. -
Install Linux cable driver. From Digilent Adept 2 software, download latest Linux 64-bit deb version of Runtime and Utilities.
# Install both packages sudo dpkg -i ./digilent.adept.runtime_2.27.9-amd64.deb sudo dpkg -i ./digilent.adept.utilities_2.7.1-amd64.deb # If necessary, reboot Linux, or initialize the new udev rules file sudo udevadm control --reload-rules
You can find detailed and useful information here.
-
Add local user
your-login
to Linux groupdip
.sudo usermod -a -G dip your-login
-
Run Vivado using terminal emulator (or Desktop shorcut) and follow instructions to program the Nexys A7 board.
Un-install
-
Run the shell script in
/home/your_login/bin/Xilinx/.xinstall/Vivado_2023.2/
in un-installation mode.cd /home/your_login/bin/Xilinx/.xinstall/Vivado_2023.2/ ./xsetup -Uninstall
Follow the graphical un-installer. Once installation is completed remove unwanted libraries.
sudo apt-get autoremove
-
Remove line
source /home/your_login/bin/Xilinx/Vivado/2023.2/.settings64-Vivado.sh
from your/home/your_login/.bashrc
file.
Tested on
Version | Result (yyyy-mm-dd) | Note |
---|---|---|
Linux Mint 21.2 (Victoria) | OK (2024-02-27) | Office |
Linux Mint 21.2 (Victoria) | OK (2024-02-23) | Laptop |
# FYI: How to check OS version in Linux
cat /etc/os-release
# Or by Neofetch
neofetch