aboutsummaryrefslogtreecommitdiffstats
path: root/fpga_interchange/arch.cc
diff options
context:
space:
mode:
authorYRabbit <rabbit@yrabbit.cyou>2021-07-07 08:36:45 +1000
committerYRabbit <rabbit@yrabbit.cyou>2021-07-07 08:36:45 +1000
commit5f018df4e463a37f5a63aeb9bd7a55988e4f2027 (patch)
treefac6d37cd3954f44475d904094a3af231fc664f6 /fpga_interchange/arch.cc
parentfd7734f0006d6522dea1ea4ea29750c8bafc77c4 (diff)
parentc696e885736ed052bd1d5e8fd91b42ee3bc6af9f (diff)
downloadnextpnr-5f018df4e463a37f5a63aeb9bd7a55988e4f2027.tar.gz
nextpnr-5f018df4e463a37f5a63aeb9bd7a55988e4f2027.tar.bz2
nextpnr-5f018df4e463a37f5a63aeb9bd7a55988e4f2027.zip
Merge branch 'master' into io_port
Diffstat (limited to 'fpga_interchange/arch.cc')
-rw-r--r--fpga_interchange/arch.cc11
1 files changed, 3 insertions, 8 deletions
diff --git a/fpga_interchange/arch.cc b/fpga_interchange/arch.cc
index be40ddfd..901725d4 100644
--- a/fpga_interchange/arch.cc
+++ b/fpga_interchange/arch.cc
@@ -1518,11 +1518,6 @@ void Arch::remove_pip_pseudo_wires(PipId pip, NetInfo *net)
// This wire is part of net->wires, make sure it has no pip,
// but leave it alone. It will get cleaned up via
// unbindWire.
- if (wire_iter->second.pip != PipId() && wire_iter->second.pip != pip) {
- log_error("Wire %s report source'd from pip %s, which is not %s\n", nameOfWire(wire),
- nameOfPip(wire_iter->second.pip), nameOfPip(pip));
- }
- NPNR_ASSERT(wire_iter->second.pip == PipId() || wire_iter->second.pip == pip);
} else {
// This wire is not in net->wires, update wire_to_net.
#ifdef DEBUG_BINDING
@@ -1756,12 +1751,12 @@ bool Arch::checkPipAvailForNet(PipId pip, NetInfo *net) const
NPNR_ASSERT(src != wire);
NPNR_ASSERT(dst != wire);
- NetInfo *net = getConflictingWireNet(wire);
- if (net != nullptr) {
+ NetInfo *other_net = getConflictingWireNet(wire);
+ if (other_net != nullptr && other_net != net) {
#ifdef DEBUG_BINDING
if (getCtx()->verbose) {
log_info("Pip %s is not available because wire %s is tied to net %s\n", getCtx()->nameOfPip(pip),
- getCtx()->nameOfWire(wire), net->name.c_str(getCtx()));
+ getCtx()->nameOfWire(wire), other_net->name.c_str(getCtx()));
}
#endif
return false;