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

📄 baseline.tcl

📁 synopsys icc 使用参考脚本
💻 TCL
字号:
############################################################################################ ICC Design Planning RM## baseline.tcl: Virtual flat placement, PNS, PNA, IPO, and Proto Route## Version 2007.03-SP5########################################################################################################################################################################################################################## Set placement strategies################################################################################################################################ Set placement strategies to further fine tune the placer based on your design style. ## To find all available strategies and current values, use:#       report_fp_placement_strategy## To place macros on edge of chip or plan group which is default is off:#	set_fp_placement_strategy -macros_on_edge on## To control channels among macros which std cell can not be placed which is default 0:set_fp_placement_strategy -sliver_size 10## For multi-voltage designs, to place level shifters and isolation cells closer to the boundary, set voltage area interface net weight:# set_fp_placement_strategy -voltage_area_interface_net_weight $ICC_DP_PLACEMENT_VA_NET_WEIGHT# set_fp_placement_strategy -voltage_area_net_weight_LS_only on################################################################################################################################ Create virtual flat placement################################################################################################################################ create_fp_placement is default with -effort low## Alternatively, you can break the placement into 3 steps and fine tune the results gradually :# 	create_fp_placement -effort low -no_legalize# 	1st placement is intended to give you a fast and default macro placement result which allows you to observe design characteristics.#   	Then please check GUI for macro locations and connectivity.##	legalize_fp_placement##	create_fp_placement -effort high -incremental all# 	2nd placement is intended to let you add appropriate options to improve results#	 for ex,#	-timing_driven#	-congestion_drivencreate_fp_placement################################################################################################################################ Check routability & timing##############################################################################################################################route_fp_proto -effort mediumsave_mw_cel -as feasibility_dp_groute_after_placeremove_route_by_type -signal_detail_route -clock_tie_off -pg_tie_offextract_rc -estimatecreate_qor_snapshot -name feasibility_dp_place -qor -timing -constraint################################################################################################################################ Power Network Synthesis (PNS)################################################################################################################################ If you want to use your existing virtual pad file, please load it before PNS by the following:## (virtual pad is created by user or tool to serve as temporary source of power or ground for power network synthesis consideration)#       create_fp_virtual_pad -load_file $YOUR_PNS_VIRTUAL_PAD_FILE################################################################################################################################ Setup fp_synthesize_rail based on your design style############################################################################################################################## ## If you're running on a block with existing PG pins, please add following option#	-use_pins_as_pads### If you're running on a block without existing PG pins, please add following option#       -use_strap_ends_as_pads### If you're running on top level with existing power pads, please add  one of the following options#	-pad_masters $PNS_PAD_MASTERS                   (specify pad cell masters) or#	-read_pad_master_file $PNS_PAD_MASTER_FILE      (specify a file with pad cell masters) or#	-read_pad_instance_file $PNS_PAD_INSTANCE_FILE  (specify a file with pad cell instances)### If you're running on top level without existing power pads, please add following option## Note: This feature is not available until 2007.03  #       -synthesize_power_pads### If you'd like to simulate standard cell rail during PNS, please add the following option#       -create_virtual_rails $PNS_VIRTUAL_RAIL_LAYERsynthesize_fp_rail -power_budget $PNS_POWER_BUDGET -voltage_supply $PNS_VOLTAGE_SUPPLY -output_directory $PNS_OUTPUT_DIR -nets $PNS_POWER_NETS -synthesize_power_plancommit_fp_rail################################################################################################################################ Power Network Synthesis (PNA)################################################################################################################################ Setup fp_analyze_rail based on your design style## If you're running on a block with existing PG pins, please add following option#       -use_pins_as_pads### If you're running on a block without existing PG pins, please add following commands before fp_analyze_rail#       create_fp_virtual_pad -load_file pna_output/strap_end.VDD.vpad (VDD is your power net name)#       create_fp_virtual_pad -load_file pna_output/strap_end.VSS.vpad (VSS is your ground net name##   then add the following option to fp_analyze_rail#       -use_pins_as_pads### If you're running on top level with existing power pads, please add one of the following options#       -pad_masters $PNS_PAD_MASTERS                   (specify pad cell masters) or#       -read_pad_master_file $PNS_PAD_MASTER_FILE      (specify a file with pad cell masters) or#       -read_pad_instance_file $PNS_PAD_INSTANCE_FILE  (specify a file with pad cell instances)### If you're running on top level without existing power pads, please add following commands before fp_analyze_rail#       create_fp_virtual_pad -load_file pna_output/strap_end.VDD.vpad (VDD is your power net name)#       create_fp_virtual_pad -load_file pna_output/strap_end.VSS.vpad (VSS is your ground net name### If you'd like to simulate standard cell rail during PNS, please add the following option#       -create_virtual_rails $PNS_VIRTUAL_RAIL_LAYERanalyze_fp_rail -power_budget $PNS_POWER_BUDGET -voltage_supply $PNS_VOLTAGE_SUPPLY -output_directory $PNS_OUTPUT_DIR -nets $PNS_POWER_NETSsource ./icc_scripts/common_optimization_settings_icc.tclextract_rc -estimatereport_timing -cap -tran -input -net -delay max > $REPORTS_DIR/optimize_fp_timing_before.rptset compile_instance_name_prefix dp_ipooptimize_fp_timingroute_fp_proto -effort mediumsave_mw_cel -as feasibility_dp_grouteremove_route_by_type -signal_detail_route -clock_tie_off -pg_tie_offextract_rc -estimatecreate_qor_snapshot -name feasibility_dp -qor -timing -constraintreport_qor_snapshot > ${REPORTS_DIR}/final.qorreport_timing -cap -tran -input -net -delay max > ${REPORTS_DIR}/final.rptset_dont_touch_placement [all_macro_cells]save_mw_cel -overwritewrite_floorplan -placement {io hard_macro soft_macro} ${RESULTS_DIR}/dump.floorplanwrite_floorplan -preroute ${RESULTS_DIR}/dump.routewrite_floorplan -all ${RESULTS_DIR}/dump.complete_floorplanwrite_io_constraints -cel [get_object_name  [current_mw_cel]] -io_only -constraint_type side_order ${RESULTS_DIR}/dump.tdfclose_mw_cel

⌨️ 快捷键说明

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