This stage covers extraction and signoff correlation: recording the RC corner and extraction mode, checking parasitic annotation coverage, comparing SPEF between in-tool and signoff extraction, aligning scale factors, and confirming that timing settings and results agree between the two tools.
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 |
|---|---|---|---|---|---|
| X-01 | Mode and RC corner record Before extraction |
report_unit_parasitics -all_layers -rc_corner <rc>get_rc_corner <rc> -rcCornerAttributegetExtractRCMode -engine -effortLevel |
Engine, thresholds and corner data match the signoff setup. | Thresholds are defaults, not compared with signoff. | Coupling off in an SI flow, or a wrong technology file. |
| X-02 | Extraction run and RCDB After final route and fill |
setExtractRCMode -engine postRoute -effortLevel <level>extractRCsaveRC <name>.rcdb.d |
The header lists every active RC corner, and Coupled matches the plan. | RCDB saved before the last fill or ECO change. | An active RC corner is missing, or preRoute ran after routing. |
| X-03 | Annotation coverage After extraction or SPEF |
report_annotated_parasitics -view <view>report_annotated_parasitics -view <view> -list_not_annotated -max_missing <n> <file> |
Every real signal and clock net is annotated in every active view. | Only supply or tied nets lack annotation, each explained. | Any real signal or clock net has no annotation. |
| X-04 | SPEF out and in After extraction |
rcOut -spef <name>.spef.gz -rc_corner <rc>spefIn <signoff>.spef.gz -rc_corner <rc> |
One SPEF per active corner, right unit, X-03 clean. | SPEF exists for only some corners, so reading has not started. | SPEF from another database, or written without resistance. |
| X-05 | Net and arc comparison After both SPEF sets |
report_net_parasitics <net> -rc_corner <rc>reportDelayCalculation -from <pin> -to <pin> -view <view> -si |
Total C, R and coupling agree within the project budget. | Total C agrees, but coupling or attackers differ. | R or total C on a critical net is outside the budget. |
| X-06 | Scale factors After X-01 is aligned |
generateRCFactor -preroute false -postroute low -reference signoff -outputFile <f>update_rc_corner -name <rc> -postRoute_cap {<f>} -postRoute_res {<f>} |
Factors fit the engine in use and a rerun closed the gap. | Factors differ widely between corners, or XCap is far from one. | Factors set for effort level signoff, or from other routing. |
| X-07 | Equal timing settings Before the timing comparison |
getAnalysisMode -analysisType -cpprgetDelayCalMode -SIAwarereport_timing_derate |
Analysis type, OCV, CPPR and derates match on both sides. | One setting differs, and its effect is measured and recorded. | Derates or OCV set on one side only, or pessimistic mode with Tempus. |
| X-08 | Timing and endpoints After X-07 |
signoffTimeDesign -outDir <dir>report_timing -view <view> -path_type endtimeDesign -postRoute -outDir <dir> |
WNS, TNS and endpoint lists agree per view within budget. | Total slack agrees, a few endpoints differ, each traced to a stage. | In-tool optimistic beyond budget in any required view, or a signoff violation has no in-tool endpoint. |
Command cheat sheet
Legacy UI commands. Angle brackets are placeholders, and values shown are examples, not project limits.
| Extraction settings and records | |
|---|---|
getExtractRCMode | Name, current value, type and set-by-user flag of every setExtractRCMode parameter. |
getExtractRCMode -engine -effortLevel -coupled | The engine, the effort level and whether coupling capacitance is kept separate. |
getExtractRCMode -capFilterMode -coupling_c_th -relative_c_th -total_c_th | The coupling filter mode and its three thresholds. |
all_rc_corners | A Tcl list of the RC corner objects in the design. Add -active for the active ones. |
get_rc_corner <rc> -rcCornerAttribute | One attribute of an RC corner. The attribute name replaces -rcCornerAttribute, for example -postRoute_cap or -qx_tech_file. |
report_unit_parasitics -all_layers -rc_corner <rc> | Unit resistance in ohm per micron and capacitance in fF per micron for every layer. |
| Setting up and running extraction | |
setExtractRCMode -engine postRoute -effortLevel low | Selects native detailed extraction. Changes the session. |
setExtractRCMode -engine postRoute -effortLevel medium -extraCmdFile <f> | Selects TQuantus, with the Quantus extra command file. Changes the session. |
setExtractRCMode -engine postRoute -effortLevel signoff -qrcCmdType auto -lefTechFileMap <f> | Selects Standalone Quantus with settings derived from Innovus. The layer map is required in auto mode. Changes the session. |
setExtractRCMode -capFilterMode relAndCoup -coupling_c_th <fF> -relative_c_th <v> -total_c_th <fF> | Sets the coupling filter. Changes the session. |
setExtractRCMode -coupled true | Keeps ground and coupling capacitance separate, which signal integrity analysis needs. Changes the session. |
extractRC | The RC database for the current routing. Changes the database and takes runtime. |
reset_parasitics | Deletes the parasitic database and keeps the extraction mode. Changes the database. |
saveRC <name>.rcdb.d | The RC data saved in a directory. Writes files. |
restoreRC <name>.rcdb.d | The RC data restored from a directory, on a system of the same data model. Changes the database. |
| Parasitic files and annotation | |
report_rcdb <name>.rcdb.d | The header of one flat RCDB: corners, Coupled, source and design name. |
report_annotated_parasitics -view <view> | A summary of annotated and not annotated nets for the view. |
report_annotated_parasitics -view <view> -list_not_annotated -max_missing <n> | The nets without annotation, up to the given count. |
report_net_parasitics <net> -rc_corner <rc> | Total C, R, coupling and the worst attackers of one net. |
rcOut -spef <name>.spef.gz -rc_corner <rc> | A SPEF file of one RC corner, compressed by the suffix. Writes a file. |
spefIn <signoff>.spef.gz -rc_corner <rc> | Signoff parasitics annotated to an RC corner. Changes the database. |
read_parasitics -rc_corner <rc> <f>.spef.gz | SPEF or RCDB parasitics read for an RC corner, also for hierarchical designs. |
| Scale factors and technology data | |
generateRCFactor -preroute false -postroute low -reference signoff -outputFile <f> | Cap, res and xcap factors per RC corner, from a comparison with signoff extraction. Writes a file and takes runtime. |
generateRCFactor -preroute false -postroute low -reference externalSpef -spefMapFile <map> -outputFile <f> | The same, using signoff SPEF files named in a map file. Writes a file. |
update_rc_corner -name <rc> -postRoute_cap {<f>} -postRoute_xcap {<f>} -postRoute_res {<f>} | New post-route scale factors for an RC corner. Can reset timing and RC data in MMMC mode. |
create_rc_corner -name <rc> -cap_table <f> -T <temp> | A new RC corner with a capacitance table and a temperature. Changes the session. |
| Timing settings that must match | |
getAnalysisMode -analysisType -cppr -aocv -socv | The analysis type, the CPPR mode and whether AOCV and SOCV are on or off. |
getDelayCalMode -SIAware -socv_accuracy_mode | Whether crosstalk delay is included and the SOCV accuracy level. |
getDesignMode -earlyPBAMode -pessimisticMode | The delay calculation modes that move in-tool timing toward or away from signoff. |
report_timing_derate | Global and per-object derating factors for early and late, clock and data paths. |
get_global timing_cppr_threshold_ps | The most pessimism in ps that CPPR may leave in a path. |
report_analysis_views -type active | The active views of the multi-mode multi-corner setup. |
| In-tool and signoff timing | |
timeDesign -postRoute -expandedViews -outDir <dir> | Extraction at the engine set by setExtractRCMode (native detailed at the low effort level), timing analysis and per-view setup reports. Changes the database and takes runtime. |
timeDesign -postRoute -hold -reportOnly -outDir <dir> | Hold reports from the extraction already in memory. |
signoffTimeDesign -outDir <dir> | Quantus extraction and Tempus timing, with a summary per view and an ECO timing database. Writes files and takes runtime. |
signoffTimeDesign -reportOnly -outDir <dir> | Signoff timing on the parasitics already in memory, for example after spefIn. |
report_timing -view <view> -path_type end -max_paths <n> | One line per endpoint with cause, slack and arrival. |
report_timing -view <view> -path_type full_clock -from <pin> -to <pin> | The full path with launch and capture clock paths. |
reportDelayCalculation -from <pin> -to <pin> -view <view> -si | Delay calculation detail for one arc, with signal integrity information. |
set_global timing_report_timing_header_detail_info extended | Adds analysis mode, views, CPPR and delay calculation engine to report headers. Changes the session. |