From 6b58ca1376fd4c83fd484a429d4337e3ec05e031 Mon Sep 17 00:00:00 2001 From: gatecat Date: Sun, 6 Sep 2026 13:55:49 +0200 Subject: [PATCH] router2: Fix handling of unavailable wires when reserving drivers Regression from 914e84257dff480b652bd6156e9944441ec3e4ff Fixes #1792 Signed-off-by: gatecat --- common/route/router2.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/route/router2.cc b/common/route/router2.cc index fbc59772..3d7ca2f8 100644 --- a/common/route/router2.cc +++ b/common/route/router2.cc @@ -611,6 +611,8 @@ struct Router2 auto &wd = wire_data(cursor); if (ctx->debug) log(" %s (driver output)\n", ctx->nameOfWire(cursor)); + if (wd.reserved_net == PerWireData::RESERVED_UNAVAILABLE) + break; did_something |= (wd.reserved_net != net->udata); if (wd.reserved_net != -1 && wd.reserved_net != net->udata) log_error("attempting to reserve driver output path wire '%s' for nets '%s' and '%s'\n",