Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions flow/scripts/placement_blockages.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ proc block_channels {channel_width_in_microns} {
# Resize to fill the channels and edge gap
#
set resize_by [expr round($channel_width_in_microns * $units)]
set shapeSet [odb::orSets $shapes]
set shapeSet [odb::bloatSet $shapeSet $resize_by]
set shapeSet0 [odb::orSets $shapes]
set shapeSet1 [odb::bloatSet $shapeSet0 $resize_by]

#
# Clip result to the core area
Expand All @@ -30,7 +30,7 @@ proc block_channels {channel_width_in_microns} {
set xh [$core xMax]
set yh [$core yMax]
set core_rect [odb::newSetFromRect $xl $yl $xh $yh]
set shapeSet [odb::andSet $shapeSet $core_rect]
set shapeSet [odb::andSet $shapeSet1 $core_rect]

#
# Output the blockages
Expand All @@ -41,5 +41,14 @@ proc block_channels {channel_width_in_microns} {
[$rect xMin] [$rect yMin] [$rect xMax] [$rect yMax]]
$b setSoft
}

odb::destroySet $shapeSet
odb::destroySet $shapeSet1
odb::destroySet $shapeSet0
odb::destroySet $core_rect

foreach shape $shapes {
odb::destroySet $shape
}
}