Cadence Innovus (Legacy UI) · stage 11 of 16

Detailed-route qualification

Sanity checks and commands for detailed routing readiness, DRC and antenna verification, via counts, special-net integrity, and post-route timing status.

7 min read · Free, no login

Get Innovus + ICC2 Cheat Sheets at ₹199

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.

CardCheck and whenCommandHealthyReviewHard stop
D-01 Route readiness and mode record
Before routing
check_design -type route -out_file <f>
check_tracks
getDesignMode -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 -summary
reportRoute
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_drc
verify_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 -regular
report_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 -effortLevel
timeDesign -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_tracksA log report of track problems: offset, direction, spacing, and pins that are off track or under a power stripe.
getDesignMode -bottomRoutingLayer -topRoutingLayerThe routing layer range for global and detail routing. It is a design mode setting, so getNanoRouteMode does not show it.
getNanoRouteMode -nonDefaultOnly 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_drivenThe 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 trueChanges the session. Makes routing timing driven. routeDesign already does this by default.
setNanoRouteMode -route_with_si_driven trueChanges the session. Adds SI-driven routing on top of timing-driven routing.
setNanoRouteMode -route_detail_fix_antenna trueChanges 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 trueChanges 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 mediumChanges the session. Raises the effort for double-cut vias during routing, at some cost in run time.
Route runs
routeDesignChanges the database. Global and detailed routing in one command, with timing-driven and SI-driven routing by default.
globalRouteChanges the database. Global routing only: assigns nets to global routing cells and prints the congestion table in the log.
detailRouteChanges the database. Detailed routing on the globally routed design, including search and repair.
detailRoute -selectChanges 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_iterationChanges the session. Returns the end iteration to its default so that post-route optimisation runs.
routeDesign -viaOptChanges the database. Post-route via optimisation, which may create violations and then runs search and repair.
routeDesign -wireOptChanges the database. Post-route wire widening, shrinking and spreading, controlled by the post-route wire settings.
setNanoRouteMode -route_with_eco trueChanges the session. Makes routeDesign work in ECO mode, completing partial routes and keeping existing wires.
Route statistics
report_route -summarySummary tables: object counts, nets by pin count, wire length per layer, via count per cut layer, net length statistics.
reportRouteRouting statistics for signal nets, with total wire length and via count for each layer in the last paragraph.
reportRoute -clockThe 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 -summaryA 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_modeThe 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.
clearDrcChanges the database. Removes all DRC markers. Do not use it before ecoRoute, which works from the existing markers.
Repair
ecoRoute -fix_drcChanges 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_antennaChanges the database. Repairs marked violations and fixes antenna issues in the same pass.
editDelete -nets <net> -regular_wire_with_drcChanges 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> -allChanges the database. Creates power connections, needed for antenna diodes that the router added.
Vias
report_via -regularSingle-cut and multi-cut counts and percentages for each cut layer of regular routing.
report_via -specialThe same table for special routing vias.
report_via -detailA per-via-definition listing with single-cut and total counts.
report_route -multi_cutThe 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 -effortLevelThe extraction engine and the post-route effort level that timing will use.
setExtractRCMode -engine postRoute -effortLevel mediumChanges the session. Selects detailed extraction at the medium effort level (TQuantus), which needs a Quantus technology file. Record the choice with the reports.
extractRCRuns 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.