aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-12-11 19:25:59 +0000
committergatecat <gatecat@ds0.me>2021-12-12 13:00:04 +0000
commit3c8af04ca587aa8056bbc583e1ecd0fae49e6276 (patch)
tree55b4d3c86db76e8f95d7f32a842e0975d8ba6029 /common
parent62fcf944f9698dd4117443c239842ef1c6ef2242 (diff)
downloadnextpnr-3c8af04ca587aa8056bbc583e1ecd0fae49e6276.tar.gz
nextpnr-3c8af04ca587aa8056bbc583e1ecd0fae49e6276.tar.bz2
nextpnr-3c8af04ca587aa8056bbc583e1ecd0fae49e6276.zip
router2: Error instead of hang in case of reservation conflicts
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'common')
-rw-r--r--common/router2.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/common/router2.cc b/common/router2.cc
index b93e7b35..051aa7f8 100644
--- a/common/router2.cc
+++ b/common/router2.cc
@@ -464,6 +464,9 @@ struct Router2
if (ctx->debug)
log(" %s\n", ctx->nameOfWire(cursor));
did_something |= (wd.reserved_net != net->udata);
+ if (wd.reserved_net != -1 && wd.reserved_net != net->udata)
+ log_error("attempting to reserve wire '%s' for nets '%s' and '%s'\n", ctx->nameOfWire(cursor),
+ ctx->nameOf(nets_by_udata.at(wd.reserved_net)), ctx->nameOf(net));
wd.reserved_net = net->udata;
if (cursor == src)
break;