@@ -4,11 +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
7+ proc calc_horizontal_pad_location { index total IO_LENGTH IO_WIDTH BONDPAD_SIZE SEALRING_OFFSET } {
128
139 set DIE_WIDTH [expr { [lindex $::env(DIE_AREA) 2] - [lindex $::env(DIE_AREA) 0] }]
1410 set PAD_OFFSET [expr { $IO_LENGTH + $BONDPAD_SIZE + $SEALRING_OFFSET }]
@@ -21,11 +17,7 @@ proc calc_horizontal_pad_location { index total } {
2117 }]
2218}
2319
24- proc calc_vertical_pad_location { index total } {
25- global IO_LENGTH
26- global IO_WIDTH
27- global BONDPAD_SIZE
28- global SEALRING_OFFSET
20+ proc calc_vertical_pad_location { index total IO_LENGTH IO_WIDTH BONDPAD_SIZE SEALRING_OFFSET } {
2921
3022 set DIE_HEIGHT [expr { [lindex $::env(DIE_AREA) 3] - [lindex $::env(DIE_AREA) 1] }]
3123 set PAD_OFFSET [expr { $IO_LENGTH + $BONDPAD_SIZE + $SEALRING_OFFSET }]
@@ -51,60 +43,60 @@ make_io_sites \
5143
5244# Place Pads
5345# IO pin io_clock
54- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 0 5] \
46+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
5547 {sg13g2_IOPad_io_clock} -master sg13g2_IOPadIn
5648# IO pin io_reset
57- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 1 5] \
49+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
5850 {sg13g2_IOPad_io_reset} -master sg13g2_IOPadIn
5951# IO pin io_i2c_scl
60- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 2 5] \
52+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6153 {sg13g2_IOPad_io_i2c_scl} -master sg13g2_IOPadInOut4mA
6254# IO pin io_i2c_sda
63- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 3 5] \
55+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6456 {sg13g2_IOPad_io_i2c_sda} -master sg13g2_IOPadInOut4mA
6557# IO pin io_i2c_interrupt
66- place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 4 5] \
58+ place_pad -row IO_SOUTH -location [calc_horizontal_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6759 {sg13g2_IOPad_io_i2c_interrupt} -master sg13g2_IOPadOut4mA
68- place_pad -row IO_EAST -location [calc_vertical_pad_location 0 5] \
60+ place_pad -row IO_EAST -location [calc_vertical_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
6961 {sg13g2_IOPadVdd_east_0} -master sg13g2_IOPadVdd
70- place_pad -row IO_EAST -location [calc_vertical_pad_location 1 5] \
62+ place_pad -row IO_EAST -location [calc_vertical_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
7163 {sg13g2_IOPadVss_east_1} -master sg13g2_IOPadVss
7264# IO pin io_address_0
73- place_pad -row IO_EAST -location [calc_vertical_pad_location 2 5] \
65+ place_pad -row IO_EAST -location [calc_vertical_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
7466 {sg13g2_IOPad_io_address_0} -master sg13g2_IOPadIn
7567# IO pin io_address_1
76- place_pad -row IO_EAST -location [calc_vertical_pad_location 3 5] \
68+ place_pad -row IO_EAST -location [calc_vertical_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
7769 {sg13g2_IOPad_io_address_1} -master sg13g2_IOPadIn
7870# IO pin io_address_2
79- place_pad -row IO_EAST -location [calc_vertical_pad_location 4 5] \
71+ place_pad -row IO_EAST -location [calc_vertical_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8072 {sg13g2_IOPad_io_address_2} -master sg13g2_IOPadIn
8173# IO pin io_gpio_0
82- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 0 5] \
74+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8375 {sg13g2_IOPad_io_gpio_0} -master sg13g2_IOPadInOut16mA
8476# IO pin io_gpio_1
85- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 1 5] \
77+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8678 {sg13g2_IOPad_io_gpio_1} -master sg13g2_IOPadInOut16mA
8779# IO pin io_gpio_2
88- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 2 5] \
80+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
8981 {sg13g2_IOPad_io_gpio_2} -master sg13g2_IOPadInOut16mA
9082# IO pin io_gpio_3
91- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 3 5] \
83+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
9284 {sg13g2_IOPad_io_gpio_3} -master sg13g2_IOPadInOut16mA
9385# IO pin io_gpio_4
94- place_pad -row IO_NORTH -location [calc_horizontal_pad_location 4 5] \
86+ place_pad -row IO_NORTH -location [calc_horizontal_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
9587 {sg13g2_IOPad_io_gpio_4} -master sg13g2_IOPadInOut16mA
9688# IO pin io_gpio_5
97- place_pad -row IO_WEST -location [calc_vertical_pad_location 0 5] \
89+ place_pad -row IO_WEST -location [calc_vertical_pad_location 0 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
9890 {sg13g2_IOPad_io_gpio_5} -master sg13g2_IOPadInOut16mA
9991# IO pin io_gpio_6
100- place_pad -row IO_WEST -location [calc_vertical_pad_location 1 5] \
92+ place_pad -row IO_WEST -location [calc_vertical_pad_location 1 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
10193 {sg13g2_IOPad_io_gpio_6} -master sg13g2_IOPadInOut16mA
10294# IO pin io_gpio_7
103- place_pad -row IO_WEST -location [calc_vertical_pad_location 2 5] \
95+ place_pad -row IO_WEST -location [calc_vertical_pad_location 2 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
10496 {sg13g2_IOPad_io_gpio_7} -master sg13g2_IOPadInOut16mA
105- place_pad -row IO_WEST -location [calc_vertical_pad_location 3 5] \
97+ place_pad -row IO_WEST -location [calc_vertical_pad_location 3 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
10698 {sg13g2_IOPadIOVss_west_3} -master sg13g2_IOPadIOVss
107- place_pad -row IO_WEST -location [calc_vertical_pad_location 4 5] \
99+ place_pad -row IO_WEST -location [calc_vertical_pad_location 4 5 $IO_LENGTH $IO_WIDTH $BONDPAD_SIZE $SEALRING_OFFSET ] \
108100 {sg13g2_IOPadIOVdd_west_4} -master sg13g2_IOPadIOVdd
109101# Place Corner Cells and Filler
110102place_corners sg13g2_Corner
0 commit comments