export TT_CONFIG=ihp-sg13g2.yaml
export PDK=ihp-sg13g2
export PDK_ROOT=`pwd`/IHP-Open-PDK
export OPENLANE2_ROOT=`pwd`/openlane2
Make sure to setup Nix for openlane2, as explained here.
First, make sure that you have checked out the submodules:
git submodule update --init
Then install all the Python dependencies. You may want to use a virtual enviroment (venv or similar).
pip install -r tt-multiplexer/py/requirements.txt -r tt/requirements.txt
Run the following commands to generate the configuration for building Tiny Tapeout:
python tt/configure.py --update-shuttle
nix-shell ${OPENLANE2_ROOT}/shell.nix --run "cd tt/rom && python build.ihp-sg13g2.py"
nix-shell ${OPENLANE2_ROOT}/shell.nix --run "cd tt-multiplexer/ol2/tt_ctrl && python build.py"
nix-shell ${OPENLANE2_ROOT}/shell.nix --run "cd tt-multiplexer/ol2/tt_mux && python build.py"
python tt/configure.py --copy-macros
nix-shell ${OPENLANE2_ROOT}/shell.nix --run "cd tt-multiplexer/ol2/tt_top && python build.py"
You'll find the final GDS in tt-multiplexer/ol2/tt_top/runs/RUN_*/final/gds/openframe_project_wrapper.gds
. To copy it (along with the lef, gl verilog, and spef files), run:
python tt/configure.py --copy-final-results