6.1. Introduction with Sky130 and OpenROAD
The following directions will get a simple
pass design from RTL to GDS using the OpenROAD tools and the Skywater 130nm PDK. These directions are meant to provide the minimal set of steps to do so, please reference the next section, Hammer End-to-End Integration Tests, for more detailed descriptions of all files and commands.
First, follow the Hammer Developer Setup to clone Hammer and install/activate the poetry virtual environment.
Next, run the setup script to install the OpenROAD tools using Conda, and Skywater 130nm PDK using the Open-PDKs tool.
This step will take a long time due to the amount and size of the required installs.
You should supply a
PREFIX path to a directory that will serve as the root of all PDK files and supporting tools (total size of all files is ~42GB),
otherwise the script will default to installing to your home directory (
cd hammer/e2e ./scripts/setup-sky130-openroad.sh [PREFIX]
You should now have a file
configs-env/my-env.yml containing all required tool and technology paths for this tutorial.
To point to your custom environment setup, set the Make variable
Additionally, we set the
tools Make variables to the appropriate RTL design, PDK, and tools flow, respecively.
Now simply run the VLSI flow:
make design=pass pdk=sky130 tools=or env=my build make design=pass pdk=sky130 tools=or env=my syn make design=pass pdk=sky130 tools=or env=my par make design=pass pdk=sky130 tools=or env=my drc make design=pass pdk=sky130 tools=or env=my lvs
After Place-and-Route completes, the final database can be opened in an interactive OpenROAD session. Hammer generates a convenient script to launch these sessions:
cd ./build-sky130-or/pass/par-rundir ./generated-scripts/open_chip
After DRC and LVS complete, the final results may be viewed with the following scripts:
# View DRC results: cd ./build-sky130-or/pass/drc-rundir ./generated-scripts/view_drc # View LVS results: cd ./build-sky130-or/pass/lvs-rundir ./generated-scripts/open_chip
Congrats, you’ve just run your
pass design from RTL to GDS with Hammer!
6.1.2. Next Steps
At this point, you should go through the Hammer End-to-End Integration Tests documentation to learn how to configure Hammer further. We’ve also outlined some common next steps below.
188.8.131.52. Commercial flow
This flow may be run with commercial tools by setting the Make variable
tools=cm, which selects the tool plugins via
You will need to create a custom environment YAML file with your environment configuration, in
As a minimum, you must specify YAML keys below for the CAD tool licenses and versions/paths of the tools you are using,
see examples in
# Commercial tool licenses/paths mentor.mentor_home: "" # Base path to where Mentor tools are installed mentor.MGLS_LICENSE_FILE: "" # Mentor license server/file cadence.cadence_home: "" # Base path to where Cadence tools are installed cadence.CDS_LIC_FILE: "" # Cadence license server/file synopsys.synopsys_home: "" # Base path to where Synopsys tools are installed synopsys.SNPSLMD_LICENSE_FILE: "" # Synopsys license server/files synopsys.MGLS_LICENSE_FILE: "" # Commercial tool versions/paths sim.vcs.version: "" synthesis.genus.version: "" # NOTE: for genus/innovus/joules, must specify binary path if version < 221 par.innovus.version: "" power.joules.joules_bin: ""
Now re-run a similar flow as before, but pointing to your environment and the commercial tool plugins:
make design=pass pdk=sky130 tools=cm env=<my_custom> build
Running DRC/LVS with commercial tools requires access to an NDA-version of the Skywater PDK. We support running DRC/LVS with either Cadence Pegasus or Siemens Calibre. See the Sky130 documentation for how to point to the NDA PDKs and run DRC/LVS with their respective tools.
184.108.40.206. Chipyard flow
Follow these directions in the Chipyard docs to build your own Chisel SoC design with OpenROAD and Sky130.