#joe set WORK_DIR_INIT_DP /aaa/bbb/ccc
set WORK_DIR_INIT_DP $SEV(workarea_dir)/designs/$SVAR(design_name)/current/dp/PART_REF_0123_2
if { ![file exist $WORK_DIR_INIT_DP ] } { exec mkdir $WORK_DIR_INIT_DP }
set DP_BLOCK_REFS "block1 block2 block3 block4"
set cwd [pwd]
cd ${WORK_DIR_INIT_DP}
foreach ref ${DP_BLOCK_REFS} {
set dlib "${ref}.dlib"
puts "RM-info : Creating $dlib"
file delete -force $dlib
copy_lib -no_design -to_lib $dlib
set_attribute $dlib use_hier_ref_libs true
commit_block -library $dlib $ref
set_ref_libs -add $dlib
}
cd $cwd
#joe run_monitor_gui
#create_abstract -placement -host_options blocks_local -all_blocks
create_abstract -placement -all_blocks
list_blocks
connect_pg_net -all_blocks
save_lib -all
set all_blocks [get_cells -hierarchical -filter is_soft_macro -quiet]
create_keepout_margin -outer {0.48 0.54 0.48 0.54 } -type hard_macro $all_blocks
create_keepout_margin -outer {0.48 0.54 0.48 0.54 } -type hard $all_blocks
create_keepout_margin -inner {0.48 0.54 0.48 0.54 } -type soft [get_attribute $all_blocks ref_block]
create_keepout_margin -inner {0.48 0.54 0.48 0.54 } -type hard_macro [get_attribute $all_blocks ref_block]
create_keepout_margin -inner {0.48 0.54 0.48 0.54 } -type hard [get_attribute $all_blocks ref_block]
save_lib -all
report_editability -blocks [ add_to_collection [get_blocks] [get_blocks -hier] ]
set_editability -from_level 0 -value true
#joe run_monitor_gui
#create_placement -floorplan -host_options blocks_local
create_placement -floorplan
# If congestion removal is needed, add -congestion
save_block -hierarchical -label placed2
save_lib -all
set_block_pin_constraints -allowed_layers {C4 C5 C6 C7} -allow_feedthroughs false
report_block_pin_constraints
place_pins
check_pin_placement -pin_spacing true -layers true
save_lib -all
|