📄 signoff_opt_icc.tcl
字号:
## ICC RM Version: B-2008.09 ############################################################################# signoff_opt_icc: Signoff optimization using Star-rcxt and PT###########################################################################source -echo icc_setup.tclif {![file exists [which $PT_DIR/pt_shell]]} { echo "SCRIPT-Info : $PT_DIR/pt_shell does not exist. Skipping signoff_opt step" redirect -file signoff_opt_icc {echo "SCRIPT-Info : signoff_opt has not been run"} exit} open_mw_lib $MW_DESIGN_LIBRARYredirect /dev/null "remove_mw_cel -version_kept 0 ${ICC_SIGNOFF_OPT_CEL}"copy_mw_cel -from $ICC_CHIP_FINISH_CEL -to $ICC_SIGNOFF_OPT_CELopen_mw_cel $ICC_SIGNOFF_OPT_CELlinksource -echo common_optimization_settings_icc.tclsource -echo common_placement_settings_icc.tclsource -echo common_post_cts_timing_settings.tclif {$MV_MODE == "UPF"} {############################### COMPLETE POWER CONNECTIONS############################# derive_pg_connection -create_net -verbose derive_pg_connection -reconnect -verbose check_mv_design -power_nets -verbose}######################################### LOAD THE ROUTE AND SI SETTINGS #########################################source -echo common_route_si_settings_zrt_icc.tcl######################################### SIGNOFF_OPT CORE COMMAND ########################################### setup PTif {[file exists [which $PT_SDC_FILE]]} { set_primetime_options -exec_dir $PT_DIR -sdc_file $PT_SDC_FILE} else { set_primetime_options -exec_dir $PT_DIR}## setup Star-RCXTif {$STARRCXT_MIN_NXTGRD == ""} {set STARRCXT_MIN_NXTGRD $STARRCXT_MAX_NXTGRD}set_starrcxt_options -exec_dir $STARRCXT_DIR \ -max_nxtgrd_file $STARRCXT_MAX_NXTGRD \ -min_nxtgrd_file $STARRCXT_MIN_NXTGRD \ -map_file $STARRCXT_MAP_FILEif { [check_error -verbose] != 0} { echo "SCRIPT-Error, flagging ..." }report_primetime_optionsreport_starrcxt_optionsrun_signoffredirect -file $REPORTS_DIR/$ICC_SIGNOFF_CEL.qor {report_qor}redirect -file $REPORTS_DIR/$ICC_SIGNOFF_CEL.con {report_constraints}redirect -file $REPORTS_DIR/$ICC_SIGNOFF_CEL.max.tim {report_timing -capacitance -transition_time -input_pins -nets -delay max}redirect -file $REPORTS_DIR/$ICC_SIGNOFF_CEL.min.tim {report_timing -capacitance -transition_time -input_pins -nets -delay min}##Run Signoff Optsignoff_opt ##To run when design doesn't meet initial criteria use:#signoff_opt -ignore_design_readiness -num_iterations 2redirect -file $REPORTS_DIR/$ICC_SIGNOFF_OPT_CEL.qor {report_qor}redirect -file $REPORTS_DIR/$ICC_SIGNOFF_OPT_CEL.con {report_constraints}redirect -file $REPORTS_DIR/$ICC_SIGNOFF_OPT_CEL.max.tim {report_timing -capacitance -transition_time -input_pins -nets -delay max}redirect -file $REPORTS_DIR/$ICC_SIGNOFF_OPT_CEL.min.tim {report_timing -capacitance -transition_time -input_pins -nets -delay min}run_signoff -signoff_analysis falseif {$ADD_METAL_FILL } { ######################################### TIMING DRIVEN METAL FILL # ######################################## trim_fill_eco -input signoff_opt_icc.FILL -output signoff_opt_icc.FILL -remove_vio_fill }if { [check_error -verbose] != 0} { echo "SCRIPT-Error, flagging ..." }if {$ADD_FILLER_CELL } { ######################################## # STD CELL FILLERS # ######################################## ##Filler Cells insert_stdcell_filler -cell_without_metal $FILLER_CELL}if {$MV_MODE != "NONE"} { ## in case new nets are created that go from one VA to another, level shifters need to be inserted on these nets # insert_level_shifters -all_clock_nets -verbose ## optionally insert isolation cells # insert_isolation_cell -reference $lib_cell -enable [find net $enable_net] -object_list [get_net $nets_missing_isolation_cells]}######################################### CONNECT P/G ########################################### Connect Power & Ground for non-MV and MV-modeif { $CUSTOM_CONNECT_PG_NETS_SCRIPT != ""} { if {[file exists [which $CUSTOM_CONNECT_PG_NETS_SCRIPT]]} { source -echo $CUSTOM_CONNECT_PG_NETS_SCRIPT }} else { if {$MV_MODE == "NONE"} { derive_pg_connection -create_net -verbose derive_pg_connection -reconnect -verbose } if {$MV_MODE == "NONUPF"} { source -echo mv_pg_connect.tcl } if {$MV_MODE == "UPF"} { derive_pg_connection -create_net -verbose derive_pg_connection -reconnect -verbose redirect -file $REPORTS_DIR/sigoff_opt.mv {check_mv_design -power_nets -verbose} save_upf $RESULTS_DIR/$ICC_SIGNOFF_OPT_CEL.upf }}## Uncomment if you want detailed routing violation report with or without antenna info# if {$ICC_FIX_ANTENNA} {# verify_zrt_route -antenna true # } else {# verify_zrt_route -antenna false # }save_mw_cel -as $ICC_SIGNOFF_OPT_CEL exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -