diff options
Diffstat (limited to 'common/route.cc')
-rw-r--r-- | common/route.cc | 10 |
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 |