📄 prepare_block_dp.tcl
字号:
############################################################################################ ICC Hierarchical RM## prepare_block_dp: Prepare block and top sub directories## Version B-2008.09 ##########################################################################################source icc_setup.tclgui_set_current_task -name {Design Planning}open_mw_lib $MW_DESIGN_LIBRARYopen_mw_cel $ICC_DP_COMMIT_CEL -readonlylink########################################################################################## Get Block List########################################################################################set block_list {}foreach softmacro ${ICC_DP_PLAN_GROUPS} { set block [get_attribute -class cell $softmacro ref_name] set block_list "$block_list $block"}close_mw_celclose_mw_lib########################################################################################## Prepare block level run directory########################################################################################foreach block $block_list { sh mkdir $block sh cp -rf Makefile icc_scripts icc_dp_scripts ./sdc/${block}.sdc $block sh mv lib_${block} $block ### Prepare Setup Files ### sh sed -e 's/set DESIGN_NAME.*/set DESIGN_NAME $block/' common_setup.tcl > ${block}/common_setup.tcl sh sed -e 's/set MW_DESIGN_LIBRARY.*/set MW_DESIGN_LIBRARY lib_\$DESIGN_NAME/' \ -e 's/set ICC_INIT_DESIGN_INPUT.*/set ICC_INIT_DESIGN_INPUT MW/' \ -e 's/set ICC_INPUT_CEL.*/set ICC_INPUT_CEL \$DESIGN_NAME/' \ -e 's/set ICC_IN_SDC_FILE.*/set ICC_IN_SDC_FILE \$\{DESIGN_NAME\}.sdc/' \ -e 's/set ICC_FLOORPLAN_INPUT.*/set ICC_FLOORPLAN_INPUT SKIP/' \ -e 's/set PNS_BLOCK_MODE.*/set PNS_BLOCK_MODE true/' \ -e 's/set ICC_CREATE_MODEL.*/set ICC_CREATE_MODEL true/' icc_setup.tcl > ${block}/icc_setup.tcl ### Read SDC ### cd ./$block source icc_setup.tcl open_mw_lib lib_${block} open_mw_cel $block #read_sdc ${block}.sdc #save_mw_cel ### Write Floorplan ### write_def -version 5.6 -rows -macro -pins -blockages -verbose -output ${block}.def #write_floorplan -create_terminal -placement {io hard_macro} -row -track ${block}.floorplan ### Create ILM & FRAM #set_si_options -static_noise true #set enable_hier_si true create_macro_fram create_ilm #create_ilm -include_xtalk -keep_parasitics close_mw_cel close_mw_lib cd ../}########################################################################################## Prepare top level run directory######################################################################################## sh mkdir top sh cp -rf Makefile common_setup.tcl icc_scripts icc_dp_scripts sdc top sh mv lib_$ICC_DP_COMMIT_CEL top ### Prepare Setup Files ### sh sed -e 's/set MW_DESIGN_LIBRARY.*/set MW_DESIGN_LIBRARY lib_$ICC_DP_COMMIT_CEL/' \ -e 's/set ICC_INIT_DESIGN_INPUT.*/set ICC_INIT_DESIGN_INPUT MW/' \ -e 's/set ICC_INPUT_CEL.*/set ICC_INPUT_CEL $ICC_DP_COMMIT_CEL/' \ -e 's/set ICC_FLOORPLAN_INPUT.*/set ICC_FLOORPLAN_INPUT SKIP/' \ -e 's/set ICC_CREATE_MODEL.*/set ICC_CREATE_MODEL false/' icc_setup.tcl > top/icc_setup.tcl set MW_ILM_LIBS {} foreach block $block_list { set MW_ILM_LIBS "$MW_ILM_LIBS ../${block}/lib_${block}" } echo set MW_ILM_LIBS {"} $MW_ILM_LIBS {"} >> top/icc_setup.tcl echo "set_mw_lib_reference" {$MW_DESIGN_LIBRARY} -mw_reference_library {"$MW_REFERENCE_LIB_DIRS $MW_ILM_LIBS"} >> top/icc_setup.tcl ### Prepare Link, FRAM View and fix the blocks cd ./top source icc_setup.tcl open_mw_lib lib_$ICC_DP_COMMIT_CEL open_mw_cel $ICC_DP_COMMIT_CEL foreach block $block_list { change_macro_view -reference $block -view FRAM } foreach softmacro ${ICC_DP_PLAN_GROUPS} { set_dont_touch_placement $softmacro } save_mw_cel ### Write Floorplan ### #write_physical_constraints -port_side -output top.physical_constraints write_def -version 5.6 -rows -macro -pins -blockages -verbose -output top.def #write_floorplan -create_terminal -placement {io hard_macro} -row -track top.floorplan close_mw_cel close_mw_lib cd ../exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -