Appendix 1: Quick Default Installation (Ubuntu and Debian Linux)

This is a summary of the installation of the set of tools outlined above that should work in most cases. This procedure will put all of the tool repository sources into a directory under the user's home directory called gits. Everything in the instructions is executed by commands on the Linux command line in a terminal. Comment lines start with echo so that they can be cut and pasted into the terminal without causing errors.
cd ~
echo Create common directory for tool sources
mkdir -p gits
cd ~/gits

echo Install prerequisite packages (assumes Ubuntu-like OS)
sudo apt install python3 build-essential gcc
sudo apt install m4 tcsh csh libx11-dev tcl-dev tk-dev libcairo2-dev
sudo apt install mesa-common-dev libglu1-mesa-dev

echo Get the Magic VLSI layout editor
git clone https://github.com/RTimothyEdwards/magic
cd magic
./configure --enable-cairo-offscreen
make
sudo make install
make clean
cd ~/gits

echo Get the open_pdks installer and build Sky130 and GF180MCU
git clone https://github.com/RTimothyEdwards/open_pdks
cd open_pdks
./configure --enable-sky130-pdk --enable-sram-sky130
make
sudo make install
make veryclean
./configure --enable-gf180mcu-pdk --enable-osu-sc-gf180mcu
make
sudo make install
make veryclean
make distclean
cd ~/gits

echo Get the netgen LVS tool
git clone https://github.com/RTimothyEdwards/netgen
cd netgen
./configure
make
sudo make install
make clean
cd ~/gits

echo Get the xschem schematic editor
git clone https://github.com/stefanschippers/xschem.git
cd xschem
./configure
make
sudo make install
make clean
cd ~/gits

echo Get the ngspice circuit simulator
git clone git://git.code.sf.net/p/ngspice/ngspice
cd ngspice
./autogen.sh
mkdir release
cd release
../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp --enable-klu --enable-osdi
make 2>&1 | tee make.log
sudo make install
cd ~gits

echo Get the KLayout layout editor
sudo apt install qtcreator qtbase5-dev qt5-qmake
sudo apt install qtmultimedia5-dev libqt5xmlpatterns5-dev
sudo apt install libqt5svg5-dev qttools5-dev-tools qttools5-dev
sudo apt install python3-dev
git clone https://github.com/KLayout/klayout
./build.sh

echo Put Klayout in a normal system executable path
sudo mv bin-release /usr/local/share/klayout
sudo ln -s /usr/local/share/klayout/klayout /usr/local/bin/klayout
sudo cat > /etc/ld.so.conf.d/klayout-x86_64.conf << EOF
/usr/local/share/klayout
EOF
sudo ldconfig

email:

Last updated: March 17, 2024 at 1:39pm