diff options
author | gatecat <gatecat@ds0.me> | 2021-12-11 19:25:59 +0000 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-12-12 13:00:04 +0000 |
commit | 3c8af04ca587aa8056bbc583e1ecd0fae49e6276 (patch) | |
tree | 55b4d3c86db76e8f95d7f32a842e0975d8ba6029 | |
parent | 62fcf944f9698dd4117443c239842ef1c6ef2242 (diff) | |
download | nextpnr-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>
-rw-r--r-- | common/router2.cc | 3 |
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; |