Refix logic mistake in graph router

This commit is contained in:
Eren Dogan 2023-07-31 12:24:31 -07:00
parent 4b2659a5e2
commit 7be6f2783b
1 changed files with 4 additions and 3 deletions

View File

@ -105,8 +105,9 @@ class graph:
min_diff = diff min_diff = diff
return min_diff return min_diff
wide = self.router.track_wire
offset = self.router.offset offset = self.router.offset
spacing = self.router.track_space + offset + drc["grid"] spacing = snap(self.router.track_space + offset + drc["grid"])
blocked = False blocked = False
for blockage in self.graph_blockages: for blockage in self.graph_blockages:
# Check if the node is inside the blockage # Check if the node is inside the blockage
@ -124,7 +125,7 @@ class graph:
ll, ur = blockage.rect ll, ur = blockage.rect
safe = [True, True] safe = [True, True]
for i in range(2): for i in range(2):
if lengths[i] >= offset * 2: if lengths[i] >= wide:
min_diff = snap(min(abs(ll[i] - p[i]), abs(ur[i] - p[i]))) min_diff = snap(min(abs(ll[i] - p[i]), abs(ur[i] - p[i])))
if min_diff < offset: if min_diff < offset:
safe[i] = False safe[i] = False
@ -140,7 +141,7 @@ class graph:
if xdiff == 0 and ydiff == 0: if xdiff == 0 and ydiff == 0:
if pin_safe and blockage in [self.source, self.target]: if pin_safe and blockage in [self.source, self.target]:
return False return False
elif xdiff < spacing or ydiff < spacing: elif xdiff < spacing and ydiff < spacing:
blocked = True blocked = True
else: else:
blocked = True blocked = True