From 5fc81d6d8d132b8442ac8ad1e2fe68df253c1718 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 6 Feb 2026 09:58:49 +0100 Subject: [PATCH] Fix routing conflicts issues --- himbaechel/uarch/gatemate/gatemate.cc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/himbaechel/uarch/gatemate/gatemate.cc b/himbaechel/uarch/gatemate/gatemate.cc index 783a11d7..381b82fe 100644 --- a/himbaechel/uarch/gatemate/gatemate.cc +++ b/himbaechel/uarch/gatemate/gatemate.cc @@ -404,6 +404,21 @@ void GateMateImpl::preRoute() route_mult(); route_clock(); ctx->assignArchInfo(); + + for (auto &net : ctx->nets) { + NetInfo *ni = net.second.get(); + if (ni->wires.empty()) + continue; + for (auto &w : ni->wires) { + if (w.second.pip != PipId()) { + const auto &extra_data = *pip_extra_data(w.second.pip); + if (extra_data.type == PipExtra::PIP_EXTRA_MUX && extra_data.resource != 0) { + pip_mask[w.second.pip.tile] |= extra_data.resource; + pip_data[w.second.pip.tile] |= extra_data.value ? extra_data.resource : 0; + } + } + } + } } void GateMateImpl::reassign_bridges(NetInfo *ni, const dict &net_wires, WireId wire,