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.
Dependencies
Packages
$ sudo apt-get update
$ sudo apt-get install libncurses5 libtinfo-dev g++-multilib gtk2.0
Faust
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
Xilinx_Unified_2022.2_1014_8888_Lin64.bin
- execute
chmod a+x Xilinx_Unified_2022.2_1014_8888_Lin64.bin
-
execute
./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
-
execute
./xsetup
-
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
~/.bashrc
,~/.zshrc
or whatever you're currently using, replacing$HOME/Xilinx
by the directory you chose to install all the tools) export XILINX_ROOT_DIR=$HOME/Xilinx
Installing Cable Drivers on Linux
- go to:
$XILINX_ROOT_DIR/Vivado/2022.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
directory - run
./install_drivers
- run
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_files
folder. You will be copying all of this folder's subfolders - go to
$XILINX_ROOT_DIR/Vivado/2022.2/data/xhub/boards/XilinxBoardStore/boards/Xilinx
- Copy all of the folders found in vivado-boards
new/board_files
folder 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.