aboutsummaryrefslogtreecommitdiffstats
path: root/common/route.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-06-20 14:04:10 +0200
committerClifford Wolf <clifford@clifford.at>2018-06-20 14:04:10 +0200
commit2da90889efb194be4140ebfd5893bdf0ced223f3 (patch)
treec0d985f653d72c329849ab57730422f5569a4f74 /common/route.cc
parentc4e544856ab315908793949ee8e1e2ab1e11f9e0 (diff)
downloadnextpnr-2da90889efb194be4140ebfd5893bdf0ced223f3.tar.gz
nextpnr-2da90889efb194be4140ebfd5893bdf0ced223f3.tar.bz2
nextpnr-2da90889efb194be4140ebfd5893bdf0ced223f3.zip
Add "nextpnr-ice40 --tmfuzz"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'common/route.cc')
-rw-r--r--common/route.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/common/route.cc b/common/route.cc
index 657075ce..39e420d3 100644
--- a/common/route.cc
+++ b/common/route.cc
@@ -161,6 +161,7 @@ struct Router
std::unordered_map<WireId, delay_t> src_wires;
src_wires[src_wire] = 0;
route(src_wires, dst_wire);
+ routedOkay = visited.count(dst_wire);
}
Router(Context *ctx, IdString net_name, bool ripup = false,
@@ -526,4 +527,13 @@ bool route_design(Context *ctx)
return true;
}
+bool get_actual_route_delay(Context *ctx, WireId src_wire, WireId dst_wire,
+ delay_t &delay)
+{
+ Router router(ctx, src_wire, dst_wire);
+ if (router.routedOkay)
+ delay = router.visited.at(dst_wire).delay;
+ return router.routedOkay;
+}
+
NEXTPNR_NAMESPACE_END