aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ecp5/pack.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/ecp5/pack.cc b/ecp5/pack.cc
index 9e2bc326..fde787f9 100644
--- a/ecp5/pack.cc
+++ b/ecp5/pack.cc
@@ -204,6 +204,8 @@ class Ecp5Packer
}
}
for (const char *inp : {"A", "B", "C", "D"}) {
+ if (!ci->ports.count(ctx->id(inp)))
+ continue;
NetInfo *innet = ci->ports.at(ctx->id(inp)).net;
if (innet != nullptr && innet->driver.cell != nullptr) {
CellInfo *drv = innet->driver.cell;
@@ -258,6 +260,8 @@ class Ecp5Packer
// Pack LUTs sharing an input with a simple fanout-based heuristic
for (const char *inp : {"A", "B", "C", "D"}) {
+ if (!ci->ports.count(ctx->id(inp)))
+ continue;
NetInfo *innet = ci->ports.at(ctx->id(inp)).net;
if (innet != nullptr && innet->users.size() < 5 && innet->users.size() > 1)
inpnets.push_back(innet);