blob: 84705965a2614fe4458bcd3681ce7b4fdc31587e [file] [log] [blame]
# Floorplan information - core boundary coordinates, std. cell row height,
# minimum track pitch as defined in LEF
#
set ::def_units $::env(DEF_UNITS_PER_MACRON)
set coreinfo [join [exec $::env(SCRIPTS_DIR)/extract_coreinfo.sh $::env(tapcell_tmp_file_tag).def] " "]
# DIEAREA ( 0 0 ) ( 93930 93930 ) ;
# ROW ROW_0 unit 0 0 FS DO 195 by 1 STEP 480 0 ;
# ROW ROW_27 unit 0 89910 N DO 195 by 1 STEP 480 0 ;
# 0 0 93930 93930 /// 0 0 0 89910 195 480
set sites_per_row [lindex $coreinfo 8]
set step [lindex $coreinfo 9]
set ::core_area_llx [expr { [lindex $coreinfo 4]/double($::def_units) }]
set ::core_area_lly [expr { [lindex $coreinfo 5]/double($::def_units) }]
set ::core_area_urx [expr { ([lindex $coreinfo 6]+$step*$sites_per_row)/double($::def_units) }]
set ::core_area_ury [expr { [lindex $coreinfo 7]/double($::def_units) }]
puts "($::core_area_llx $::core_area_lly) ($::core_area_urx $::core_area_ury)"
set ::halo 4
# POWER or GROUND #Std. cell rails starting with power or ground rails at the bottom of the core area
set ::rails_start_with "POWER" ;
# POWER or GROUND #Upper metal stripes starting with power or ground rails at the left/bottom of the core area
set ::stripes_start_with "POWER" ;
# Power nets
set ::power_nets "VDD"
set ::ground_nets "VSS"
## PDN STRATEGY:
#set ::row_height $::env(PLACE_SITE_HEIGHT)
pdn specify_grid stdcell {
rails met1
layers {
met1 {width 0.14 pitch 3.33 offset 0.07}
met4 {width 0.3 pitch 153.6 offset 16.32}
met5 {width 1.6 pitch 153.6 offset 16.65}
}
connect {{met1 met4} {met4 met5}}
}
pdn specify_grid macro {
orient {N FN S FS E FE W FW}
power_pins "$::env(VDD_PIN)"
ground_pins "$::env(GND_PIN)"
blockages "li1 met1 met2"
layers {
met3 {width 0.333 pitch 40.293 offset 2}
}
connect {{met2_PIN_ver met3} {met3 met5}}
}