# 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 <