See [[HDL_workflow/verilator]] page for installation instructions.
+## GHDL
+
+GHDL is a shorthand for G Hardware Design Language. It is a VHDL analyzer, compiler, simulator and (experimental) synthesizer that can process (nearly) any VHDL design.
+
+VHDL is an acronym for Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (HDL), which is a programming language used to describe a logic circuit by function, data flow behavior, or structure.
+
+Unlike some other simulators, GHDL is a compiler: it directly translates a VHDL file to machine code, without using an intermediary language such as C or C++. Therefore, the compiled code should be faster and the analysis time should be shorter than with a compiler using an intermediary language.
+
+GHDL aims at implementing VHDL as defined by IEEE 1076. It supports the 1987, 1993 and 2002 revisions and, partially, 2008. PSL is also partially supported.
+
+See [[HDL_workflow/ghdl]] page for installation instructions.
+
# Registering for git repository access
After going through the onboarding process and having agreed to take
--- /dev/null
+# Installation instructions for GHDL
+
+## Setting up new debootstrap and chroot into it
+
+Run the following if you wish to isolate the ghdl 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=/stable-chroot
+ 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
+
+## Steps to compile GHDL
+
+### Necessary software to install
+
+ apt-get install git gnat gcc make g++ file texinfo zlib1g-dev
+
+ git clone https://github.com/ghdl/ghdl.git
+ wget https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz
+ wget https://ftp.gnu.org/gnu/mpc/mpc-1.2.1.tar.gz
+ wget https://www.mpfr.org/mpfr-4.1.0/mpfr-4.1.0.tar.xz
+ wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
+ wget https://ftp.gnu.org/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.xz
+
+### Build GHDL
+
+ tar -xf gcc-10.3.0.tar.xz
+ cd gcc-10.3.0
+ tar -xf ../gmp-6.2.1.tar.xz
+ mv gmp-6.2.1 gmp
+ tar -xf ../mpc-1.2.1.tar.gz
+ mv mpc-1.2.1 mpc
+ tar -xf ../mpfr-4.1.0.tar.xz
+ mv mpfr-4.1.0 mpfr
+ tar -xf ../isl-0.18.tar.bz2
+ mv isl-0.18 isl
+ cd ..
+
+ cd ghdl
+ git checkout v1.0.0
+ mkdir build
+ cd build
+ ../configure --with-gcc=../../gcc-10.3.0 --prefix=/usr/local/ghdl
+ make copy-sources
+ mkdir gcc-objs; cd gcc-objs
+ ../../../gcc-10.3.0/configure --prefix=/usr/local/ghdl \
+ --enable-languages=c,vhdl --disable-bootstrap --disable-lto \
+ --disable-multilib --disable-libssp --disable-libgomp \
+ --disable-libquadmath --enable-default-pie
+ make -j$(nproc)
+ make install
+ cd ..
+ make ghdllib
+ make install
+
+Please adjust the install paths for ghdl.
+