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

📄 create_plangroups_dp.tcl

📁 synopsys icc 使用参考脚本
💻 TCL
字号:
################################################################################################### ICC Hierarchical RM								 	 	 ## create_plangroup_dp: Plangroup Creation/Import, Virtual Flat Placement, and Plan Group Shaping ## Version B-2008.09								 	 	 ###################################################################################################source icc_setup.tclgui_set_current_task -name {Design Planning}open_mw_lib $MW_DESIGN_LIBRARYcopy_mw_cel -from $ICC_FLOORPLAN_CEL -to $ICC_DP_CREATE_PLANGROUPS_CELopen_mw_cel $ICC_DP_CREATE_PLANGROUPS_CELlinksource ./icc_scripts/common_placement_settings_icc.tcl## Additional reporting before the major stepsif {$ICC_DP_VERBOSE_REPORTING} {        check_design -summary > ${REPORTS_DIR}/${ICC_DP_CREATE_PLANGROUPS_CEL}_pre.check_design.rpt        report_net_fanout -threshold 50 > ${REPORTS_DIR}/${ICC_DP_CREATE_PLANGROUPS_CEL}_pre.high_fanout.rpt}########################################################################################## Create Plangroups									############################################################################################ 1.To decide which modules to create into plangroups:## - A.Please use "hierarchy browser" or## - B.you can run placement without legalization first and based on the result to make your decision:  ##	create_fp_placement -effort low -no_legalize## 2.If you have decided, specify the list of modules in ICC_DP_PLAN_GROUPS (icc_setup.tcl)## 3.If you already have a dumped floorplan file containing plangroups, specify it in ICC_DP_PLANGROUP_FILE (icc_setup.tcl) if {[file exists [which $ICC_DP_PLANGROUP_FILE]]} {	source $ICC_DP_PLANGROUP_FILE} elseif {$ICC_DP_PLAN_GROUPS != ""} {	create_plan_groups $ICC_DP_PLAN_GROUPS -cycle_color} else {	echo "WARNING: Please create plan groups before you contunue with hierarchical flow"}create_fp_plan_group_padding -internal_widths {2 2 2 2} -external_widths {2 2 2 2} [get_plan_groups *]########################################################################################## Set Placement Constraints								############################################################################################ You can control if you want to unfix macros before placement:#       set ICC_DP_FIX_MACRO_LIST ""            : unfix all macros; performs remove_dont_touch_placement#       set ICC_DP_FIX_MACRO_LIST skip          : skip unfix of macros; retain existing fix status;#       set ICC_DP_FIX_MACRO_LIST {a list}      : fix specified macros and unfix the others; useful if you want to preserve certain macros locations#                                                 it performs remove_dont_touch_placement and then set_dont_touch_placement on specified macrosif {[all_macro_cells] != ""} {        if {$ICC_DP_FIX_MACRO_LIST eq ""} {                remove_dont_touch_placement [all_macro_cells]        } elseif {$ICC_DP_FIX_MACRO_LIST eq "skip"} {                echo "remove_dont_touch_placement for macros is skipped"        } else {                remove_dont_touch_placement [all_macro_cells]                set_dont_touch_placement $ICC_DP_FIX_MACRO_LIST}}## You can customize padding and location preference by loading a file with set_keepout_margin and set_fp_macro_options, for example:#       set_keepout_margin -type soft -all_macros -outer {10 10 10 10}#       set_fp_macro_options -align_edge t {macro_1 macro_2 macro_3}if {[file exists [which $CUSTOM_ICC_DP_PLACE_CONSTRAINT_SCRIPT]]} {        source $CUSTOM_ICC_DP_PLACE_CONSTRAINT_SCRIPT}########################################################################################## Below steps are skipped if $ICC_DP_PLANGROUP_FILE is provided				##########################################################################################if {$ICC_DP_PLAN_GROUPS != "" && $ICC_DP_PLANGROUP_FILE == ""} {	#################################################################################	# Shape Plangroups								#	#################################################################################	## 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 control net weight on plan group interface net:	#	set_fp_placement_strategy -plan_group_interface_net_weight 2	## To control channels among macros which std cell can not be placed which is default 0:	set_fp_placement_strategy -sliver_size 10	set_fp_placement_strategy -macros_on_edge off		create_fp_placement -effort low -no_legalize		shape_fp_blocks	## Here're some options to consider:	#	-channel (create channels btw plangroups)	#	-sliver_threshold threshold (block out small channels during shaping)	save_mw_cel -as ${ICC_DP_CREATE_PLANGROUPS_CEL}_shape}################################################################################## Placement Based on Plangroups							#################################################################################### To place macros on edge of chip or plan group which is default off. ## Suggested to set it after plan groups are created:set_fp_placement_strategy -macros_on_edge autocreate_fp_placement -effort highreport_fp_placement > ${REPORTS_DIR}/${ICC_DP_CREATE_PLANGROUPS_CEL}_place.placement_rpt###################################################################################################### REMINDER: After shaping is done, please examine plan group results and make necessary adjustments ######################################################################################################save_mw_celclose_mw_libexit

⌨️ 快捷键说明

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