Skip to content

Commit 990010a

Browse files
committed
revert read_macros
- to avoid messing with regex spacing Signed-off-by: Jack Luar <[email protected]>
1 parent 6369d28 commit 990010a

File tree

1 file changed

+16
-49
lines changed

1 file changed

+16
-49
lines changed

flow/util/cell-veneer/lefdef.tcl

Lines changed: 16 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ proc get_height { cell } {
7272
return [expr [lindex [dict get $cell die_area] 3] - [lindex [dict get $cell die_area] 1]]
7373
}
7474

75+
# tclint-disable line-length
7576
proc read_macros { file_name } {
7677
variable cells
7778
variable def_units
@@ -93,17 +94,11 @@ proc read_macros { file_name } {
9394
} elseif { [regexp {CLASS\s+([^\s]*)} $line - cell_class] } {
9495
dict set cells $cell_name cell_class $cell_class
9596
} elseif { [regexp {ORIGIN\s+([^\s]*)\s+([^\s]*)} $line - origin_x origin_y] } {
96-
dict set cells $cell_name origin \
97-
[lmap x [list $origin_x $origin_y] { expr round($x * $def_units) }]
97+
dict set cells $cell_name origin [lmap x [list $origin_x $origin_y] { expr round($x * $def_units) }]
9898
} elseif { [regexp {FOREIGN\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)} $line - foreign x y] } {
99-
dict set cells $cell_name foreign \
100-
[list ref $foreign \
101-
origin [lmap x [list $x $y] { expr round($x * $def_units) }]]
99+
dict set cells $cell_name foreign [list ref $foreign origin [lmap x [list $x $y] { expr round($x * $def_units) }]]
102100
} elseif { [regexp {SIZE\s+([^\s]*)\s+BY\s+([^\s]*)} $line - width height] } {
103-
dict set cells $cell_name die_area \
104-
[list 0 0 \
105-
[expr round($width * $def_units)] \
106-
[expr round($height * $def_units)]]
101+
dict set cells $cell_name die_area [list 0 0 [expr round($width * $def_units)] [expr round($height * $def_units)]]
107102
} elseif { [regexp {SYMMETRY\s+(.*)\s;} $line - symmetry] } {
108103
dict set cells $cell_name symmetry $symmetry
109104
} elseif { [regexp {SITE\s+([^\s]*)} $line - site] } {
@@ -123,10 +118,7 @@ proc read_macros { file_name } {
123118
dict set cells $cell_name pins $pin_name use $use
124119
} elseif { [regexp {ANTENNAMODEL\s+([^\s]*)} $line - antennamodel] } {
125120
continue
126-
} elseif {
127-
[regexp {ANTENNAGATEAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} \
128-
$line - gate_area layer]
129-
} {
121+
} elseif { [regexp {ANTENNAGATEAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} $line - gate_area layer] } {
130122
if { [info vars antennamodel] == "" } {
131123
set antennamodel "default"
132124
}
@@ -148,10 +140,7 @@ proc read_macros { file_name } {
148140
}
149141
lappend model [list gate_area $gate_area]
150142
dict set cells $cell_name pins $pin_name antenna_model $antennamodel $model
151-
} elseif {
152-
[regexp {ANTENNADIFFAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} \
153-
$line - antennadiffarea layer]
154-
} {
143+
} elseif { [regexp {ANTENNADIFFAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} $line - antennadiffarea layer] } {
155144
dict set cells $cell_name pins $pin_name antennadiffarea area $antennadiffarea
156145
dict set cells $cell_name pins $pin_name antennadiffarea layer $antennadiffarea
157146
} elseif { [regexp {ANTENNADIFFAREA\s+([^\s]*)\s} $line - antennadiffarea] } {
@@ -167,10 +156,7 @@ proc read_macros { file_name } {
167156
continue
168157
} elseif { [regexp {LAYER\s+([^\s]*)} $line - layer] } {
169158
continue
170-
} elseif {
171-
[regexp {RECT\s+MASK\s+([^\s]*)\s+([0-9\-\.]*)\s\s*([0-9\-\.]*)\
172-
\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - mask x1 y1 x2 y2]
173-
} {
159+
} elseif { [regexp {RECT\s+MASK\s+([^\s]*)\s+([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - mask x1 y1 x2 y2] } {
174160
if { [dict exists $port layers $layer shapes] } {
175161
set layer_shapes [dict get $port layers $layer shapes]
176162
} else {
@@ -183,16 +169,11 @@ proc read_macros { file_name } {
183169
dict set port fixed $offset
184170
}
185171
set new_shape [list \
186-
rect [relative_rectangle \
187-
[lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] \
188-
$offset] \
172+
rect [relative_rectangle [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] $offset] \
189173
mask $mask]
190174
lappend layer_shapes $new_shape
191175
dict set port layers $layer shapes $layer_shapes
192-
} elseif {
193-
[regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\
194-
\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2]
195-
} {
176+
} elseif { [regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2] } {
196177
if { [dict exists $port layers $layer shapes] } {
197178
set layer_shapes [dict get $port layers $layer shapes]
198179
} else {
@@ -205,9 +186,7 @@ proc read_macros { file_name } {
205186
dict set port fixed $offset
206187
}
207188
set new_shape [list \
208-
rect [relative_rectangle \
209-
[lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] \
210-
$offset]]
189+
rect [relative_rectangle [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] $offset]]
211190
lappend layer_shapes $new_shape
212191
dict set port layers $layer shapes $layer_shapes
213192
} elseif { [regexp {END} $line] } {
@@ -234,39 +213,26 @@ proc read_macros { file_name } {
234213
set line [gets $ch]
235214
if { [regexp {^\s*$} $line] } {
236215
continue
237-
} elseif {
238-
[regexp {LAYER\s+([^\s]*)(\s+DESIGNRULEWIDTH\s+([0-9.]+))?} \
239-
$line - layer - drw]
240-
} {
216+
} elseif { [regexp {LAYER\s+([^\s]*)(\s+DESIGNRULEWIDTH\s+([0-9.]+))?} $line - layer - drw] } {
241217
if { $drw != "" } {
242218
dict set cells $cell_name layers $layer drw $drw
243219
}
244220
continue
245-
} elseif {
246-
[regexp {RECT\s+MASK\s+([^\s]*)\s+([0-9\-\.]*)\s\s*([0-9\-\.]*)\
247-
\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - mask x1 y1 x2 y2]
248-
} {
221+
} elseif { [regexp {RECT\s+MASK\s+([^\s]*)\s+([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - mask x1 y1 x2 y2] } {
249222
if { [dict exists $cells $cell_name obstructions $layer] } {
250223
set obstructions [dict get $cells $cell_name obstructions $layer]
251224
} else {
252225
set obstructions {}
253226
}
254-
lappend obstructions [concat \
255-
[list rect [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }]] \
256-
[list mask $mask]]
227+
lappend obstructions [list rect [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] mask $mask]
257228
dict set cells $cell_name obstructions $layer $obstructions
258-
} elseif {
259-
[regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\
260-
\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2]
261-
} {
229+
} elseif { [regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2] } {
262230
if { [dict exists $cells $cell_name obstructions $layer] } {
263231
set obstructions [dict get $cells $cell_name obstructions $layer]
264232
} else {
265233
set obstructions {}
266234
}
267-
lappend obstructions [concat \
268-
[list rect \
269-
[lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }]]]
235+
lappend obstructions [list rect [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }]]
270236
dict set cells $cell_name obstructions $layer $obstructions
271237
} elseif { [regexp {END} $line] } {
272238
break
@@ -285,6 +251,7 @@ proc read_macros { file_name } {
285251

286252
::close $ch
287253
}
254+
# tclint-enable line-length
288255

289256
proc get_blockage_layers { design } {
290257
if { [dict exists $design blockage_layers] } {

0 commit comments

Comments
 (0)