From dad1de70955469a7a42ad354af4333b3d4fdc740 Mon Sep 17 00:00:00 2001 From: R Veera Kumar Date: Sat, 25 Sep 2021 11:22:42 +0530 Subject: [PATCH] Add instructions for Symbiflow build and test --- HDL_workflow/symbiflow.mdwn | 271 +++++++++++++++++++++++++++++++++++- 1 file changed, 269 insertions(+), 2 deletions(-) diff --git a/HDL_workflow/symbiflow.mdwn b/HDL_workflow/symbiflow.mdwn index 205cac534..006539d6c 100644 --- a/HDL_workflow/symbiflow.mdwn +++ b/HDL_workflow/symbiflow.mdwn @@ -1,5 +1,272 @@ -# Installing symbiflow +# Installation instructions for Symbiflow with Xilinx Artix7 100T Board + +* +* + +WORK IN PROGRESS + +## Bugzilla page * -TODO +## 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 + +## + + 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 + + apt-get install libcairo2-dev libfontconfig1-dev libx11-dev libxft-dev \ + +### 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 <