4.4. DRC¶
Hammer has an action for running design rules check (DRC) on a post-place-and-route GDS.
This action requires a tool plugin to implement HammerDRCTool
.
4.4.1. DRC Setup Keys¶
Namespace:
vlsi.core
drc_tool_path
- Set to the directory containing the tool plugin directory for the DRC tool, typically
/path/to/tool_plugin/drc
. This will be the parent directory of the directory containing__init__.py
anddefaults.yml
.
- Set to the directory containing the tool plugin directory for the DRC tool, typically
drc_tool
- Actual name of the DRC tool that is setup in the directory,
drc_tool_path
, e.g.calibre
- Actual name of the DRC tool that is setup in the directory,
4.4.2. DRC Input Keys¶
Namespace:
drc
inputs.top_module
(str)- Name of top RTL module to run DRC on. Auto-populated after par-to-drc.
inputs.layout_file
(str)- GDSII file from place-and-route. Auto-populated after par-to-drc.
inputs.additional_drc_text_mode
(str)- Chooses what custom DRC commands to add to the run file.
auto
selects the one provided in the Hammer Tech JSON.
- Chooses what custom DRC commands to add to the run file.
inputs.drc_rules_to_run
([str])- This selects a subset of the rules given in the technology’s Design Rule Manual (DRM). The format of these rules will be technology- and tool-specific.
submit
(dict)- Can override global settings for submitting jobs to a workload management platform.
4.4.3. DRC Inputs¶
There are no other prerequisites to running DRC other than setting the keys described above.
4.4.4. DRC Outputs¶
- DRC results report and database in
{OBJ_DIR}/drc-rundir
- A run file:
{OBJ_DIR}/drc-rundir/drc_run_file
- A script to interactively view the DRC results:
{OBJ_DIR}/drc-rundir/generated_scripts/view_drc
4.4.5. DRC Commands¶
DRC Command (after par-to-drc is run)
hammer-vlsi -e env.yml -p {OBJ_DIR}/drc-input.json --obj_dir OBJ_DIR drc