Skip to content

Commit f849db4

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

File tree

1 file changed

+73
-17
lines changed

1 file changed

+73
-17
lines changed

flow/util/cell-veneer/wrap_stdcells.tcl

Lines changed: 73 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ proc clear_left { physical_pin blockages } {
102102
set track [dict get $physical_pin track]
103103

104104
foreach blockage $blockages {
105-
if { [dict get $blockage track] == $track && [dict get $blockage to] < [dict get $physical_pin from] } {
105+
if { [dict get $blockage track] == $track && \
106+
[dict get $blockage to] < [dict get $physical_pin from] } {
106107
return 0
107108
}
108109
}
@@ -113,7 +114,8 @@ proc clear_right { physical_pin blockages } {
113114
set track [dict get $physical_pin track]
114115

115116
foreach blockage $blockages {
116-
if { [dict get $blockage track] == $track && [dict get $blockage from] > [dict get $physical_pin to] } {
117+
if { [dict get $blockage track] == $track && \
118+
[dict get $blockage from] > [dict get $physical_pin to] } {
117119
return 0
118120
}
119121
}
@@ -179,7 +181,10 @@ proc move_m2_pins_to_edge { cell_name cell_data } {
179181
set layer_name [dict get $wrapper_cfg remove_pins layer]
180182
set layer_width [expr round([dict get $wrapper_cfg layer $layer_name width] * $def_units)]
181183
set new_pin_layer_name [dict get $wrapper_cfg new_pins layer]
182-
set new_pin_layer_width [expr round([dict get $wrapper_cfg layer $new_pin_layer_name width] * $def_units)]
184+
set new_pin_layer_width [expr round( \
185+
[dict get $wrapper_cfg layer $new_pin_layer_name width] * \
186+
$def_units \
187+
)]
183188
set cell_width [lindex [dict get [lef get_cell $cell_name] die_area] 2]
184189
set design [wrapper::create_def_wrapper $cell_name ${cell_name}_mod]
185190
set lower_y [expr 2 * 128]
@@ -280,7 +285,14 @@ proc move_m2_pins_to_edge { cell_name cell_data } {
280285
dict set design obstructions M2 $m2_obstructions
281286
}
282287
# Replace the M2 port with an M1 port which is now at the side of the cells
283-
set new_pin_rect [list [expr round($x2 - ($new_pin_layer_width / 2))] $lower_y [expr round($x2 + ($new_pin_layer_width / 2))] $upper_y]
288+
set new_pin_rect [concat \
289+
[list \
290+
[expr round($x2 - ($new_pin_layer_width / 2))] \
291+
$lower_y \
292+
[expr round($x2 + ($new_pin_layer_width / 2))] \
293+
$upper_y \
294+
] \
295+
]
284296
if { [dict exists $port layers "M1" shapes] } {
285297
set shapes [dict get $port layers "M1" shapes]
286298
} else {
@@ -368,7 +380,10 @@ proc move_m2_pins_to_edge { cell_name cell_data } {
368380
dict set design die_area [list \
369381
0 \
370382
0 \
371-
[expr [lindex [dict get $design die_area] 2] + (($pad_idx - ($left_padding + 1)) * $padding_cell_width)] \
383+
[concat \
384+
[expr [lindex [dict get $design die_area] 2] + \
385+
(($pad_idx - ($left_padding + 1)) * $padding_cell_width)] \
386+
] \
372387
[lindex [dict get $design die_area] 3]]
373388

374389
# Extend VDD, VSS, VPW, VNW pins to be the width of the wrapper
@@ -434,7 +449,13 @@ proc get_pin_rect { port layer } {
434449
set offset [list 0 0]
435450
}
436451

437-
return [absolute_rectangle [dict get [lindex [dict get $port layers $layer shapes] 0] rect] $offset]
452+
return [absolute_rectangle \
453+
[dict get \
454+
[lindex \
455+
[dict get $port layers $layer shapes] 0 \
456+
] rect \
457+
] $offset \
458+
]
438459
}
439460

440461
proc wrap_macro { cell_name } {
@@ -465,14 +486,19 @@ proc wrap_macro { cell_name } {
465486
}
466487

467488
set macro_pin_y [expr ([lindex $pin_rect 1] + [lindex $pin_rect 3]) / 2]
468-
set grid_y [expr round((floor(([lindex $pin_rect 1] + [lindex $pin_rect 3]) / 2 / [dict get $tech pitch horizontal_track]) - 1))]
489+
set grid_y [expr round((floor( \
490+
([lindex $pin_rect 1] + [lindex $pin_rect 3]) / 2 / \
491+
[dict get $tech pitch horizontal_track]) - 1))]
469492

470493
# Need to check that the grid point we're trying to use is going to be accessible.
471494
# If it is not, then try the point 2 grid points higher
472495
if { [dict exists $grid_pins $grid_y] } {
473496
if { [dict exists $grid_pins [expr $grid_y + 2]] } {
474497
puts "Cell $cell_name"
475-
puts "Problem assigning pin grid - requested and upper grid points for $pin_name at $grid_y already allocated to [dict get $grid_pins $grid_y] and [dict get $grid_pins [expr $grid_y + 2]]"
498+
puts [concat "Problem assigning pin grid - requested and upper grid points " \
499+
"for $pin_name at " \
500+
"$grid_y already allocated to [dict get $grid_pins $grid_y] and " \
501+
"[dict get $grid_pins [expr $grid_y + 2]]"]
476502
exit -1
477503
}
478504
set grid_y [expr $grid_y + 2]
@@ -486,14 +512,19 @@ proc wrap_macro { cell_name } {
486512
set order [lsort -integer [dict keys $grid_pins]]
487513
set prev_pos [lindex $order 0]
488514

515+
# tclint-disable-next-line line-length
489516
# We will have a jog in the track, which needs to be on a vertical grid 3 units from the edge of the macro
490517
# If there is another pin close by, the we will need to have the jog 3 grids further in
491518
dict set net_info [dict get $grid_pins $prev_pos] h_offset 3
492519
foreach pin_pos [lrange $order 1 end] {
493520
if { $pin_pos - $prev_pos > 3 } {
494521
dict set net_info [dict get $grid_pins $pin_pos] h_offset 3
495522
} else {
496-
dict set net_info [dict get $grid_pins $pin_pos] h_offset [expr [dict get $net_info [dict get $grid_pins $prev_pos] h_offset] + 3]
523+
dict set net_info [dict get $grid_pins $pin_pos] h_offset \
524+
[expr \
525+
[dict get $net_info [dict get $grid_pins $prev_pos] h_offset] \
526+
+ 3 \
527+
]
497528
}
498529
set prev_pos $pin_pos
499530
}
@@ -507,12 +538,18 @@ proc wrap_macro { cell_name } {
507538
}
508539
set wrapper_depth [expr $wrapper_depth + 3]
509540
set macro_x [expr $wrapper_depth * [dict get $tech pitch vertical_track]]
510-
set width [expr round((floor([lef get_width $cell] / [dict get $tech pitch vertical_track]) + 1) * [dict get $tech pitch vertical_track] )]
511-
set height [expr round((floor([lef get_height $cell] / [dict get $tech pitch horizontal_track]) + 1) * [dict get $tech pitch horizontal_track])]
541+
set width [expr round((floor([lef get_width $cell] / \
542+
[dict get $tech pitch vertical_track]) + 1) * \
543+
[dict get $tech pitch vertical_track])]
544+
set height [expr round((floor([lef get_height $cell] / \
545+
[dict get $tech pitch horizontal_track]) + 1) * \
546+
[dict get $tech pitch horizontal_track])]
512547

513548
# Now we know where the macro is placed, we know the size of the wrapper
514549
dict set wrapper die_area [list [expr round(-1 * $macro_x)] 0 [expr $width] $height]
515550
# debug "Set die area [dict get $wrapper die_area]"
551+
552+
# tclint-disable-next-line line-length
516553
# Now we know the maximum extent of the space needed for the job we can add in the pins the appropriate number of grids to the left of the RAM
517554

518555
# Shift the wrapper so the lower left corner is at (0, 0)
@@ -542,14 +579,24 @@ proc wrap_macro { cell_name } {
542579
dict set new_port layers {}
543580
dict set new_port fixed [list 0 $y_position]
544581
dict set new_port layers "C4" shapes [list \
545-
[list rect [list 0 [expr 0 - [dict get $tech layer C4 width] / 2] [dict get $tech layer C4 depth] [expr 0 + [dict get $tech layer C4 width] / 2]]]]
582+
[list rect [concat \
583+
[list 0 \
584+
[expr 0 - [dict get $tech layer C4 width] / 2] \
585+
[dict get $tech layer C4 depth] \
586+
[expr 0 + [dict get $tech layer C4 width] / 2] \
587+
] \
588+
]] \
589+
]
546590
# debug "Replacing pin $net_name with $new_port"
547591
dict set wrapper pins $net_name ports [list $new_port]
548592

549593
set segments {}
550594

551595
# First segment from RAM to jog location, to the y grid of the pin
552-
set target_grid_point [expr ($wrapper_depth - [dict get $net h_offset]) * [dict get $tech pitch vertical_track]]
596+
set target_grid_point [expr \
597+
($wrapper_depth - [dict get $net h_offset]) * \
598+
[dict get $tech pitch vertical_track] \
599+
]
553600
set width [dict get $tech layer [dict get $net pin_layer] width]
554601
lappend segments [list \
555602
layer [dict get $net pin_layer] \
@@ -591,7 +638,10 @@ proc test_harness { wrappers } {
591638
set grid_x_size [expr $max_cell_width + (2 * $site_width)]
592639
set grid_y_size [expr 4 * $site_height]
593640

594-
def new_design "test_harness" [dict get $wrapper_cfg def_units] [list 0 0 [expr round($grid_x_size * $num_grids)] [expr round($grid_y_size * $num_grids)]]
641+
def new_design "test_harness" [dict get $wrapper_cfg def_units] \
642+
[concat [list 0 0] \
643+
[list [expr round($grid_x_size * $num_grids)] \
644+
[expr round($grid_y_size * $num_grids)]]]
595645

596646
foreach cell [dict keys $wrappers] {
597647
set x [expr round(($idx % $num_grids) * $grid_x_size)]
@@ -617,6 +667,7 @@ proc set_stdcell_config { config } {
617667
}
618668

619669
proc run { } {
670+
# tclint-disable-next-line line-length
620671
set file_name /projects/ssg/pj10000064_diphda/users/colhol01/openroad/library/arm/cp/14lpp/sc10p5mcpp84_base_lvt_c14/r2p1/lef/sc10p5mcpp84_14lpp_base_lvt_c14.lef
621672

622673
lef read_macros $file_name
@@ -633,7 +684,10 @@ proc convert_tech_to_def_units { tech } {
633684
dict for {layer_name layer} [dict get $tech layer] {
634685
foreach property {depth width non_preferred_width} {
635686
if { [dict exists $layer $property] } {
636-
dict set tech layer $layer_name $property [expr round([dict get $layer $property] * $def_units)]
687+
dict set tech layer $layer_name $property \
688+
[expr round( \
689+
[dict get $layer $property] * $def_units \
690+
)]
637691
}
638692
}
639693
}
@@ -646,8 +700,10 @@ proc convert_tech_to_def_units { tech } {
646700
}
647701
}
648702

649-
dict set tech pitch vertical_track [expr round([dict get $tech pitch vertical_track] * $def_units)]
650-
dict set tech pitch horizontal_track [expr round([dict get $tech pitch horizontal_track] * $def_units)]
703+
dict set tech pitch vertical_track [expr round( \
704+
[dict get $tech pitch vertical_track] * $def_units)]
705+
dict set tech pitch horizontal_track [expr round( \
706+
[dict get $tech pitch horizontal_track] * $def_units)]
651707

652708
return $tech
653709
}

0 commit comments

Comments
 (0)