Important

SymbiFlow is now F4PGA. See f4pga.org, f4pga.readthedocs.io and f4pga-examples.readthedocs.io.

Getting F4PGA

This section describes how to install F4PGA and set up a fully working environment to later build example designs.

Prerequisites

To be able to follow through this tutorial, install the following software:

apt update -y
apt install -y git wget xz-utils

Next, clone the F4PGA examples repository and enter it:

git clone https://github.com/chipsalliance/f4pga-examples
cd f4pga-examples

Toolchain installation

Now we are able to install the F4PGA toolchain. This procedure is divided into three steps:

  • installing the Conda package manager,

  • choosing an installation directory,

  • downloading the architecture definitions and installing the toolchain.

Conda

Download Conda installer script into the f4pga-examples directory:

wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O conda_installer.sh

Choose the install directory

The install directory can either be in your home directory such as ~/opt/f4pga or in a system directory such as /opt/f4pga. If you choose a system directory, you will need root permission to perform the installation, and so you will need to add some sudo commands to the instructions below.

export INSTALL_DIR=~/opt/f4pga

Setup and download assets

Select your target FPGA family:

export FPGA_FAM=xc7

Next, setup Conda and your system’s environment:

bash conda_installer.sh -u -b -p $INSTALL_DIR/$FPGA_FAM/conda;
source "$INSTALL_DIR/$FPGA_FAM/conda/etc/profile.d/conda.sh";
conda env create -f $FPGA_FAM/environment.yml

Download architecture definitions:

mkdir -p $INSTALL_DIR/xc7/install
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/20220404-212755/symbiflow-arch-defs-install-afbfe04.tar.xz | tar -xJC $INSTALL_DIR/xc7/install
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/20220404-212755/symbiflow-arch-defs-xc7a50t_test-afbfe04.tar.xz | tar -xJC $INSTALL_DIR/xc7/install
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/20220404-212755/symbiflow-arch-defs-xc7a100t_test-afbfe04.tar.xz | tar -xJC $INSTALL_DIR/xc7/install
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/20220404-212755/symbiflow-arch-defs-xc7a200t_test-afbfe04.tar.xz | tar -xJC $INSTALL_DIR/xc7/install
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs/artifacts/prod/foss-fpga-tools/symbiflow-arch-defs/continuous/install/20220404-212755/symbiflow-arch-defs-xc7z010_test-afbfe04.tar.xz | tar -xJC $INSTALL_DIR/xc7/install

If the above commands exited without errors, you have successfully installed and configured your working environment.

Important

With the toolchain installed, you are ready to build the example designs! Examples are provided in separated directories:

  • Subdir xc7 for the Artix-7 devices

  • Subdir eos-s3 for the EOS S3 devices