⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock_opt_cts_icc.tcl

📁 synopsys icc 使用参考脚本
💻 TCL
字号:
## ICC RM Version: B-2008.09        ############################################################# clock_opt_cts_icc: CLock Tree Synthesis and Optimization ###########################################################source -echo icc_setup.tcl open_mw_lib $MW_DESIGN_LIBRARYredirect /dev/null "remove_mw_cel -version_kept 0 ${ICC_CLOCK_OPT_CTS_CEL}" copy_mw_cel -from $ICC_PLACE_OPT_CEL -to $ICC_CLOCK_OPT_CTS_CELopen_mw_cel $ICC_CLOCK_OPT_CTS_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.tclset_app_var cts_instance_name_prefix CTSif {$MV_MODE == "UPF"} {  derive_pg_connection -create_net -verbose  derive_pg_connection -reconnect -verbose  check_mv_design -power_nets -verbose}if {$MCMM_MODE } { set_active_scenarios [all_scenarios] set_cts_scenario $ICC_MCMM_CTS_SCENARIO}################################ RP : Relative Placement  ##                ################################ Ensuring that the RP cells are not changed during clock_opt#set_rp_group_options [all_rp_groups] -cts_option fixed_placement#set_rp_group_options [all_rp_groups] -cts_option "size_only"check_clock_treeif { [check_error -verbose] != 0} { echo "SCRIPT-Error, flagging ..." }  if {$ICC_STRATEGY == "TTR" } {      clock_opt -only_cts -no_clock_route -cts_effort low    }  if {$ICC_STRATEGY == "QOR" } {      clock_opt -only_cts -no_clock_route -cts_effort high   }if { [check_error -verbose] != 0} { echo "SCRIPT-Error, flagging ..." }############################################################################################################# ADDING ADDITIONAL FEATURES TO THE CLOCK_OPT COMMAND############################################################################################################## When you want to do interclock delay balancing, you need to execute the following commands :#  set_inter_clock_delay_options -balance_group "Clk1 Clk2"#  clock_opt -inter_clock_balance## When you want to update the IO latency before you start the post CTS optimization, add :# set_latency_adjustment_options -from_clock  ....  -to_clock .... -latency ....# clock_opt -update_clock_latency -no_clock_route#########################################           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_cts.mv {check_mv_design -power_nets -verbose}  save_upf $RESULTS_DIR/$ICC_CLOCK_OPT_CTS_CEL.upf }}redirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_CTS_CEL.clock_tree {report_clock_tree}     ;# global skew reportredirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_CTS_CEL.clock_timing {report_clock_timing -type skew} ;# local skew reportcreate_qor_snapshot -timing -constraint -congestion -clock_tree -name $ICC_CLOCK_OPT_CTS_CELsave_mw_cel -as $ICC_CLOCK_OPT_CTS_CELredirect -file $REPORTS_DIR/$ICC_CLOCK_OPT_CTS_CEL.qor_snapshot.rpt {report_qor_snapshot}exit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -