Legacy2CUI PDF
Legacy2CUI PDF
Legacy2CUI PDF
© 2018 Cadence Design Systems, Inc. All rights reserved worldwide. Cadence and the Cadence logo are
registered trademarks of Cadence Design Systems, Inc. All others are the property of their respective
holders.
Contents
Purpose ....................................................................................................................... 4
Overview ...................................................................................................................... 4
High-Level Flow Steps ................................................................................................. 4
Example ....................................................................................................................... 5
Script Name: init.tcl .................................................................................................. 5
Script Name: place.tcl .............................................................................................. 7
Script Name: cts.tcl .................................................................................................. 8
Script Name: postcts_hold.tcl ................................................................................. 10
Script Name: route.tcl............................................................................................. 11
Script Name: postroute.tcl ...................................................................................... 12
Script Name: signoff.tcl .......................................................................................... 13
Script Name: view_definition.tcl ............................................................................. 15
Support ...................................................................................................................... 17
Feedback ................................................................................................................... 17
Purpose
The purpose of this application note is to demonstrate translation of Innovus legacy UI
commands into Common UI (CUI) commands using the real example design targeted
for 16nm process node.
Overview
The typical block-level Innovus tool implementation flow consists of a set of required
inputs, flow settings, and flow steps to generate a set of outputs for block-level signoff
verification. The example scripts given in this application notes expect that the inputs to
the flow are available in the form of gate-level Verilog netlist, scan chain in def format,
floorplan and power plan file in def format, timing constraints in sdc format, and a
view_definition file. The scripts in the flow step include legacy commands (commented
out with # and colored blue) followed by their equivalent CUI commands. For some
legacy commands, if the CUI mapping command is not available at the time of writing
this application note, the legacy command is encapsulated using the “eval_legacy” CUI
command.
3. Clock Tree Synthesis with concurrent clock and datapath timing optimization:
Script name: cts.tcl
Example
The Following example shows how to run the CUI scripts. All these scripts can be run
using Innovus 18.10-p002_1.
The example view_definition file in CUI format is also given at the end of this document
for completeness.
read_mmmc ../input/view_definition.tcl
read_physical -lef { \
../libs/lef/xyz.tlef_mod \
../libs/lef/xyz_par.lef \
../libs/lef/NDR_clock.lef \
../libs/lef/std_cells.lef}
read_netlist -top abc \
../inout/abc_mapped.v
enable_metrics -on
push_snapshot_stack
read_def ../input/abc_fp_and_pg.def
# defIn ../input/abc.scan.def
read_def ../input/abc.scan.def
# checkPlace
check_place
pop_snapshot_stack
create_snapshot -name init -categories design
exit
enable_metric -on
push_snapshot_stack
add_tieoffs
# setDontUse {TIEL TIEH} true
set_db [get_db base_cells TIE*CPD] .dont_use false
pop_snapshot_stack
enable_metric
create_snapshot -name place -categories design
report_metric -file RPT/metrics.html -format html
# saveDesign DBS/place.enc -compress
write_db DBS/place.dat
# saveNetlist DBS/LEC/place.v.gz
write_netlist DBS/LEC/place.v.gz
# reportVtInstCount -area
report_threshold_instance_count -area
set top_cell [get_db designs .name]
report_metric -format json -file RPT/${top_cell}_metric.rpt
exit
enable_metric -on
push_snapshot_stack
# setNanoRouteMode -routeBottomShieldLayer 5
eval_legacy {setNanoRouteMode -routeBottomShieldLayer 5}
# set_ccopt_property -update_io_latency true
# following is default
# set_db cts_update_io_latency true
get_db cts_update_io_latency
# create_ccopt_clock_tree_spec
create_clock_tree_spec
# ccopt_design -outDir RPT -prefix cts
ccopt_design -report_dir RPT -report_prefix cts
pop_snapshot_stack
enable_metric
create_snapshot -name cts -categories design
report_metric -file RPT/metrics.html -format html
write_db DBS/cts.dat
write_netlist DBS/LEC/cts.v.gz
report_threshold_instance_count -area
exit
enable_metric -on
push_snapshot_stack
pop_snapshot_stack
enable_metric
create_snapshot -name postcts_hold -categories design
report_metric -file RPT/metrics.html -format html
write_db DBS/postcts_hold.dat
write_netlist DBS/LEC/postcts_hold.v.gz
report_threshold_instance_count -area
exit
Learn more at Cadence Support Portal - https://support.cadence.com
© 2018 Cadence Design Systems, Inc. All rights reserved worldwide. Page 10
Translation of Innovus Legacy UI Commands into CUI Commands
enable_metric -on
push_snapshot_stack
# addFiller
add_fillers
# setNanoRouteMode -droutePostRouteSpreadWire false
set_db route_design_detail_post_route_spread_wire false
pop_snapshot_stack
enable_metric
write_db DBS/route.dat
write_netlist DBS/LEC/route.v.gz
report_threshold_instance_count -area
exit
enable_metric -on
push_snapshot_stack
pop_snapshot_stack
enable_metric
create_snapshot -name postroute -categories design
report_metric -file RPT/metrics.html -format html
write_db DBS/postroute.dat
write_netlist DBS/LEC/postroute.v.gz
report_threshold_instance_count -area
exit
enable_metrics -on
push_snapshot_stack
}
# extractRC
extract_rc
# verifyConnectivity -noAntenna
check_connectivity -ignore_dangling_wires -out_file \
RPT/signoff_step_connectivity.rpt
# verify_drc
check_drc -out_file RPT/signoff_step_DRC.rpt
# verifyMetalDensity
check_metal_density -report RPT/signoff_step_metal_density.rpt
# verifyProcessAntenna
check_process_antenna -out_file\
RPT/signoff_step_process_antenna.rpt
pop_snapshot_stack
create_snapshot -name signoff -categories design
report_metric -file RPT/metrics.html -format html
# saveDesign DBS/signoff.enc -compress
write_db DBS/signoff.dat
# saveNetlist DBS/LEC/signoff.v.gz
write_netlist DBS/LEC/signoff.v.gz
set top_cell [get_db designs .name]
report_metric -format json -file RPT/${top_cell}_metric.rpt
exit
set_analysis_view \
-setup [list func_worst] \
-hold [list func_best]
Support
Cadence Support Portal provides access to support resources, including an extensive
knowledge base, access to software updates for Cadence products, and the ability to
interact with Cadence Customer Support. Visit https://support.cadence.com.
Feedback
Email comments, questions, and suggestions to [email protected].