diff options
| -rw-r--r-- | common/router1.cc | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/common/router1.cc b/common/router1.cc index 946327d2..d2816c1e 100644 --- a/common/router1.cc +++ b/common/router1.cc @@ -469,6 +469,20 @@ struct Router1              }          } +        // special case + +        if (src_wire == dst_wire) { +            NetInfo *bound = ctx->getBoundWireNet(src_wire); +            if (bound != nullptr) +                NPNR_ASSERT(bound == net_info); +            else { +                ctx->bindWire(src_wire, net_info, STRENGTH_WEAK); +            } +            arc_to_wires[arc].insert(src_wire); +            wire_to_arcs[src_wire].insert(arc); +            return true; +        } +          // reset wire queue          if (!queue.empty()) { | 
