📄 clock_opt_route_icc.tcl
字号:
## ICC RM Version: B-2008.09 ############################################### clock_opt_route_icc: CLock Tree routing ###############################################source -echo icc_setup.tcl open_mw_lib $MW_DESIGN_LIBRARYredirect /dev/null "remove_mw_cel -version_kept 0 ${ICC_CLOCK_OPT_ROUTE_CEL}" copy_mw_cel -from $ICC_CLOCK_OPT_PSYN_CEL -to $ICC_CLOCK_OPT_ROUTE_CELopen_mw_cel $ICC_CLOCK_OPT_ROUTE_CELlink## Optimization Common Session Options - set in all sessionssource -echo common_optimization_settings_icc.tclsource -echo common_placement_settings_icc.tcl## Source CTS Options source -echo common_cts_settings_icc.tcl## Source Post CTS Optionssource -echo common_post_cts_timing_settings.tclif { [check_error -verbose] != 0} { echo "SCRIPT-Error, flagging ..." }######################################### CLOCK ROUTING FIRST #########################################if {$ICC_STRATEGY == "QOR" } {set_delay_calculation -clock_arnoldi## ICGR is set with effort highoptimize_clock_tree -buffer_sizing -gate_sizing -effort high## route_group will see the ICGR route automatically, please donot run any commands that## redo GR, such as report_congestionroute_group -all_clock_nets -search_repair_loop 15} else {route_group -all_clock_nets -search_repair_loop 15}if { [check_error -verbose] != 0} { echo "SCRIPT-Error, flagging ..." }if {$MV_MODE == "NONUPF" } { redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.mv {check_mv_design -verbose} }if {$MV_MODE == "UPF"} { derive_pg_connection -create_net -verbose derive_pg_connection -reconnect -verbose redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.mv {check_mv_design -power_nets -verbose} save_upf $RESULTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.upf }######################################### 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 derive_pg_connection -reconnect } 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/clock_opt_route.mv {check_mv_design -power_nets -verbose} save_upf $RESULTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.upf }}redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.clock_tree {report_clock_tree} ;# routed clock global skew reportredirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.clock_timing {report_clock_timing -type skew} ;# routed clock local skew reportredirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.qor {report_qor}redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.con {report_constraints}if {$MCMM_MODE } { redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.max.tim {report_timing -scenario [all_scenarios] -capacitance -transition_time -input_pins -nets -delay max} redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.min.tim {report_timing -scenario [all_scenarios] -capacitance -transition_time -input_pins -nets -delay min} } else { redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.max.tim {report_timing -capacitance -transition_time -input_pins -nets -delay max} redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.min.tim {report_timing -capacitance -transition_time -input_pins -nets -delay min} }create_qor_snapshot -timing -constraint -congestion -clock_tree -name $ICC_CLOCK_OPT_ROUTE_CELsave_mw_cel -as $ICC_CLOCK_OPT_ROUTE_CEL redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_ROUTE_CEL.qor_snapshot.rpt {report_qor_snapshot}exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -