router2: Error instead of hang in case of reservation conflicts

Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
gatecat 2021-12-11 19:25:59 +00:00
parent 62fcf944f9
commit 3c8af04ca5

View File

@ -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;