From c061b985badecb644b9de9636b66da5e0e9f6b78 Mon Sep 17 00:00:00 2001 From: mguthaus Date: Tue, 6 Jun 2017 17:12:19 -0700 Subject: [PATCH] Fix missing map key check in blocked get/set. --- compiler/router/grid.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/compiler/router/grid.py b/compiler/router/grid.py index 6ddaf382..055d55c7 100644 --- a/compiler/router/grid.py +++ b/compiler/router/grid.py @@ -41,6 +41,10 @@ class grid: self.add_map(n) self.map[n].blocked=True + def is_blocked(self,n): + self.add_map(n) + return self.map[n].blocked + def set_source(self,n): self.add_map(n) self.map[n].source=True @@ -80,13 +84,15 @@ class grid: def add_source(self,track_list): debug.info(3,"Adding source list={0}".format(str(track_list))) for n in track_list: - if not self.map[n].blocked: + self.add_map(n) + if not self.is_blocked(n): self.set_source(n) def add_target(self,track_list): debug.info(3,"Adding target list={0}".format(str(track_list))) for n in track_list: - if not self.map[n].blocked: + self.add_map(n) + if not self.is_blocked(n): self.set_target(n) def reset_cells(self):