mirror of https://github.com/VLSIDA/OpenRAM.git
Intersection now returns a pin_layout fixed during LEF computation.
This commit is contained in:
parent
4345136d1a
commit
fbb2ea5fb6
|
|
@ -119,14 +119,13 @@ class lef:
|
||||||
old_blockages = list(self.blockages[pin.layer])
|
old_blockages = list(self.blockages[pin.layer])
|
||||||
for blockage in old_blockages:
|
for blockage in old_blockages:
|
||||||
if blockage.overlaps(inflated_pin):
|
if blockage.overlaps(inflated_pin):
|
||||||
intersection_shape = blockage.intersection(inflated_pin)
|
intersection_pin = blockage.intersection(inflated_pin)
|
||||||
# If it is zero area, don't split the blockage
|
# If it is zero area, don't split the blockage
|
||||||
if intersection_shape[0][0]==intersection_shape[1][0] or intersection_shape[0][1]==intersection_shape[1][1]:
|
if not intersection_pin or intersection_pin.area() == 0:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Remove the old blockage and add the new ones
|
# Remove the old blockage and add the new ones
|
||||||
self.blockages[pin.layer].remove(blockage)
|
self.blockages[pin.layer].remove(blockage)
|
||||||
intersection_pin = pin_layout("", intersection_shape, inflated_pin.layer)
|
|
||||||
new_blockages = blockage.cut(intersection_pin)
|
new_blockages = blockage.cut(intersection_pin)
|
||||||
self.blockages[pin.layer].extend(new_blockages)
|
self.blockages[pin.layer].extend(new_blockages)
|
||||||
# We split something so make another pass
|
# We split something so make another pass
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue