From 7be6f2783b41698926a08a2d92088bc24df4333f Mon Sep 17 00:00:00 2001 From: Eren Dogan Date: Mon, 31 Jul 2023 12:24:31 -0700 Subject: [PATCH] Refix logic mistake in graph router --- compiler/router/graph.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/router/graph.py b/compiler/router/graph.py index 3af19ea9..de0139f8 100644 --- a/compiler/router/graph.py +++ b/compiler/router/graph.py @@ -105,8 +105,9 @@ class graph: min_diff = diff return min_diff + wide = self.router.track_wire offset = self.router.offset - spacing = self.router.track_space + offset + drc["grid"] + spacing = snap(self.router.track_space + offset + drc["grid"]) blocked = False for blockage in self.graph_blockages: # Check if the node is inside the blockage @@ -124,7 +125,7 @@ class graph: ll, ur = blockage.rect safe = [True, True] 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]))) if min_diff < offset: safe[i] = False @@ -140,7 +141,7 @@ class graph: if xdiff == 0 and ydiff == 0: if pin_safe and blockage in [self.source, self.target]: return False - elif xdiff < spacing or ydiff < spacing: + elif xdiff < spacing and ydiff < spacing: blocked = True else: blocked = True