Skip to content

Commit f7e39da

Browse files
committed
Switched to use source_env_var_if_exists
fixed tcl issue with i2c-gpio-expander pad.tcl Signed-off-by: Jeff Ng <[email protected]>
1 parent acbfa78 commit f7e39da

File tree

4 files changed

+27
-45
lines changed

4 files changed

+27
-45
lines changed

flow/designs/ihp-sg13g2/i2c-gpio-expander/pad.tcl

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ set BONDPAD_SIZE 70
44
set SEALRING_OFFSET 70
55
set 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
110102
place_corners sg13g2_Corner

flow/scripts/floorplan.tcl

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,7 @@ if { [env_var_exists_and_non_empty MAKE_TRACKS] } {
9393
make_tracks
9494
}
9595

96-
if { [env_var_exists_and_non_empty FOOTPRINT_TCL] } {
97-
log_cmd source $::env(FOOTPRINT_TCL)
98-
}
96+
source_env_var_if_exists FOOTPRINT_TCL
9997

10098
# This needs to come before any call to remove_buffers. You could have one
10199
# tie driving multiple buffers that drive multiple outputs.
@@ -121,14 +119,8 @@ report_units
121119
report_units_metric
122120
report_metrics 2 "floorplan final" false false
123121

124-
if { [env_var_exists_and_non_empty POST_FLOORPLAN_TCL] } {
125-
log_cmd source $::env(POST_FLOORPLAN_TCL)
126-
}
127-
128-
129-
if { [env_var_exists_and_non_empty IO_CONSTRAINTS] } {
130-
log_cmd source $::env(IO_CONSTRAINTS)
131-
}
122+
source_env_var_if_exists POST_FLOORPLAN_TCL
123+
source_env_var_if_exists IO_CONSTRAINTS
132124

133125
write_db $::env(RESULTS_DIR)/2_1_floorplan.odb
134126
write_sdc -no_timestamp $::env(RESULTS_DIR)/2_1_floorplan.sdc

flow/scripts/synth_canonicalize.tcl

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ dict for {key value} [env_var_or_empty VERILOG_TOP_PARAMS] {
88

99
hierarchy -check -top $::env(DESIGN_NAME)
1010

11-
if { [env_var_exists_and_non_empty SYNTH_CANONICALIZE_TCL] } {
12-
log_cmd source $::env(SYNTH_CANONICALIZE_TCL)
13-
}
11+
source_env_var_if_exists SYNTH_CANONICALIZE_TCL
1412

1513
# Get rid of unused modules
1614
opt_clean -purge

flow/scripts/util.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,6 @@ proc place_density_with_lb_addon { } {
216216

217217
proc source_env_var_if_exists { env_var } {
218218
if { [env_var_exists_and_non_empty $env_var] } {
219-
source $::env($env_var)
219+
log_cmd source $::env($env_var)
220220
}
221221
}

0 commit comments

Comments
 (0)