@@ -4,12 +4,7 @@ set BONDPAD_SIZE 70
44set SEALRING_OFFSET 70
55set IO_OFFSET [expr { $BONDPAD_SIZE + $SEALRING_OFFSET }]
66
7- proc calc_horizontal_pad_location { index total } {
8- global IO_LENGTH
9- global IO_WIDTH
10- global BONDPAD_SIZE
11- global SEALRING_OFFSET
12-
7+ proc calc_horizontal_pad_location { index total IO_LENGTH IO_WIDTH BONDPAD_SIZE SEALRING_OFFSET } {
138 set DIE_WIDTH [expr { [lindex $::env(DIE_AREA) 2] - [lindex $::env(DIE_AREA) 0] }]
149 set PAD_OFFSET [expr { $IO_LENGTH + $BONDPAD_SIZE + $SEALRING_OFFSET }]
1510 set PAD_AREA_WIDTH [expr { $DIE_WIDTH - ($PAD_OFFSET * 2) }]
@@ -21,12 +16,7 @@ proc calc_horizontal_pad_location { index total } {
2116 }]
2217}
2318
24- proc calc_vertical_pad_location { index total } {
25- global IO_LENGTH
26- global IO_WIDTH
27- global BONDPAD_SIZE
28- global SEALRING_OFFSET
29-
19+ proc calc_vertical_pad_location { index total IO_LENGTH IO_WIDTH BONDPAD_SIZE SEALRING_OFFSET } {
3020 set DIE_HEIGHT [expr { [lindex $::env(DIE_AREA) 3] - [lindex $::env(DIE_AREA) 1] }]
3121 set PAD_OFFSET [expr { $IO_LENGTH + $BONDPAD_SIZE + $SEALRING_OFFSET }]
3222 set PAD_AREA_HEIGHT [expr { $DIE_HEIGHT - ($PAD_OFFSET * 2) }]
@@ -51,60 +41,60 @@ make_io_sites \
5141
5242# Place Pads
5343# IO pin io_clock
54- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 0 5] \
44+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
5545 {sg13g2_IOPad_io_clock} -master sg13g2_IOPadIn
5646# IO pin io_reset
57- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 1 5] \
47+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
5848 {sg13g2_IOPad_io_reset} -master sg13g2_IOPadIn
5949# IO pin io_i2c_scl
60- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 2 5] \
50+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6151 {sg13g2_IOPad_io_i2c_scl} -master sg13g2_IOPadInOut4mA
6252# IO pin io_i2c_sda
63- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 3 5] \
53+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6454 {sg13g2_IOPad_io_i2c_sda} -master sg13g2_IOPadInOut4mA
6555# IO pin io_i2c_interrupt
66- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 4 5] \
56+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6757 {sg13g2_IOPad_io_i2c_interrupt} -master sg13g2_IOPadOut4mA
68- place_pad -row IO_EAST -location [calc_vertical_pad_location 0 5] \
58+ place_pad -row IO_EAST -location [calc_vertical_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6959 {sg13g2_IOPadVdd_east_0} -master sg13g2_IOPadVdd
70- place_pad -row IO_EAST -location [calc_vertical_pad_location 1 5] \
60+ place_pad -row IO_EAST -location [calc_vertical_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
7161 {sg13g2_IOPadVss_east_1} -master sg13g2_IOPadVss
7262# IO pin io_address_0
73- place_pad -row IO_EAST -location [calc_vertical_pad_location 2 5] \
63+ place_pad -row IO_EAST -location [calc_vertical_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
7464 {sg13g2_IOPad_io_address_0} -master sg13g2_IOPadIn
7565# IO pin io_address_1
76- place_pad -row IO_EAST -location [calc_vertical_pad_location 3 5] \
66+ place_pad -row IO_EAST -location [calc_vertical_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
7767 {sg13g2_IOPad_io_address_1} -master sg13g2_IOPadIn
7868# IO pin io_address_2
79- place_pad -row IO_EAST -location [calc_vertical_pad_location 4 5] \
69+ place_pad -row IO_EAST -location [calc_vertical_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8070 {sg13g2_IOPad_io_address_2} -master sg13g2_IOPadIn
8171# IO pin io_gpio_0
82- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 0 5] \
72+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8373 {sg13g2_IOPad_io_gpio_0} -master sg13g2_IOPadInOut16mA
8474# IO pin io_gpio_1
85- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 1 5] \
75+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8676 {sg13g2_IOPad_io_gpio_1} -master sg13g2_IOPadInOut16mA
8777# IO pin io_gpio_2
88- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 2 5] \
78+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8979 {sg13g2_IOPad_io_gpio_2} -master sg13g2_IOPadInOut16mA
9080# IO pin io_gpio_3
91- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 3 5] \
81+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
9282 {sg13g2_IOPad_io_gpio_3} -master sg13g2_IOPadInOut16mA
9383# IO pin io_gpio_4
94- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 4 5] \
84+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
9585 {sg13g2_IOPad_io_gpio_4} -master sg13g2_IOPadInOut16mA
9686# IO pin io_gpio_5
97- place_pad -row IO_WEST -location [calc_vertical_pad_location 0 5] \
87+ place_pad -row IO_WEST -location [calc_vertical_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
9888 {sg13g2_IOPad_io_gpio_5} -master sg13g2_IOPadInOut16mA
9989# IO pin io_gpio_6
100- place_pad -row IO_WEST -location [calc_vertical_pad_location 1 5] \
90+ place_pad -row IO_WEST -location [calc_vertical_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
10191 {sg13g2_IOPad_io_gpio_6} -master sg13g2_IOPadInOut16mA
10292# IO pin io_gpio_7
103- place_pad -row IO_WEST -location [calc_vertical_pad_location 2 5] \
93+ place_pad -row IO_WEST -location [calc_vertical_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
10494 {sg13g2_IOPad_io_gpio_7} -master sg13g2_IOPadInOut16mA
105- place_pad -row IO_WEST -location [calc_vertical_pad_location 3 5] \
95+ place_pad -row IO_WEST -location [calc_vertical_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
10696 {sg13g2_IOPadIOVss_west_3} -master sg13g2_IOPadIOVss
107- place_pad -row IO_WEST -location [calc_vertical_pad_location 4 5] \
97+ place_pad -row IO_WEST -location [calc_vertical_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
10898 {sg13g2_IOPadIOVdd_west_4} -master sg13g2_IOPadIOVdd
10999# Place Corner Cells and Filler
110100place_corners sg13g2_Corner
0 commit comments