This stage covers detailed routing: the route readiness and mode record, the route run and its log, DRC and connectivity verification, repairing marked violations, process antenna checking, via counts, special-net integrity, and timing after extraction of the routed design.
Sanity check cheat sheet
One row per command card. Read left to right: the check, the command that answers it, then what a healthy result, a result to review and a hard stop look like.
| Card | Check and when | Command | Healthy | Review | Hard stop |
|---|---|---|---|---|---|
| D-01 | Route readiness and mode record Before routing |
check_design -type route -out_file <f>check_tracksgetDesignMode -bottomRoutingLayer -topRoutingLayer |
check_design reports no errors, tracks are clean, and the non-default route settings equal the methodology list. | Congestion findings that have been reviewed, or a non-default setting nobody can explain. | check_design errors, unplaced instances, overlapping cells or faulty tracks. Routing on top of these multiplies violations. |
| D-02 | Route run and log summary After routeDesign |
setNanoRouteMode -route_detail_end_iteration <n>routeDesign |
Violation counts fall at each pass to zero, and there is no open-net warning. | A few markers remain in a known location, such as a macro boundary, with a written plan. | Any open net, or a violation count that stops falling. The reference suggests checking congestion above 1,000 violations. |
| D-03 | Route statistics After routing |
report_route -summaryreportRoute |
Net and instance counts match the previous route and the nets expected to be routed, and layer totals fall in the range the project expects. | Wire length or via count that differs noticeably from the last route of the same design. | The net count differs from the expected count, or a layer outside the allowed routing range carries wire. |
| D-04 | DRC verification After routing and after every repair |
verify_drc -limit 0 -report <f>get_verify_drc_mode |
Zero violations with the limit removed, under recorded verify_drc settings. | Remaining violations of one type in one place, each with an owner and a waiver. | Any short. A count equal to the limit is NOT EVALUATED, because the list is cut off and the true count is unknown. |
| D-05 | Repair marked violations by ECO route After D-04 finds violations |
ecoRoute -fix_drcverify_drc -limit 0 -report <f> |
The count falls to zero after the repair, confirmed by the D-04 recheck. | The count falls but not to zero, and the rest sit in congested areas. | The repair reverts, errors out because of open nets, or the recheck shows a new violation type. |
| D-06 | Regular-net connectivity After routing and after every repair |
verifyConnectivity -type regular -report <f> |
Zero violations of every type, and the count is below your error limit. | Dangling wires that affect no connection, reviewed and either removed or waived. | Any open or unconnected pin on a signal net. The net is not electrically complete. |
| D-07 | Process antenna After routing, before filler and finishing |
verify_antenna -report <f>verify_antenna -detailed -report <f> |
No violations, and the library supplied antenna data so that the check had something to test. | Violations only on nets the router can still repair with diodes and layer changes. | Violations remain after the repair pass, or no antenna data exists, so an empty report proves nothing. |
| D-08 | Via counts and redundant via status After routing |
report_via -regularreport_route -multi_cut |
The multi-cut share on each layer meets the project budget, and the total via count is close to the last route. | A multi-cut share below budget on upper layers only, with a plan for post-route via optimisation. | A layer that must be redundant is mostly single-cut, or the via count jumps with no design change. |
| D-09 | Special-net integrity after routing After routing |
verifyConnectivity -net {VDD VSS} -type special -report <f>verify_drc -check_only special -report <f>verifyPowerVia -net {VDD VSS} -report <f> |
No opens, no special-route violations and no missing power vias, matching the result recorded after power planning. | Violations only at blocks that the power plan lists as exceptions, each with an owner. | An open on a power net, a missing via at a power crossing, or a short between signal and special routing. |
| D-10 | Timing after route and parasitic status After routing and the checks above |
getExtractRCMode -engine -effortLeveltimeDesign -postRoute -expandedViews -outDir <dir>timeDesign -postRoute -hold -expandedViews -outDir <dir> |
The log shows detailed extraction with the effort level recorded, every active view is reported, and the numbers are stored as the baseline. | Violations that Chapter 12 is expected to repair, with the extraction mode recorded. | The log shows no detailed extraction, or a required view is missing. Those numbers are NOT EVALUATED for the routed design. |
Command cheat sheet
Legacy UI commands. Angle brackets are placeholders, and values shown are examples, not project limits.
| Route readiness and mode record | |
|---|---|
check_design -type route -out_file <f> | The pre-route prerequisite checks, written to a file: unplaced instances, track rules, overlaps, pin spacing, congestion and others. Errors stop the flow. It runs verify_drc internally, so markers appear. |
check_tracks | A log report of track problems: offset, direction, spacing, and pins that are off track or under a power stripe. |
getDesignMode -bottomRoutingLayer -topRoutingLayer | The routing layer range for global and detail routing. It is a design mode setting, so getNanoRouteMode does not show it. |
getNanoRouteMode -nonDefault | Only the NanoRoute parameters whose value is not the default. This is the route-mode record for the run manifest. |
getNanoRouteMode -route_with_timing_driven -route_with_si_driven | The current value, type and default of the timing-driven and SI-driven switches. Both default to false, although routeDesign turns them on for its own run. |
setNanoRouteMode -route_with_timing_driven true | Changes the session. Makes routing timing driven. routeDesign already does this by default. |
setNanoRouteMode -route_with_si_driven true | Changes the session. Adds SI-driven routing on top of timing-driven routing. |
setNanoRouteMode -route_detail_fix_antenna true | Changes the session. Lets the router repair process antenna violations by layer hopping or diodes. The default auto fixes only data nets, and the end iteration must be at its default. |
setNanoRouteMode -route_antenna_diode_insertion true | Changes the session. Lets the router insert antenna diode cells, named with -route_antenna_cell_name. Run globalNetConnect afterwards. |
setNanoRouteMode -route_detail_use_multi_cut_via_effort medium | Changes the session. Raises the effort for double-cut vias during routing, at some cost in run time. |
| Route runs | |
routeDesign | Changes the database. Global and detailed routing in one command, with timing-driven and SI-driven routing by default. |
globalRoute | Changes the database. Global routing only: assigns nets to global routing cells and prints the congestion table in the log. |
detailRoute | Changes the database. Detailed routing on the globally routed design, including search and repair. |
detailRoute -select | Changes the database. Detailed routing on the selected nets only. |
setNanoRouteMode -route_detail_end_iteration <n> | Changes the session. Stops detailed routing at pass n, which allows the staged strategy of initial route then search and repair. |
setNanoRouteMode -reset -route_detail_end_iteration | Changes the session. Returns the end iteration to its default so that post-route optimisation runs. |
routeDesign -viaOpt | Changes the database. Post-route via optimisation, which may create violations and then runs search and repair. |
routeDesign -wireOpt | Changes the database. Post-route wire widening, shrinking and spreading, controlled by the post-route wire settings. |
setNanoRouteMode -route_with_eco true | Changes the session. Makes routeDesign work in ECO mode, completing partial routes and keeping existing wires. |
| Route statistics | |
report_route -summary | Summary tables: object counts, nets by pin count, wire length per layer, via count per cut layer, net length statistics. |
reportRoute | Routing statistics for signal nets, with total wire length and via count for each layer in the last paragraph. |
reportRoute -clock | The same statistics for clock nets. |
report_route -track_utilization -layer <layer range> | Share of tracks blocked by power mesh, blockages and cells, per layer. Add -include_regular_routes to count tracks blocked by signal wiring as well. |
reportWire -summary | A wire statistics report limited to its summary table. The report file is named after the top cell unless a file name is given. |
| DRC verification | |
get_verify_drc_mode | The current verify_drc settings. They are saved in the design and used by every verify_drc run. |
verify_drc -limit 0 -report <f> | Writes a report and creates markers. A limit of 0 removes the cap, which is 1000 by default. |
verify_drc -check_only regular -report <f> | Only violations that involve regular routing, which finds what the router itself caused. |
verify_drc -check_only special -report <f> | Only violations that involve special routes such as power stripes and rails. |
verify_drc -check_short_only -report <f> | Only metal shorts, with all other DRC categories skipped. |
verify_drc -area {<llx> <lly> <urx> <ury>} -report <f> | A check restricted to one region, used to confirm a local fix quickly. |
saveDrc <f> | Writes a file. Saves the current DRC markers to a file without saving the whole design. |
clearDrc | Changes the database. Removes all DRC markers. Do not use it before ecoRoute, which works from the existing markers. |
| Repair | |
ecoRoute -fix_drc | Changes the database. Repairs the DRC violations that already have markers, and reverts if the count would increase. |
ecoRoute -fix_drc -layer_range <bottom>:<top> | Changes the database. The same repair limited to a layer range. |
ecoRoute -fix_drc -include_antenna | Changes the database. Repairs marked violations and fixes antenna issues in the same pass. |
editDelete -nets <net> -regular_wire_with_drc | Changes the database. Deletes the regular wires of one net that carry DRC violations, so that they can be routed again. The option works only with a net or status filter. |
| Connectivity and antenna | |
verifyConnectivity -type regular -report <f> | Opens, dangling wires, unconnected pins and loops on regular routing, with markers and a report file. |
verifyConnectivity -type all -report <f> | The same check on regular and special wires. |
verifyConnectivity -net <net> -report <f> | The connectivity check for one named net. |
verify_antenna -report <f> | Process antenna effect and, by default, maximum floating area violations, with markers and a report file. |
verify_antenna -detailed -report <f> | The antenna values for every layer of every net, including nets without a violation. |
verify_antenna -use signal -report <f> | The antenna check on signal nets only. |
globalNetConnect <net> -type pgpin -pin <pin> -all | Changes the database. Creates power connections, needed for antenna diodes that the router added. |
| Vias | |
report_via -regular | Single-cut and multi-cut counts and percentages for each cut layer of regular routing. |
report_via -special | The same table for special routing vias. |
report_via -detail | A per-via-definition listing with single-cut and total counts. |
report_route -multi_cut | The single-cut and multi-cut table for each layer from the route report. |
| Special-net integrity | |
verifyConnectivity -net {VDD VSS} -type special -report <f> | Opens and unconnected pins on the power nets, checking whole special wires and vias. |
verifyPowerVia -net {VDD VSS} -report <f> | Missing vias where orthogonal power routes on adjacent layers cross, with markers and a report. |
verifyPowerVia -stackedVia -net {VDD VSS} -report <f> | Adds the check for stacked vias between non-adjacent routing layers. |
| Timing after routing | |
getExtractRCMode -engine -effortLevel | The extraction engine and the post-route effort level that timing will use. |
setExtractRCMode -engine postRoute -effortLevel medium | Changes the session. Selects detailed extraction at the medium effort level (TQuantus), which needs a Quantus technology file. Record the choice with the reports. |
extractRC | Runs extraction with the current mode and stores the result in the RC database. |
timeDesign -postRoute -expandedViews -outDir <dir> | Runs native detailed extraction by default and setup timing analysis, with one report directory per active view. |
timeDesign -postRoute -hold -expandedViews -outDir <dir> | Runs the same flow for hold only. |
timeDesign -postRoute -reportOnly -outDir <dir> | Rewrites the reports from the extraction and timing data already in memory, without extracting again. |