aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-11-11 12:16:25 +0100
committerClifford Wolf <clifford@clifford.at>2018-11-11 12:16:25 +0100
commitee8826b6e86fdce793a4c58ee685bd6cae5d796e (patch)
tree19e234b85b322e6a68a29f6a67c4a5c3b874bc7c
parentdac553cab4b72a052f9738017d13ea40495f610c (diff)
downloadnextpnr-ee8826b6e86fdce793a4c58ee685bd6cae5d796e.tar.gz
nextpnr-ee8826b6e86fdce793a4c58ee685bd6cae5d796e.tar.bz2
nextpnr-ee8826b6e86fdce793a4c58ee685bd6cae5d796e.zip
Ignore "duplicate" arcs in the same net in router1
Signed-off-by: Clifford Wolf <clifford@clifford.at>
-rw-r--r--common/router1.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/common/router1.cc b/common/router1.cc
index 578e287b..6a888c45 100644
--- a/common/router1.cc
+++ b/common/router1.cc
@@ -325,9 +325,12 @@ remove_wire_arcs:
log_error("No wire found for port %s on destination cell %s.\n", net_info->users[user_idx].port.c_str(ctx),
net_info->users[user_idx].cell->name.c_str(ctx));
- if (dst_to_arc.count(dst_wire))
+ if (dst_to_arc.count(dst_wire)) {
+ if (dst_to_arc.at(dst_wire).net_info == net_info)
+ continue;
log_error("Found two arcs with same sink wire %s: %s (%d) vs %s (%d)\n", ctx->getWireName(dst_wire).c_str(ctx),
ctx->nameOf(net_info), user_idx, ctx->nameOf(dst_to_arc.at(dst_wire).net_info), dst_to_arc.at(dst_wire).user_idx);
+ }
if (src_to_net.count(dst_wire))
log_error("Wire %s is used as source and sink in different nets: %s vs %s (%d)\n", ctx->getWireName(dst_wire).c_str(ctx),