What does set_auto_disable_drc_nets actually let you turn off, and why would you ever want to disable DRC on a net category?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
set_auto_disable_drc_nets controls DRC checking on specific net categories: -none re-enables DRC for all nets, -all disables DRC on all clock/constant/scan-enable/scan-clock nets, and individual flags (-constant, -on_clock_network, -scan) let you target just one category. This exists because some net categories (e.g. constant-tied nets) genuinely don't need the same electrical DRC scrutiny as functional data nets, and checking them anyway wastes analysis effort or produces noise.
Technical Explanation
- set_auto_disable_drc_nets controls DRC checking scope for specific net categories, not a global on/off switch.
- -none re-enables DRC for ALL nets -- the baseline, fully-checked state.
- -all disables DRC on all clock, constant, scan-enable, and scan-clock nets at once.
- Individual flags -constant true|false, -on_clock_network true|false, and -scan true|false let you target just one category rather than all four.
- The reasoning: some net categories (e.g. a constant-tied net) genuinely don't carry the same electrical risk as a functional data net, so checking them with full DRC rigor can be unnecessary noise rather than a real signal.
Common Mistake
The Trap: Disabling DRC broadly with -all as a default habit, rather than scoping the disable to the specific net category (e.g. just -constant) that actually doesn't need checking -- overly broad disabling risks missing a real DRC issue on a category that did need scrutiny.
Follow-up Question & Model Response
"Why might disabling DRC on clock networks specifically be more risky than disabling it on constant nets?"
Candidate Model Response: Because clock networks carry real, high-switching-activity signals where electrical DRC (max transition, max capacitance) genuinely matters for signal integrity and timing -- a constant-tied net, by contrast, never switches at all, so the same electrical risks simply don't apply to it the way they do to an active clock net.
Practical Example
Practical Example: set_auto_disable_drc_nets -on_clock_network true -constant true disables DRC checking on clock networks and constant-tied nets specifically, while leaving scan-related and all other net checking active.
Physical Design & Planning Handbook
Master ASIC Physical Design Planning & Floorplanning
Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.
Continue practising