2. Installation

2.1. Requirements

Since is developed on Ubuntu Linux LTS version it is recommended to use it. To get the PDK one will need a git client. Also in order to compile the Verilog-A models for ngspice simulator openvaf tool will be necessary. In a case the user would like to use Xyce simulator the Verilog-A models have to bie compiled using ADMS tool. The list of supported tools is listed here and the tools should be installed by the user following the installation guides provided by the developers. It is recommended to use most up to date tool’s versions.

2.2. Cloning

Unlikely the existing manufacturable PDK’s, namely SKY130 and GF180, our IHP-Open-PDK does not require installation. It delivers ready to use primitives and tool configuration files in order to minimize the configuration effort. In order to get the PDK you should clone it from github using the following command:

cd your_directory
git clone --recursive https://github.com/IHP-GmbH/IHP-Open-PDK.git

Note

--recursive option is needed to populate recursively submodules that are included in our PDK repository.

Tip

The PDK has two branches main and dev. The general rule is that the dev branch is ahead of main and contains the recent changes.

2.3. General configuration

Similarly to the before mentioned PDK’s one of the crucial and mandatory part of the configuration is exporting of some environmental variables (add it to your .bashrc file):

echo "export PDK_ROOT=/home/$USER/your_directory/IHP-Open-PDK" >> ~/.bashrc
echo "export PDK=ihp-sg13g2" >> ~/.bashrc
echo "export KLAYOUT_PATH="/home/$USER/.klayout:$PDK_ROOT/$PDK/libs.tech/klayout"" >> ~/.bashrc
echo "export KLAYOUT_HOME=/home/$USER/.klayout" >> ~/.bashrc
source ~/.bashrc

Note

The configuration set up an own clone of the PDK for a linux user.

2.4. Tool specific configuration

Since the PDK provides support of many tools we provide this configuration at tool specific section like:

  1. XSCHEM installation and configuration.

  2. NGSPICE installation.

  3. Pygmid installation and configuration.