Skip to content

Commit 613ca65

Browse files
committed
line-length: fix cell-veneer/lefdef
Signed-off-by: Jack Luar <[email protected]>
1 parent 590f576 commit 613ca65

File tree

1 file changed

+97
-28
lines changed

1 file changed

+97
-28
lines changed

flow/util/cell-veneer/lefdef.tcl

Lines changed: 97 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,17 @@ proc read_macros { file_name } {
9393
} elseif { [regexp {CLASS\s+([^\s]*)} $line - cell_class] } {
9494
dict set cells $cell_name cell_class $cell_class
9595
} elseif { [regexp {ORIGIN\s+([^\s]*)\s+([^\s]*)} $line - origin_x origin_y] } {
96-
dict set cells $cell_name origin [lmap x [list $origin_x $origin_y] { expr round($x * $def_units) }]
96+
dict set cells $cell_name origin \
97+
[lmap x [list $origin_x $origin_y] { expr round($x * $def_units) }]
9798
} elseif { [regexp {FOREIGN\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)} $line - foreign x y] } {
98-
dict set cells $cell_name foreign [list ref $foreign origin [lmap x [list $x $y] { expr round($x * $def_units) }]]
99+
dict set cells $cell_name foreign \
100+
[list ref $foreign \
101+
origin [lmap x [list $x $y] { expr round($x * $def_units) }]]
99102
} elseif { [regexp {SIZE\s+([^\s]*)\s+BY\s+([^\s]*)} $line - width height] } {
100-
dict set cells $cell_name die_area [list 0 0 [expr round($width * $def_units)] [expr round($height * $def_units)]]
103+
dict set cells $cell_name die_area \
104+
[list 0 0 \
105+
[expr round($width * $def_units)] \
106+
[expr round($height * $def_units)]]
101107
} elseif { [regexp {SYMMETRY\s+(.*)\s;} $line - symmetry] } {
102108
dict set cells $cell_name symmetry $symmetry
103109
} elseif { [regexp {SITE\s+([^\s]*)} $line - site] } {
@@ -117,7 +123,8 @@ proc read_macros { file_name } {
117123
dict set cells $cell_name pins $pin_name use $use
118124
} elseif { [regexp {ANTENNAMODEL\s+([^\s]*)} $line - antennamodel] } {
119125
continue
120-
} elseif { [regexp {ANTENNAGATEAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} $line - gate_area layer] } {
126+
} elseif { [regexp {ANTENNAGATEAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} \
127+
$line - gate_area layer] } {
121128
if { [info vars antennamodel] == "" } {
122129
set antennamodel "default"
123130
}
@@ -139,7 +146,8 @@ proc read_macros { file_name } {
139146
}
140147
lappend model [list gate_area $gate_area]
141148
dict set cells $cell_name pins $pin_name antenna_model $antennamodel $model
142-
} elseif { [regexp {ANTENNADIFFAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} $line - antennadiffarea layer] } {
149+
} elseif { [regexp {ANTENNADIFFAREA\s+([^\s]*)\s+LAYER\s+([^\s]*)} \
150+
$line - antennadiffarea layer] } {
143151
dict set cells $cell_name pins $pin_name antennadiffarea area $antennadiffarea
144152
dict set cells $cell_name pins $pin_name antennadiffarea layer $antennadiffarea
145153
} elseif { [regexp {ANTENNADIFFAREA\s+([^\s]*)\s} $line - antennadiffarea] } {
@@ -155,7 +163,8 @@ proc read_macros { file_name } {
155163
continue
156164
} elseif { [regexp {LAYER\s+([^\s]*)} $line - layer] } {
157165
continue
158-
} 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] } {
166+
} elseif { [regexp {RECT\s+MASK\s+([^\s]*)\s+([0-9\-\.]*)\s\s*([0-9\-\.]*)\
167+
\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - mask x1 y1 x2 y2] } {
159168
if { [dict exists $port layers $layer shapes] } {
160169
set layer_shapes [dict get $port layers $layer shapes]
161170
} else {
@@ -168,11 +177,14 @@ proc read_macros { file_name } {
168177
dict set port fixed $offset
169178
}
170179
set new_shape [list \
171-
rect [relative_rectangle [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] $offset] \
180+
rect [relative_rectangle \
181+
[lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] \
182+
$offset] \
172183
mask $mask]
173184
lappend layer_shapes $new_shape
174185
dict set port layers $layer shapes $layer_shapes
175-
} elseif { [regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2] } {
186+
} elseif { [regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\
187+
\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2] } {
176188
if { [dict exists $port layers $layer shapes] } {
177189
set layer_shapes [dict get $port layers $layer shapes]
178190
} else {
@@ -184,8 +196,11 @@ proc read_macros { file_name } {
184196
set offset [lmap x [list $x1 $y1] { expr round($x * $def_units) }]
185197
dict set port fixed $offset
186198
}
187-
set new_shape [list \
188-
rect [relative_rectangle [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] $offset]]
199+
set new_shape [list \
200+
rect [relative_rectangle \
201+
[lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] \
202+
$offset] \
203+
]
189204
lappend layer_shapes $new_shape
190205
dict set port layers $layer shapes $layer_shapes
191206
} elseif { [regexp {END} $line] } {
@@ -212,26 +227,36 @@ proc read_macros { file_name } {
212227
set line [gets $ch]
213228
if { [regexp {^\s*$} $line] } {
214229
continue
215-
} elseif { [regexp {LAYER\s+([^\s]*)(\s+DESIGNRULEWIDTH\s+([0-9.]+))?} $line - layer - drw] } {
230+
} elseif { [regexp {LAYER\s+([^\s]*)(\s+DESIGNRULEWIDTH\s+([0-9.]+))?} \
231+
$line - layer - drw] } {
216232
if { $drw != "" } {
217233
dict set cells $cell_name layers $layer drw $drw
218234
}
219235
continue
220-
} 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] } {
236+
} elseif { [regexp {RECT\s+MASK\s+([^\s]*)\s+([0-9\-\.]*)\s\s*([0-9\-\.]*)\
237+
\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - mask x1 y1 x2 y2] } {
221238
if { [dict exists $cells $cell_name obstructions $layer] } {
222239
set obstructions [dict get $cells $cell_name obstructions $layer]
223240
} else {
224241
set obstructions {}
225242
}
226-
lappend obstructions [list rect [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] mask $mask]
243+
lappend obstructions [concat \
244+
[list rect [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }]] \
245+
[list mask $mask] \
246+
]
227247
dict set cells $cell_name obstructions $layer $obstructions
228-
} elseif { [regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2] } {
248+
} elseif { [regexp {RECT\s([0-9\-\.]*)\s\s*([0-9\-\.]*)\s\s*([0-9\-\.]*)\
249+
\s\s*([0-9\-\.]*)} $line - x1 y1 x2 y2] } {
229250
if { [dict exists $cells $cell_name obstructions $layer] } {
230251
set obstructions [dict get $cells $cell_name obstructions $layer]
231252
} else {
232253
set obstructions {}
233254
}
234-
lappend obstructions [list rect [lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }]]
255+
lappend obstructions [concat \
256+
[list rect \
257+
[lmap x [list $x1 $y1 $x2 $y2] { expr round($x * $def_units) }] \
258+
] \
259+
]
235260
dict set cells $cell_name obstructions $layer $obstructions
236261
} elseif { [regexp {END} $line] } {
237262
break
@@ -270,6 +295,7 @@ proc write_header { } {
270295
proc write_footer { } {
271296

272297
}
298+
# tclint-disable-next-line line-length
273299
# Read a LEF from a file into a dictionary with the name of the cell as the key and the following entries
274300
# - cell_class
275301
# - origin
@@ -309,7 +335,10 @@ proc write { design } {
309335
out " ORIGIN 0.0 0.0 ;"
310336
}
311337
out " FOREIGN [dict get $design foreign ref] [dict get $design foreign origin] ;"
312-
out " SIZE [expr 1.0 * [lindex [dict get $design die_area] 2] / $def_units] BY [expr 1.0 * [lindex [dict get $design die_area] 3] / $def_units] ;"
338+
out [concat \
339+
" SIZE [expr 1.0 * [lindex [dict get $design die_area] 2] / $def_units]" \
340+
" BY [expr 1.0 * [lindex [dict get $design die_area] 3] / $def_units] ;" \
341+
]
313342
out " SYMMETRY [dict get $design symmetry] ;"
314343
if { [dict exists $design site] } {
315344
out " SITE [dict get $design site] ;"
@@ -339,7 +368,11 @@ proc write { design } {
339368
set rect [absolute_rectangle [dict get $shape rect] $offset]
340369

341370
if { [dict exists $shape mask] } {
342-
out " RECT MASK [dict get $shape mask] [lmap x $rect { expr 1.0 * $x / $def_units }] ;"
371+
out [concat \
372+
" RECT MASK [dict get $shape mask]" \
373+
" [lmap x $rect { expr {1.0 * $x / $def_units} }]" \
374+
" ;" \
375+
]
343376
} else {
344377
out " RECT [lmap x $rect { expr 1.0 * $x / $def_units }] ;"
345378
}
@@ -357,7 +390,11 @@ proc write { design } {
357390
dict for {layer_name obstructions} [dict get $design obstructions] {
358391
lappend blocked_layers $layer_name
359392
}
360-
set sheet "0 0 [expr 1.0 * [lindex [dict get $design die_area] 2] / $def_units] [expr 1.0 * [lindex [dict get $design die_area] 3] / $def_units]"
393+
set sheet [concat \
394+
0 0 \
395+
[expr 1.0 * [lindex [dict get $design die_area] 2] / $def_units] \
396+
[expr 1.0 * [lindex [dict get $design die_area] 3] / $def_units] \
397+
]
361398
foreach layer_name [get_blockage_layers $design] {
362399
if { [dict exists $design layers $layer_name drw] } {
363400
set drw "DESIGNRULEWIDTH [dict get $design layers $layer_name drw] "
@@ -371,8 +408,12 @@ proc write { design } {
371408
dict for {layer_name obstructions} [dict get $design obstructions] {
372409
out " LAYER $layer_name ;"
373410
foreach obs $obstructions {
374-
if { [dict exists $obs mask] } {
375-
out " RECT MASK [dict get $obs mask] [lmap x [dict get $obs rect] { expr 1.0 * $x / $def_units }] ;"
411+
if { [dict exists $obs mask] } {
412+
out [concat \
413+
" RECT MASK [dict get $obs mask]" \
414+
" [lmap x [dict get $obs rect] { expr {1.0 * $x / $def_units} }]" \
415+
" ;" \
416+
]
376417
} else {
377418
out " RECT [lmap x [dict get $obs rect] { expr 1.0 * $x / $def_units }] ;"
378419
}
@@ -536,7 +577,10 @@ proc shift_point { point x y } {
536577
}
537578

538579
proc shift_rect { rect x y } {
539-
return [list [expr [lindex $rect 0] + $x] [expr [lindex $rect 1] + $y] [expr [lindex $rect 2] + $x] [expr [lindex $rect 3] + $y]]
580+
return [concat \
581+
[list [expr [lindex $rect 0] + $x] [expr [lindex $rect 1] + $y]] \
582+
[list [expr [lindex $rect 2] + $x] [expr [lindex $rect 3] + $y]] \
583+
]
540584
}
541585

542586
proc shift_origin { design x y } {
@@ -724,24 +768,39 @@ proc write { design } {
724768
}
725769

726770
out ""
727-
out "DIEAREA ( [lrange [dict get $design die_area] 0 1] ) ( [lrange [dict get $design die_area] 2 3] ) ;"
771+
out [concat \
772+
"DIEAREA ( [lrange [dict get $design die_area] 0 1] )" \
773+
" ( [lrange [dict get $design die_area] 2 3] ) ;" \
774+
]
728775

729776
if { [dict exists $design tracks] } {
730777

731778
}
732779

733780
if { [dict exists $design rows] } {
734781
foreach idx [lsort -integer [dict keys $design rows]] {
735-
out -nonewline "ROW ROW_$idx [dict get $design rows $idx site] [dict get $design rows $idx start] [dict get $design rows $idx height] [dict get $design rows $idx orientation]"
736-
out " DO [dict get $design rows $idx num_sites] BY 1 STEP [dict get $design rows $idx site_width] 0 ;"
782+
out -nonewline [concat \
783+
"ROW ROW_$idx" \
784+
[dict get $design rows $idx site] \
785+
[dict get $design rows $idx start] \
786+
[dict get $design rows $idx height] \
787+
[dict get $design rows $idx orientation] \
788+
]
789+
out [concat \
790+
" DO [dict get $design rows $idx num_sites] BY 1 STEP " \
791+
"[dict get $design rows $idx site_width] 0 ;" \
792+
]
737793
}
738794
}
739795

740796
if { [dict exists $design pins] } {
741797
out ""
742798
out "PINS [dict size [dict get $design pins]] ;"
743799
dict for {pin_name pin} [dict get $design pins] {
744-
out -nonewline "- $pin_name + NET [dict get $pin net_name] + DIRECTION [dict get $pin direction] "
800+
out -nonewline [concat \
801+
"- $pin_name + NET [dict get $pin net_name]" \
802+
"+ DIRECTION [dict get $pin direction] " \
803+
]
745804
if { [dict exists $pin use] } {
746805
out -nonewline "+ USE [dict get $pin use] "
747806
}
@@ -839,7 +898,10 @@ proc write { design } {
839898
set mask ""
840899
}
841900
if { [llength $point] == 2 } {
842-
out -nonewline " + $type [dict get $route layer] [get_line_width [dict get $route layer] [list $first_point $point]] "
901+
out -nonewline [concat \
902+
" + $type [dict get $route layer] " \
903+
"[get_line_width [dict get $route layer] [list $first_point $point]] " \
904+
]
843905
out -nonewline $shape
844906
out -nonewline $points
845907
out -nonewline $mask
@@ -870,14 +932,21 @@ proc write { design } {
870932
}
871933
if { [dict exists $net routes] } {
872934
set route [lindex [dict get $net routes] 0]
873-
out -nonewline " + ROUTED [dict get $route layer] [expr round([dict get $route width])] + SHAPE [dict get $route shape] "
935+
out -nonewline [concat \
936+
" + ROUTED [dict get $route layer] " \
937+
"[expr round([dict get $route width])] " \
938+
"+ SHAPE [dict get $route shape] " \
939+
]
874940
foreach point [dict get $route points] {
875941
out -nonewline " $point"
876942
}
877943
out ""
878944

879945
foreach route [lrange [dict get $net routes] 1 end] {
880-
out " NEW [dict get $route layer] [expr round([dict get $route width])] + SHAPE [dict get $route shape] "
946+
out [concat \
947+
" NEW [dict get $route layer] [expr round([dict get $route width])]" \
948+
"+ SHAPE [dict get $route shape] " \
949+
]
881950
foreach point [dict get $route points] {
882951
out -nonewline " $point"
883952
}

0 commit comments

Comments
 (0)