macOS Ventura supports running x86-64 binaries on Linux VMs. However, even with Rosetta installing Vivado is not a simple one-click process. This guide covers some workarounds and tricks to get Vivado up and running on ARM64 Mac.
- Make sure you're running macOS Ventura or higher.
- Install UTM and create a Debian VM with Rosetta according to their guide.
- Other distributions should also work, but commands will be different.
- Install x86-64 version of java and
libtinfo
. Vivado depends on them.
$ sudo apt install default-jdk:amd64 libtinfo5:amd64
- Download a copy of self-extracting web installer from Xilinx website.
- Run the installer with
--confirm
flag.
$ /path/to/vivado/installer --confirm
- The installer will print something like
About to extract 40 KB in /tmp/selfgzXXXX ... Proceed ?
. Check the path/tmp/selfgzXXXX
, and proceed. - After extracting, the installer will ask about running
./xsetup
. Before pressingy
, open/tmp/selfgzXXXX/xsetup
in your editor and delete architecture checking code which looks like this:
# ERROR out if this installation is running on 32 bit OS
# and does not support 32 bit installation
if [ "$(uname -m)" != "x86_64" ]; then
...
fi
- Save the file and press
y
in the installer. Continue with installation as usual. - Patch the
loader
. Open/path/to/xilinx/Vivado/2022.2/bin/loader
in your editor, where/path/to/xilinx
is the path to Xilinx software suite installation. Remove architecture checking code as you did on step 6.
Are you able to run any simulations? I keep getting an error that I haven't been able to fix by adding memory / swap files. It mentions permissions, but that is not the issue. In
compile.log
I see the following:This happens when I run the
xvlog
command manually, too.