Cadence Innovus (Legacy UI) · stage 16 of 16

Final implementation handoff

Sanity checks and commands for the final freeze: run identity, physical closure, timing on the frozen database, and netlist, DEF, stream and parasitic export for hand-off.

7 min read · Free, no login

Get Innovus + ICC2 Cheat Sheets at ₹199

This stage covers the final implementation handoff: freezing the run identity and message history, rerunning physical and timing closure checks on the frozen database, saving and restoring the design, and exporting the netlist, DEF, stream and parasitic files that downstream teams need.

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
Z-01 Run identity and final summary
Freeze
getVersion
report_message -errors -count
report_message -suppressed
Release as approved, no error ID, and expected counts. A new warning ID, or a count change partly explained. An error ID, a new suppressed ID, or not Routed.
Z-02 Physical closure on the frozen database
Before the save
checkPlace <report_file>
checkFiller -file <f>
verify_drc -limit 0 -report <f>
Nothing unplaced, no DRC, open, short, antenna or unapproved filler gap. A cap or option hides a category. Any such violation without an owner and a decision.
Z-03 Timing on the frozen database
Before the save
check_timing -verbose
timeDesign -postRoute -outDir <dir> -prefix <prefix>
report_annotated_parasitics -list_not_annotated
Setup and hold meet budget in every required view, every net annotated. Options or directory differ from the baseline run. A required view misses the project budget, or a net has no annotated parasitics.
Z-04 Save and restore proof
Save
saveDesign <final>.enc -tcon -rc
restoreDesign <final>.enc.dat <top>
No restore error, and the summary equals the frozen one. The restore needed a file from outside the saved directory. The restore errors, or the summaries differ.
Z-05 Netlist export
Write
check_design -type assign_statements -out_file <f>
getExportMode
saveNetlist <final>.v
No assign statement, settings recorded, no setting differs from default without a reason. A setting differs from default without a reason. check_design reports an error, or a needed PG port is missing.
Z-06 DEF export and comparison
Write
defOut -routing <final>.def
defComp <final>.def -reportFile <f>
No differences, so the file and database agree here. A few differences, each in the manifest. Added, deleted or moved instances, or changed routes.
Z-07 Stream file
Write
setStreamOutMode -check_map_file true
streamOut <final>.gds -mapFile <map> -units <n> -merge {<gds_files>} -reportFile <f>
No unmapped object or unexplained rename, file after save. A merged cell name changed and the manifest does not say so. Required layers unmapped, or the merge failed.
Z-08 Parasitics, delay and constraint files
Write
rcOut -spef <final>.spef -rc_corner <rc>
write_sdf <final>.sdf -recompute_delay_calc -min_view <v1> -max_view <v2>
writeTimingCon <view>.sdc -view <view>
A SPEF per corner, an SDF per view pair, a constraints file per view, all after the last change. An SDF written without recomputed delays holds only cached delays. A corner has no file, or a file or its extraction predates the last change.

Command cheat sheet

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

Run identity and messages
getVersionThe full release and build string. Record it in the handoff manifest.
getLogFileName -fullPathThe absolute path of the current log file, for the manifest.
report_message -errors -countA Tcl list of {ID count} pairs for every error ID issued. An empty list means no errors were issued.
report_message -warnings -countA Tcl list of {ID count} pairs for every warning ID issued, to compare with the baseline.
report_message -suppressedThe message IDs suppressed in this session. Suppressed IDs hide evidence, so compare the list with the baseline.
report_command_mode -non_defaultEvery *Mode option whose value differs from the default, for the manifest.
getLicenseStatusA summary of every licence the session has checked out.
report_resource -peakThe peak memory used by the session so far.
Inventory and summaries
summaryReport -noHtml -outfile <f>A text summary with Design Status, instance counts, and macro and standard-cell tables. Writes a file.
reportGateCount -stdCellOnly -outfile <f>The gate count of standard cells only, written to a file whose default extension is .gateCount.
report_area -out_file <f>The combined standard-cell area of each hierarchical module and of the top-level design. Writes a file.
report_area -summaryThe area summary of the design as a whole. The reference calls it equivalent to -depth 0.
Closure checks rerun on the final database
checkPlace <report_file>Placed, fixed and unplaced counts and placement violations by category. Adds markers and writes a file.
verify_drc -limit 0 -report <f>DRC violations on placed instances with markers. The default cap is 1000 errors, and 0 removes the cap. Adds markers and writes a file.
verify_drc -check_only special -report <f>DRC on special wiring only, for the power grid. Adds markers and writes a file.
verifyConnectivity -type regular -report <f>Opens, unconnected wires and pins, loops and unrouted nets on regular nets. Adds markers and writes a file.
verifyConnectivity -type special -report <f>The same check on special nets. Unconnected terminals are still reported unless -noUnConnPin is given.
verify_antenna -report <f>Process antenna violations on routed nets. Default report name is <design>.antenna.rpt. Writes a file.
verify_antenna -detailed -report <f>The antenna value of every layer of every net, including nets with no violation. Writes a file.
check_design -type assign_statements -out_file <f>A check of the netlist for assign statements, meant to run before the netlist is exported for signoff. Writes a file.
Timing rerun on the final database
check_timing -verboseConstraint consistency and completeness warnings, with detail.
timeDesign -postRoute -outDir <dir> -prefix <prefix>Post-route extraction and setup timing reports in the output directory. Changes the analysis mode and the database. Runs long and writes files.
timeDesign -postRoute -hold -outDir <dir> -prefix <prefix>The same for hold. Runs long and writes files.
timeDesign -postRoute -expandedViews -outDir <dir>A separate report directory for every active view in a multi-mode multi-corner session. Runs long and writes files.
report_annotated_parasitics -list_not_annotatedThe annotated parasitics summary by net type, and the nets that have no annotation.
Save and restore
saveDesign <final>.encA restore file and the .dat database directory. Saving to an existing location overwrites it. Writes files.
saveDesign <final>.enc -tcon -rcThe same, with every SDC file copied into the directory and RC extraction data saved. Writes files.
saveDesign <final>.enc -tgzA single gzipped tar file, with library, SDC and other external files copied inside. Writes a file.
saveDesign <final>.enc -no_wait <out_file>A save in a separate process while the session continues. Read the out file to see whether it completed.
restoreDesign <final>.enc.dat <top>The saved design in memory. Do not edit the saved directory, because a modified one can corrupt the restore.
Netlist
getExportModeEvery setExportMode parameter with its value and whether the user set it.
setExportMode -fullPinout trueMakes saveNetlist write every pin of every instance, connected or not. Changes the session.
saveNetlist <final>.vThe logical Verilog netlist. Hierarchical only if the netlist loaded was hierarchical. Writes a file.
saveNetlist <final_pg>.v -includePowerGroundThe netlist with physical-only PG nets and PG ports added, which some LVS flows prefer. Writes a file.
saveNetlist <final>.v -replaceTieConnection1'b0 and 1'b1 constants replaced by undriven nets, for consumers that cannot read the constants. Writes a file.
saveNetlist <final_phys>.v -includePhysicalCell {<cells>}The netlist with physical instances of the named cells. The reference says such a netlist should not be read back into Innovus. Writes a file.
DEF and floorplan files
defOut -routing <final>.defA DEF file with floorplan, placed and unplaced standard cells and routing. Writes a file.
defOut -floorplan -unplaced <final_fp>.defA DEF file with the floorplan and placed standard cells, and the unplaced standard cells. Writes a file.
defOut -scanChain <final>.defA DEF file that also carries scan chain information, needed to keep the chain ends when the DEF is reloaded. Writes a file.
defComp <final>.def -reportFile <f>The differences between a DEF file and the physical data in the database. Default report name is defPhyDiff.rpt.
saveFPlan <final>.fpThe floorplan information, including the placed, fixed and covered blocks, saved to a file. Writes a file.
saveIoFile <final>.ioThe current I/O information saved to a file. Writes a file.
Stream files
getStreamOutModeThe current setStreamOutMode settings.
setStreamOutMode -check_map_file trueMakes streamOut check the map file: design objects that the map file does not map are listed in the log. Changes the session.
streamOut <final>.gds -mapFile <map> -libName <lib> -units <n> -reportFile <f>A GDSII file of the whole database with all mapped layers. The report file receives the cell names that were changed. Writes files.
streamOut <final>.gds -mapFile <map> -merge {<gds_files>}A GDSII file with the cell and macro stream files merged in, and a warning for every cell name that changed. Writes a file.
streamOut <final>.oas -mapFile <map> -format oasisAn OASIS file in place of GDSII. Writes a file.
Parasitics and delays
rcOut -spef <final>.spef -rc_corner <corner>SPEF for the named RC corner. Writes a file.
rcOut -spef <final>.spef -view <view>SPEF for the RC corner of the view. Views that share a corner give the same SPEF. Writes a file.
writeTimingCon <final_view>.sdc -view <view>The timing constraints of the named view written in Design Compiler format. Writes a file.
write_sdf <final>.sdf -recompute_delay_calc -min_view <view> -max_view <view>An SDF file with delays recomputed so that it is complete for general use, with min and max slots from the two views. Runs long and writes a file.
Block abstracts (only if the block is used inside a parent design)
write_lef_abstract <block>.lef -noCutObs -stripPin -PGPinLayers <n> -specifyTopLayer <n>A LEF abstract of a routed block with one OBS per routing layer and PG pins on the top layer stripes. Writes a file.
write_lef_library <lib>.lefThe LEF library data present in the database, technology and macros. Writes a file.
saveModel -dir <dir>Block-level LEF, DEF and database for top-level implementation. Timing library generation needs another command. Writes files.