Install open_pdks and the skywater sky130 PDK

open_pdks aims to create the setups necessary to use open-source PDKs with open-source EDA tools (xschem, ngspice, magic, klayout, netgen, etc.)

open_pdks supports the Google/Skywater SKY130 open process

NOTE: for open_pdks to install the files required by the Magic, Magic must be installed !

Use opendesign to automatically pull the sky130 PDK from google and then organize the structure of the CAD tools

git clone https://github.com/RTimothyEdwards/open_pdks.git git_open_pdks
cd ~/git_open_pdks
./configure --enable-sky130-pdk --with-sky130-variants=all --prefix=/home/<unixusername>
make
make install

The PDK gets installed at the location ~/share/pdk

NOTE: the skywater PDK is a very large repository, so building it can take quite a long time.

The libraries in the SKY130 PDK are named using the following scheme:

<Process name>_<Library Source>_<Library Type>

  • process name:
    sky130 = skywater 130nm processs

  • library source:
    fd = skywater foundry

  • library type:
    sc = digital standard cells
    io = input/output and periphery cells
    pr = basic primitives
    hd = high density
    hvl = high voltage
    hdll = high density low leakage
    hs = high speed
    ms = medium speed
    ls = low speed
    lp = low power

Alternative approach to install the PDK

1. Download the latest PDK's files directly from google

cd ~
git clone https://github.com/google/skywater-pdk-git
cd ~/skywater-pdk
SUBMODULE_VERSION=latest make submodules -j3 || make submodules -j1
make timing

2. Use opendesign to organize the structure of the CAD tools

git clone https://github.com/RTimothyEdwards/open_pdks.git git_open_pdks
cd ~/git_open_pdks
./configure --enable-sky130-pdk=/home/<unixusername>/skywater-pdk \
--with-sky130-variants=all --prefix=/home/<unixusername>
make
make install

One more option to install the PDK

Install and use the PDK managing tool volare

pip install volare

Define the following environment variable

export PDK_ROOT="/home/<your user name>/<desired PDK directory>"

Example:

export PDK_ROOT="/home/talarico/share/pdks"

List remote the PDK you want to install (e.g. sky130 or gf180mcu) as follows:

volare ls-remote --pdk sky130

Select one release for installation.

volare enable --pdk sky130 cd1748bb197f9b7af62a54507de6624e30363943

To explore more options use:

volare enable --help

Link the skywater PDK with magic VLSI

sudo ln -s $PDK_ROOT/sky130A/libs.tech/magic/* $CAD_ROOT/magic/sys/