Cadence Innovus (Legacy UI) · stage 12 of 16

Post-route optimisation qualification

Sanity checks and commands for post-route setup and hold optimisation, DRC and SI results, physical integrity, and area and power recovery.

6 min read · Free, no login

Get Innovus + ICC2 Cheat Sheets at ₹199

This stage covers post-route optimisation: confirming the modes in force at entry, baseline timing, running post-route setup and hold optimisation, checking DRC and SI results, verifying physical integrity before and after ECO route, and tracking area and power recovery.

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
O-01 Modes in force at entry
Before optimisation
getExtractRCMode -engine -effortLevel -coupled
getDelayCalMode -SIAware
getAnalysisMode -analysisType -cppr
Engine and effort level are as the methodology says, on-chip variation and coupling on, and non-default settings equal to the methodology list. A non-default optimisation setting that nobody can explain. The analysis type is not on-chip variation, coupling is off, or a script sets SI-aware false with no recorded reason.
O-02 Analysis view coverage
Before optimisation
report_analysis_views -type active
all_setup_analysis_views
all_hold_analysis_views
report_analysis_coverage -view <v>
The active lists equal the methodology, and no view reports untested checks that the project expects to be tested. A defined but inactive view that the methodology marks as optional, listed as not evaluated. A required view is inactive, or a view has untested checks that nobody can explain.
O-03 Baseline timing with detailed extraction
Before optimisation
timeDesign -postRoute -expandedViews -outDir <dir>
timeDesign -postRoute -hold -expandedViews -outDir <dir>
Every required view appears in the per-view reports, and the numbers equal the Chapter 11 baseline if nothing changed since. The numbers differ from the Chapter 11 baseline with no recorded reason, for example a changed extraction mode. A required view is missing, which leaves it NOT EVALUATED, or the log shows no detailed extraction.
O-04 Post-route optimisation run
After the baseline
optDesign -postRoute -expandedViews -outDir <dir> -prefix <p>
optDesign -postRoute -drv
optDesign -postRoute -incr
Setup and DRV violations fall to zero or to the project budget in every active view, and the summary lists every view. Violations fall but remain in one view, with a recorded plan for -incr or for a waiver. WNS or TNS gets worse, a required view is missing from the summary, or ECO routing was prohibited and the route was not repaired another way.
O-05 Hold fixing after routing
After setup is repaired
optDesign -postRoute -hold -holdVioData <name>
optDesign -postRoute -setup -hold
optDesign -postRoute -hold
Hold violations are zero in every hold view, and setup WNS and TNS are within what the project allows. A few hold violations remain with a reason in the log, such as no room for a delay cell. Setup WNS or TNS degrades beyond what the project allows, or hold violations remain on paths the project requires clean.
O-06 Timing after optimisation, per view
After optimisation
timeDesign -postRoute -expandedViews -outDir <dir>
timeDesign -postRoute -hold -expandedViews -outDir <dir>
Every view is equal or better than the baseline, the endpoint totals match, and the remaining violations are within the project budget. One view improved while another got worse, for example hold repair that cost setup. A view has more violating endpoints than in the baseline, or the endpoint totals differ between the two runs.
O-07 DRV and SI results
After optimisation
reportTranViolation -outfile <f>
report_constraint -all_violators -drv_violation_type {max_transition max_capacitance max_fanout} -view <v>
timeDesign -postRoute -drvReports -outDir <dir>
Zero DRV violations in every active view, and the glitch report lists no failures. Fanout or SI slew violations outside the optimisation scope, or glitch fixing run with the glitch report disabled, listed and owned. Max_cap or max_tran violations remain after the run.
O-08 Physical integrity before and after ECO route
Before and after optimisation
checkPlace <report_file>
verify_drc -limit 0 -report <f>
verifyConnectivity -type regular -report <f>
Zero placement, DRC and connectivity violations, and wire length and via count move by an amount that you expect. A few new spacing violations that ECO repair can fix, with a recheck planned. Any new open, short or antenna violation, or placement violations that make the optimised cells illegal.
O-09 Area and power cost, and power recovery
After optimisation
report_area -out_file <f>
report_power -outfile <f>
optPower -postRoute
Area and power are within the project budget, and optPower, if used, left timing and DRC checks clean. Area growth that the budget allows but that is large compared with the last project. Area or power above the budget, or a power run that degraded timing or created violations.

Command cheat sheet

Legacy UI commands. Angle brackets are placeholders, and values shown are examples, not project limits.

Modes in force at entry
getExtractRCMode -engine -effortLevel -coupledThe extraction engine, the post-route effort level and whether coupling capacitance is output. Record them with every timing report.
getDelayCalMode -SIAwareThe SI-aware setting. It reads false by default, and when set false, but timeDesign and optDesign -postRoute turn it on unless you set it false.
getAnalysisMode -analysisType -cpprThe analysis type and the clock path pessimism removal setting.
getOptMode -nonDefaultOnly the optimisation settings that are not default. This is the optimisation record for the run manifest.
setExtractRCMode -engine postRoute -effortLevel mediumChanges the session. Selects detailed extraction at medium effort (TQuantus, needs a Quantus technology file). Set it before the baseline run and keep it.
setAnalysisMode -analysisType onChipVariation -cppr bothChanges the session. The reference recommends on-chip variation with clock path pessimism removal for post-route optimisation.
View coverage
report_analysis_views -type activeA hierarchical report of the active views with their modes and corners.
all_setup_analysis_viewsA Tcl list of the active setup views.
all_hold_analysis_viewsA Tcl list of the active hold views.
report_analysis_coverage -view <v>Met, violated and untested check counts for one view. Run it per view.
Timing reports
timeDesign -postRoute -outDir <dir>Native detailed extraction by default and setup timing analysis, with reports written to the directory. No Early Global Route runs in this mode.
timeDesign -postRoute -hold -outDir <dir>The same for hold only.
timeDesign -postRoute -expandedViews -outDir <dir>Adds one report directory per active view, restoring views that auto view pruning removed.
timeDesign -postRoute -drvReports -outDir <dir>Design rule violation reports only, without the path reports.
Optimisation runs
optDesign -postRouteChanges the database. Post-route optimisation of design rule violations, glitch and setup violations, on base and SI delay by default.
optDesign -postRoute -holdChanges the database. Repairs hold violations after routing and writes a hold summary file.
optDesign -postRoute -setup -holdChanges the database. Setup and hold in one command, which can reduce the number of ECO routing passes.
optDesign -postRoute -drvChanges the database. Corrects maximum capacitance and maximum transition violations only, leaving setup and hold alone.
optDesign -postRoute -incrChanges the database. Incremental setup optimisation on the paths that still violate. In post-route mode it covers only high-effort path groups and switches power optimisation off.
optDesign -postRoute -noEcoRouteChanges the database. Prohibits the ECO routing that post-route optimisation normally performs. Use it only if you route the changes another way.
optDesign -postRoute -expandedViews -outDir <dir> -prefix <p>Changes the database. Writes per-view reports for all active views into the chosen directory with the chosen prefix.
Settings that steer optimisation
setOptMode -opt_fix_fanout_load trueChanges the session. Lets optimisation correct fanout load violations, which post-route mode does not fix by default. Set it from the first optDesign -preCTS call.
setOptMode -opt_post_route_fix_si_transitions trueChanges the session. Lets post-route optimisation fix SI slew violations, which it does not fix by default.
setOptMode -opt_hold_allow_setup_tns_degradation falseChanges the session. Stops hold repair from degrading setup total negative slack. The default is true, which allows the degradation.
setOptMode -opt_verbose trueChanges the session. Writes more optimisation detail to the log, including reasons for hold violations left unfixed.
DRV and SI results
reportTranViolation -outfile <f>Pins and ports that exceed the transition constraints, written to a file. Run it after timeDesign or optDesign.
report_constraint -all_violators -drv_violation_type {max_transition max_capacitance max_fanout} -view <v>Every violating pin for the three design rule types in one view.
setSIMode -enable_glitch_report trueChanges the session. Stores glitch data for report_noise and SI glitch fixing, which warns when it is off.
Physical integrity after optimisation
checkPlace <report_file>Placement violations of fixed and placed cells, with markers and a report file.
verify_drc -limit 0 -report <f>Geometry violations without the 1000 cap, with markers and a report file.
verifyConnectivity -type regular -report <f>Opens, dangling wires, unconnected pins and loops on regular routing.
verify_antenna -report <f>Process antenna and maximum floating area violations on the routed design.
report_route -summaryWire length per layer and via count per cut layer, to compare with the pre-optimisation route.
Area and power
report_area -out_file <f>The standard cell area per hierarchy module and for the top level, written to a file.
report_power -outfile <f>The power report, written to a file. Take it before and after with the same settings.
Power recovery, only if the project uses it
optPower -postRouteChanges the database. Swaps gates for lower-power ones or deletes buffers without degrading timing. Leakage only unless the ratio is changed.
optPower -postRoute -allowResizingChanges the database. Allows resizing for power. The command itself runs placement refinement, ECO routing and recovery, takes longer, and can still degrade timing.
setOptMode -opt_leakage_to_dynamic_ratio <r>Changes the session. A value from 0 to 1 that sets the priority between dynamic power (0) and leakage power (1).