diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-07-21 13:38:44 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2018-07-21 13:38:44 +0200 |
commit | c5562429760b444133fcb2391236275b0c353670 (patch) | |
tree | 793e27d83495817924130220a889ffd23d91e7a3 /common | |
parent | 09a68affa388ffafdf361ccd3de621173f2b8b48 (diff) | |
download | nextpnr-c5562429760b444133fcb2391236275b0c353670.tar.gz nextpnr-c5562429760b444133fcb2391236275b0c353670.tar.bz2 nextpnr-c5562429760b444133fcb2391236275b0c353670.zip |
Add getWireDelay API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'common')
-rw-r--r-- | common/router1.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/common/router1.cc b/common/router1.cc index 94c7070e..de5caa5a 100644 --- a/common/router1.cc +++ b/common/router1.cc @@ -148,6 +148,8 @@ struct Router bool foundRipupNet = false; thisVisitCnt++; + next_delay += ctx->getWireDelay(next_wire).avgDelay(); + if (!ctx->checkWireAvail(next_wire)) { if (!ripup) continue; @@ -226,7 +228,7 @@ struct Router : ctx(ctx), scores(scores), ripup(ripup), ripup_penalty(ripup_penalty) { std::unordered_map<WireId, delay_t> src_wires; - src_wires[src_wire] = 0; + src_wires[src_wire] = ctx->getWireDelay(src_wire).avgDelay(); route(src_wires, dst_wire); routedOkay = visited.count(dst_wire); @@ -284,7 +286,7 @@ struct Router log(" Source wire: %s\n", ctx->getWireName(src_wire).c_str(ctx)); std::unordered_map<WireId, delay_t> src_wires; - src_wires[src_wire] = 0; + src_wires[src_wire] = ctx->getWireDelay(src_wire).avgDelay(); ripup_net(ctx, net_name); ctx->bindWire(src_wire, net_name, STRENGTH_WEAK); |