diff options
author | David Shah <dave@ds0.me> | 2019-11-18 15:07:19 +0000 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2019-12-27 10:44:30 +0000 |
commit | 28279b18fe219c182a97efa992f022c8d243ae28 (patch) | |
tree | 25c92ed0d9afdb3d62044d08c07604a32a008908 /ice40 | |
parent | c9a0033c5c7d5bfcf75df3afb0f877e61a1d0df5 (diff) | |
download | nextpnr-28279b18fe219c182a97efa992f022c8d243ae28.tar.gz nextpnr-28279b18fe219c182a97efa992f022c8d243ae28.tar.bz2 nextpnr-28279b18fe219c182a97efa992f022c8d243ae28.zip |
frontend/generic: Fix regressions
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'ice40')
-rw-r--r-- | ice40/pack.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ice40/pack.cc b/ice40/pack.cc index 90c6de31..cb430eb9 100644 --- a/ice40/pack.cc +++ b/ice40/pack.cc @@ -527,7 +527,9 @@ static void pack_io(Context *ctx) std::copy(ci->attrs.begin(), ci->attrs.end(), std::inserter(sb->attrs, sb->attrs.begin())); } else if (is_sb_io(ctx, ci) || is_sb_gb_io(ctx, ci)) { NetInfo *net = ci->ports.at(ctx->id("PACKAGE_PIN")).net; - if ((net != nullptr) && (net->users.size() > 1)) + if ((net != nullptr) && ((net->users.size() > 2) || + (net->driver.cell != nullptr && + net->driver.cell->type == ctx->id("$nextpnr_obuf") && net->users.size() > 1))) log_error("PACKAGE_PIN of %s '%s' connected to more than a single top level IO.\n", ci->type.c_str(ctx), ci->name.c_str(ctx)); } |