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
apt update -y
apt install -y git wget xz-utils
yum update -y
yum install -y git wget which xz
dnf install -y findutils git wget which xz
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
export FPGA_FAM=eos-s3
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
wget -qO- https://storage.googleapis.com/symbiflow-arch-defs-install/quicklogic-arch-defs-d6d05185.tar.gz | tar -xzC $INSTALL_DIR/eos-s3/
If the above commands exited without errors, you have successfully installed and configured your working environment.