Add pages for Icarus Verilog setup and use.
authorR Veera Kumar <vklr@vkten.in>
Mon, 24 May 2021 08:42:39 +0000 (14:12 +0530)
committerR Veera Kumar <vklr@vkten.in>
Mon, 24 May 2021 08:42:39 +0000 (14:12 +0530)
HDL_workflow.mdwn
HDL_workflow/iverilog.mdwn [new file with mode: 0644]

index d3b2a5b7294808aad30ced50ba39fd52e760660b..17ff8af2e971e20d0b8a4161c605877993efdd07 100644 (file)
@@ -558,6 +558,12 @@ GHDL aims at implementing VHDL as defined by IEEE 1076. It supports the 1987, 19
 
 See [[HDL_workflow/ghdl]] page for installation instructions.
 
+## Icarus Verilog
+
+Icarus Verilog is a Verilog simulation and synthesis tool. It operates as a compiler, compiling source code written in Verilog (IEEE-1364) into some target format.
+
+See [[HDL_workflow/iverilog]] page for installation instructions.
+
 # Registering for git repository access
 
 After going through the onboarding process and having agreed to take
diff --git a/HDL_workflow/iverilog.mdwn b/HDL_workflow/iverilog.mdwn
new file mode 100644 (file)
index 0000000..845cffb
--- /dev/null
@@ -0,0 +1,40 @@
+# Installation instructions for Icarus Verilog
+
+## Setting up new debootstrap and chroot into it
+
+Run the following if you wish to isolate the iverilog build
+from other software (reproducible builds) or use the schroot
+auto-preparation script here:
+<https://git.libre-soc.org/?p=dev-env-setup.git;a=blob;f=mk-deb-chroot;hb=HEAD>
+
+    export MY_CHROOT=/opt/chroot/iverilog
+    mkdir $MY_CHROOT
+    debootstrap stable $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
+
+The dev-env-setup chroot script is a little more sophisticated
+than the above
+
+## Steps to compile Icarus Verilog
+
+### Necessary software to install
+
+    apt-get install git autoconf make g++ bison flex gperf libreadline6-dev
+
+### Build Icarus Verilog
+
+    git clone https://github.com/steveicarus/iverilog.git
+
+    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.
+