aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gowin/arch.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/gowin/arch.cc b/gowin/arch.cc
index af851467..e6ee8267 100644
--- a/gowin/arch.cc
+++ b/gowin/arch.cc
@@ -209,6 +209,16 @@ void Arch::addWire(IdString name, IdString type, int x, int y)
wi.y = y;
wire_ids.push_back(name);
+
+ // Needed to ensure empty tile bel locations
+ if (int(bels_by_tile.size()) <= x)
+ bels_by_tile.resize(x + 1);
+ if (int(bels_by_tile[x].size()) <= y)
+ bels_by_tile[x].resize(y + 1);
+ if (int(tileBelDimZ.size()) <= x)
+ tileBelDimZ.resize(x + 1);
+ if (int(tileBelDimZ[x].size()) <= y)
+ tileBelDimZ[x].resize(y + 1);
}
void Arch::addPip(IdString name, IdString type, IdString srcWire, IdString dstWire, DelayQuad delay, Loc loc)