# Installation instructions for Symbiflow with Xilinx Artix7 100T Board
*
*
WORK IN PROGRESS
## Bugzilla page
*
## TODO
* Installation with newest git commit of symbiflow-arch-defs
## Setting up new debootstrap and chroot into it
Run the following if you wish to isolate the symbiflow build
from other software (reproducible builds) or use the schroot
auto-preparation script here:
export MY_CHROOT=/stable-chroot
mkdir $MY_CHROOT
debootstrap buster $MY_CHROOT http://deb.debian.org/debian/
mount -t proc proc $MY_CHROOT/proc
mount -t sysfs sysfs $MY_CHROOT/sys
mount -t devpts devpts $MY_CHROOT/dev/pts/
chroot $MY_CHROOT /bin/bash
## Download neccessary softwares
apt-get install git wget
git clone https://github.com/steveicarus/iverilog.git
git clone https://github.com/YosysHQ/yosys.git
git clone https://github.com/YosysHQ/abc.git
git clone https://github.com/verilog-to-routing/vtr-verilog-to-routing.git
git clone https://github.com/cliffordwolf/icestorm.git
git clone https://github.com/SymbiFlow/prjxray.git
git clone https://github.com/SymbiFlow/yosys-symbiflow-plugins.git
git clone https://github.com/SymbiFlow/symbiflow-examples.git
git clone https://github.com/SymbiFlow/symbiflow-arch-defs.git
git clone https://github.com/QuickLogic-Corp/quicklogic-fasm.git
git clone https://github.com/QuickLogic-Corp/quicklogic-fasm-utils
#git clone https://github.com/SymbiFlow/symbiflow-rr-graph.git
wget http://xmlsoft.org/sources/libxml2-2.9.12.tar.gz
wget https://anaconda.org/LiteX-Hub/prjxray-db/0.0_248_g2e51ad3/download/linux-64/prjxray-db-0.0_248_g2e51ad3-20210317_102909.tar.bz2
# get yosys-proc.patch from Bug attachment file.
## Steps to compile Icarus Verilog
### Necessary software to install
apt-get install build-essential autoconf make g++ bison flex gperf libreadline6-dev
### Build Icarus Verilog
cd iverilog
git checkout v11_0
sh autoconf.sh
./configure --prefix=/usr/local/iverilog
make -j$(nproc)
make check
make install
Please adjust the install paths for iverilog.
## Steps to compile Yosys
### Necessary software to install
apt-get install -t buster_backports cmake
apt-get install python3 clang libreadline-dev gawk tcl-dev \
libffi-dev pkg-config libboost-system-dev libboost-python-dev \
libboost-filesystem-dev zlib1g-dev
### Build Yosys
cd yosys
ln -s ../abc .
make -j $(nproc) PREFIX=/usr/local/symbiflow
make PREFIX=/usr/local/symbiflow install
""Please adjust the install paths for Yosys.""
## Steps to compile vtr-verilog-to-routing
### Necessary software to install
# Only if want GUI place and route
#apt-get install libcairo2-dev libfontconfig1-dev libx11-dev libxft-dev \
#libgtk-3-dev
### Build vtr-verilog-to-routing
cd vtr-verilog-to-routing
mkdir build; cd build
cmake -DBUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/symbiflow ..
make -j $(nproc)
make install
""Please adjust the install paths for vtr-verilog-to-routing.""
## Steps to compile libxml2
* Newer version is needed which fixes a integer overflow error and is not
provided by Buster.
### Necessary software to install
apt-get install python3-dev
### Build libxml2
tar -xf libxml2-2.9.12.tar.gz
libxml2-2.9.12
./configure --prefix=/usr/local/symbiflow --with-history --with-python=/usr/bin/python3
make -j $(nproc)
make install
""Please adjust the install paths for vtr-verilog-to-routing.""
## Steps to compile prjxray
### Necessary software to install
### Build prjxray
cd prjxray
git submodule update --init --recursive
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/symbiflow ..
make
make install
## Steps to compile yosys-symbiflow-plugins
### Necessary software to install
### Build yosys-symbiflow-plugins
cd yosys-symbiflow-plugins/
sed -i -e 's@include third_party/make-env/conda.mk@#include third_party/make-env/conda.mk@' Makefile
make
make install
## Steps to compile Icestorm
### Necessary software to install
apt-get install libftdi-dev
### Build Icestorm
cd icestorm
make -j $(nproc) PREFIX=/usr/local/symbiflow
make install
## Steps to compile prjxray-db
### Install prjxray-db
tar --strip-components=2 -xf prjxray-db-0.0_248_g2e51ad3-20210312_125539.tar.bz2 share/symbiflow/prjxray-db
#!!ATTENTION!!
cat > /usr/local/symbiflow/bin/prjxray-config <