📄 clock_opt_cts_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 ..." }set_delay_calculation -clock_arnoldi ;# clock arnoldi is required for Zrouteclock_opt -only_cts -no_clock_route -cts_effort highif { [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 -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/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 + -