Skip to main content Link Search Menu Expand Document (external link)

FPGA Tools Installation Guide

Software to install:

  1. Vivado ML Edition - 2023.2 or any later version
  2. Alchitry Lab IDE (version TBC),
  3. Latest Java Development Kit

Total additional space required: ~80GB. You may want to install these to an external drive.

Preface

The Alchitry IDE is used to write hardware designs in the Lucid programming language, offering a higher-level abstraction for FPGA development.

Once the code is ready, you can press build 🔨 button and the IDE translates Lucid to Verilog and utilizes Vivado (configured with its binary location) to synthesize and generate the bitstream file.

The bitstream file can be found under [PROJECT_DIR]/build/alchitry_au.bin:

This bitstream is then loaded onto the FPGA, which is connected to the computer via USB for deployment.

Vivado Installation (Windows x86 or Linux x86)

Vivado is used to synthesize high-level hardware description code (in Verilog or Lucid translated to Verilog) into a netlist of logical gates. This netlist is then further processed through implementation steps, such as place-and-route, to produce a bitstream or binary file for programming the FPGA.

🍎 Apple Silicon Mac

You cannot natively install Vivado on Apple Silicon macs. Xilinx Vivado doesn’t officially support ARM as of late 2024. Current workaround utilises UTM + Debian 12 + Rosetta, read this guide here.

We recommend you to instal Vivado ML Edition - 2023.2. You are free to try older version (see archive) Vivado Design Suite - HLx Editions - 2020.2 or the latest version: Vivado ML Edition - 2024.1.

Please choose one and just install one version.

This guide assumes you select Vivado ML Edition - 2023.2.

Vivado ML Edition - 2023.2

Create an AMD account first.

Then, download Vivado ML Edition - 2023.2 self-extracting web installer (Windows / Linux)

Windows users: Extract and open the downloaded installer as per normal.

Linux users: Once the installer is downloaded, open Terminal and type the following to make the .bin executable, and run it.

cd ~/Downloads 
chmod +x FPGA[press TAB for autocompletion]

# then run 
./FPGA[press TAB]

Sign in with the AMD account you created earlier:

Then select Vivado:

Choose Vivado ML Standard (this is the free version):

Only tick these packages to install (we don’t need everything, you can save some space):

  • Vivado Design Suite: Vivado, Vitis HLS
  • DocNav
  • Artix-7

Next, tick all the license agreements:

Then create installation an directory. Here we create a new folder called Xilinx under ~/Documents:

After that click install:

It might take approximately 2-3 hours for installation to complete.

Finally, ensure that Vivado is installed properly (you can open the app afterwards):

Alchitry Lab Installation

Download Alchitry Lab 2 from here. This is your IDE.

Once installed, open the app and you can create a new project. Select the template for Alchitry Au board and choose one of the basic template project:

Set Vivado Location

Set the Vivado installation location you did earlier in Alchitry Lab. It should be something like this [VIVADO_INSTALLATION_DIRECTORY]/Vivado/[VERSION]. In this example, we installed Vivado ML Edition 2023.2 in /mnt/vivado, and hence the location to select in Alchitry is /mnt/vivado/Vivado/2023.2.

Build the project

After vivado location is set, you can test build the project:

If vivado location is set properly, you should see the message Starting Vivado...:

Synthesis takes quite some time (3-10 minutes). This is normal.

When synthesis is done, you should see the message Finished building project:

Debug Log

If project building fails, copy the debug log and search for the word ERROR.

Load to FPGA

Connect the FPGA board to your computer. It should detect the board automatically.

You can load the binary to the Alchitry Au FPGA using the solid arrow button (load flash, persistent) or the hollow arrow button (load RAM, not persistent upon reboot of FPGA).

Using Alchitry Loader

You can also load the binary to your FPGA using Alchitry Loader. It works the same. Alchitry Loader is useful for macOS users who cannot synthesise the binary natively, and can only load flash/RAM after synthesizing the binary elsewhere.