Appendix 2: Quick Default Installation (CentOS and Fedora 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 CentOS-like OS)
sudo yum install python3 build-essential gcc
sudo yum install m4 tcsh csh libX11-devel tcl-devel tk-devel cairo-devel
sudo yum install mesa-libGL-devel mesa-libGLU-devel

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 yum install qt-creator qt-devel
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