- System Requirement
- Installation Steps
- Loading .bin from your mac to Alchitry Au FPGA
- Updating Alchitry Labs in the VM
Running Vivado on Apple Silicon mac
As of early 2025, there’s no officially supported way to run Vivado on Apple Silicon mac. We have managed to run Vivado + Alchitry lab on Debian 12 + Rosetta, running on UTM (virtual machines for mac). This document shares how you can download the prepared image and run it using UTM.
System Requirement
Apple Silicon mac with least 8 GB of RAM and 280GB of free space for both downloading and unzipping (final free space needed: 160GB).
This method is tested on M2 Max Mac Studio and 15” M2 Macbook Air.
Installation Steps
Download UTM
You need to first download UTM. You can also use brew
for this:
brew update
brew install --cask utm
Download Image and Unzip
After that, download the image from here
- You need to be signed in to your SUTD account
- This image comes with Debian 12, Rosetta, Vivado 2023.2, Alchitry Labs 1.2.7 (legacy) and Alchitry Labs 2 pre-installed (current)
Then unzip the downloaded file, either using Finder or CLI:
unzip <source.zip> -d <destination_directory>
It is recommended that you download this to an external drive, and then unzip and store the unzipped .utm
file to your computer. This process will take about 30-50 minutes because the size of the image is huge (approx 130 GB). You might want to move it out of your Downloads folder and put it somewhere more practical. This image will contain all your virtual machine’s data.
Start the VM
Once done, open UTM and import the image.
Check that there are TWO drives: sized approx 64 GB and 80 GB respectively in your
.utm
file. Right click on your.utm
file and click Show package contents. You should see the following underData/
:
Share Directories with Host Machine
You can share directories with your mac (host machine) by setting the desired shared directory in your host machine here. In this example we use Documents/alchitry-utm
in our host machine as shared directory:
Then in Debian (your VM), you can access this directory via the path /media/share/DIRECTORY_NAME
, in this case it will be /media/share/alchitry-utm
.
Login as debian
Start the VM and login with the password debian
. The sudo
password is also debian
.
Ensure that your desktop looks like this. If it doesn’t it means that what you have downloaded might be corrupted. Ensure you have enough space (280GB in total)!
Launching Alchitry Labs 2
You can start alchitry labs by opening terminal from the bottom menu of the desktop (press command if the dock isn’t visible to show it, or the top left activity button). Then select Terminal from the dock:
and type a2
command (an alias that launches the Alchitry Labs V2 binary).
Key in debian
as password when prompted.
debian@debian:~$ a2
[sudo] password for debian: [debian]
It will prompt you to create/open new project (first time) or open your last opened project (subsequently).
The VM also comes with legacy Alchitry Labs 1.2.7 (using Lucid V1). You can use command alchitry
to spawn it. See ~/.bashrc
for details.
Loading .bin from your mac to Alchitry Au FPGA
After building your code, you will need to load the binary to your FPGA. There’s no USB passthrough with the VM (it’s not the usual QEMU), so you will need to migrate PROJECT_PATH/build/alchitry_au.bin
to your host machine and flash it to your FPGA using Alchitry Loader part of the Alchitry Labs IDE for Apple Silicon.
If you have set up the shared directory above, simply navigate to this location.
Install Alchitry Labs V2 in your mac
From this link, install the Alchitry Labs V2 IDE. Follow the installation guide properly and open the app. Here’s the important steps: This application does not prove its origin with a developer signature. To open it:
- Click the download button.
- Note: Do not use the Launchpad to perform the following steps as it will not allow you to access the shortcut menu.
- Open the Finder and locate the application in your Downloads folder.
- Control-click the app icon, then choose Open from the shortcut menu.
- You will see a security warning stating the identity of the app author is unknown. Click Open.
Alchitry Loader
Then switch to Alchitry Loader first:
Find the synthesized binary and load it to your Alchitry Au FPGA:
Updating Alchitry Labs in the VM
Delete the old version
Open terminal, navigate to Downloads
, and remove the old version of alchitry labs:
cd ~/Downloads
rm -rf alchitry-labs-2*
Download the new version
The VM image you download above comes with Alchitry Labs V2 2.0.24
. It is likely that the author will bump the version from time to time. To download the latest build, go to the download page.
Click the Download.tar.gz
(not the .deb!):
Afterwards, open the terminal and cd to Downloads
, and unzip the tarball, and remove the old tarball once done:
cd ~/Downloads
tar -xvzf *linux-amd64.tar.gz
rm *linux-amd64.tar.gz
You should see a new folder created corresponding to the version of the alchitry labs:
Run Alchitry Labs with local JRE
You can run Alchitry Labs as per normal using the command a2
. It is an alias, defined in ~/.bashrc
.
# ~/.bashrc
alias a2='sudo java \
-Dapp.dir=$(find /home/debian/Downloads/alchitry-labs* -maxdepth 0 -type d)/lib/runtime \
-Djava.library.path=$(find /home/debian/Downloads/alchitry-labs* -maxdepth 0 -type d)/lib/runtime/lib \
-cp "$(find /home/debian/Downloads/alchitry-labs* -maxdepth 0 -type d)/lib/app/*" \
com.alchitry.labs2.GUIKt'
Note that you can’t just run the binary listed under
/bin
because it will use the pre-bundled JRE. We aliased the commanda2
to run the.jar
file with the local JRE:
Ensure that in ~/Downloads
you have deleted the old alchitry labs directory and only has the most recent one