Install Vivado and Quartus Prime on Apple Silicon III - Install Vivado
Install Vivado
This blog provides steps in installing Vivado 2024.1, including patches of simulation dependencies.
Prerequisite
- Installed Ubuntu 22.04 in Virtual Machine (Parallels Desktop or UTM) with TSO enabled
- Configured Rosetta 2 for Linux
See details in this blog.
Install dependencies for installer
Update sources:
sudo apt updateInstall dependencies for Vivado and Installer:
sudo apt install libtinfo5:amd64 libncurses5:amd64 libncurses-dev:amd64 libglu1-mesa:amd64 libxtst6:amd64 libxrender1:amd64 libxi6:amd64 libasound2:amd64Download and Patch the installer
You are recommended to use offline installer. You can download it from here. You MUST choose 2024.1, since both newer versions and older versions either have issue in the installation process or show a synthesis failure.
Shoud should patch the installer using the following commend:
sed -i '/uname -m/ s/\[ "$(uname -m)" != "x86_64" \]/[ "$(uname -m)" != "aarch64" ]/' ./xsetupInstall Vivado 2024.1
Extract the file downloaded, and run
sudo ./xsetupIf you enabled HiDPi and have set scale of 2 you can run the following commend instead.
sudo XINSTALLER_SCALE=2 ./xsetupYou can now personalise your installation, and the recommended install destination is /opt/Xilinx.
Patch Vivado and Vitis
You should patch the Vivado in order to pass the architecture detection by commend
sudo sed -i 's/x86_64)/x86_64|aarch64)/' /opt/Xilinx/Vivado/2024.1/bin/loaderand Vitis_HLS as well.
sudo sed -i 's/x86_64)/x86_64|aarch64)/' /opt/Xilinx/Vitis_HLS/2024.1/bin/loaderInstall dependencies for Vivado
Vivado requires binutils and gcc for simulation and generate bitstream. However, gcc:amd64 requires cpp:amd64, which conflicts with cpp:arm64 required by ubuntu-desktop. A gcc in AMD64 arch is required because an AMD64 .so file should be generated and linked with Vivado, and there is no way to inject additional instructions to the generation of .so file. Therefore, the following workarounds are applied.
First, you should install the cross-compiler of gcc.
sudo apt install binutils-x86-64-linux-gnu gcc-x86-64-linux-gnu g++-x86-64-linux-gnuThen, create symbol links
cd /usr/bin/for t in gcc g++ cpp ld as ar nm ranlib objcopy objdump readelf strip strings; do sudo ln -sf /usr/bin/x86_64-linux-gnu-$t $t; doneInstall cable drivers
Run the following commend to install cable drivers:
sudo /opt/Xilinx/Vivado/2024.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/install_driversCreate Desktop Icon on Start Menu
Desktop icons are automatically generated on the desktop of root user. You can simply copy .desktop files in /root/Desktop to /usr/share/applications by the following commends.
sudo -icp /root/Desktop/*.desktop /usr/share/applications/You can also add -nolog -nojournal to the end of Exec line in your .desktop file to disable log files in your home directory.
Now you have successfully installed Vivado on your Virtual Machine.