DISCLAIMER: The following sections are to give you an understanding of what happens under the hood in the Makefile.
export PDK_ROOT=<absolute path to where skywater-pdk and open_pdks will reside>
cd $PDK_ROOT
git clone https://github.com/google/skywater-pdk.git
cd skywater-pdk
git checkout 00bdbcf4a3aa922cc1f4a0d0cd8b80dbd73149d3
git submodule update --init libraries/sky130_fd_sc_hd/latest
git submodule update --init libraries/sky130_fd_sc_hvl/latest
git submodule update --init libraries/sky130_fd_io/latest
make timing
Setup the configurations and tech files for Magic, Netgen, OpenLane using open_pdks:
cd $PDK_ROOT
git clone git://opencircuitdesign.com/open_pdks
cd open_pdks
git checkout d8c159536699c9b4a08b650bddf791a9d48152f9
./configure --enable-sky130-pdk=$PDK_ROOT/skywater-pdk/libraries --with-sky130-local-path=$PDK_ROOT --enable-sram-sky130=disabled
cd sky130
make
make install-local
Note: You can use different directories for sky130-source and local-path. However, in the instructions we are using $PDK_ROOT to facilitate the installation process
WARNING: Please, don’t move sky130A
from the installed directory because the generated .mag files contain absolute paths. Moving it will result in producing an invalid GDS.
set STD_CELL_LIBRARY to one of the following:
- sky130_fd_sc_hs
- sky130_fd_sc_ms
- sky130_fd_sc_ls
- sky130_fd_sc_hdll
Refer to this for more details on the structure.