Installing syfala on Ubuntu
The Syfala toolchain is a compilation toolchain of Faust programs onto AMD-Xilinx FPGA targets. This document explains how to install and run the version 0.7.1 of the toolchain on a Linux machine. In practice, installing the Syfala toolchain means:
- Installing the required linux-packages
- Installing the Faust compiler
- Creating a AMD-Xilinx account and downloading/installing the 2022.2 version of the AMD-Xilinx toolchain (providing softwares such as Vivado, Vitis, Vitis HLS).
- Installing the additionnal Vivado Board Files for Digilent Boards.
- Installing udev rules in order to use the JTAG connection.
- Cloning the Syfala repository, and running a simple example to make sure everything is working properly.
$ sudo apt-get update $ sudo apt-get install libncurses5 libtinfo-dev g++-multilib gtk2.0
It is recommended to clone Faust from the official github repository:
$ git clone https://github.com/grame-cncm/faust.git $ cd faust $ make $ sudo make install
Vivado, Vitis & Vitis HLS (2022.2 version)
- Open an account on https://www.xilinx.com/registration
The Xilinx download page (https://www.xilinx.com/support/download.html) contains links for downloading the "Vivado Design Suite - HLx Editions - Full Product". It is available for both Linux and Windows.
Download the Linux installer
chmod a+x Xilinx_Unified_2022.2_1014_8888_Lin64.bin
We suggest to use the "Download Image (Install Separately)" option. It creates a directory with a xsetup file to execute that you can reuse in case of failure during the installation
Choose to install Vitis (it will still install Vivado, Vitis, and Vitis HLS).
- It will need 110GB of disk space: if you uncheck Ultrascale, Ultrascale+, Versal ACAP and Alveo acceleration platform, it will use less space and still work.
- Agree with everything and choose a directory to install (e.g. ~/Xilinx)
- Install and wait for hours...
- Setup a shell environment variable allowing to use the tools when necessary (add this to your
~/.zshrcor whatever you're currently using, replacing
$HOME/Xilinxby the directory you chose to install all the tools)
Installing Cable Drivers on Linux
- go to:
sudo cp 52-xilinx-digilent-usb.rules /etc/udev/rules.d, this allows JTAG connection through USB.
Installing Digilent Board Files
- Download the board files here
- Open the folder extracted from the archive and navigate to its
new/board_filesfolder. You will be copying all of this folder's subfolders
- go to
- Copy all of the folders found in vivado-boards
new/board_filesfolder and paste them into this folder
Cloning the Syfala repository
To clone and install the latest stable version of the Syfala toolchain, you can use the following commands:
$ git clone https://github.com/inria-emeraude/syfala $ cd syfala $ ./syfala.tcl install $syfala --help
In order to use the Syfala toolchain to compile your first example, please report to the main README file located in the repository's root directory.