aboutsummaryrefslogtreecommitdiffstats
path: root/common/router1.cc
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2018-07-21 13:52:59 +0200
committerClifford Wolf <clifford@clifford.at>2018-07-21 13:52:59 +0200
commit78f40ca0af493b9ba07bb8d7c95f558f2c04d4cb (patch)
tree389198d61d89ab3e979a703f7a596d98d6e3616e /common/router1.cc
parentc5562429760b444133fcb2391236275b0c353670 (diff)
downloadnextpnr-78f40ca0af493b9ba07bb8d7c95f558f2c04d4cb.tar.gz
nextpnr-78f40ca0af493b9ba07bb8d7c95f558f2c04d4cb.tar.bz2
nextpnr-78f40ca0af493b9ba07bb8d7c95f558f2c04d4cb.zip
Change DelayInfo semantics to what we actually need
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'common/router1.cc')
-rw-r--r--common/router1.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/common/router1.cc b/common/router1.cc
index de5caa5a..e9a9bc4b 100644
--- a/common/router1.cc
+++ b/common/router1.cc
@@ -143,12 +143,12 @@ struct Router
thisVisitCntLimit = (thisVisitCnt * 3) / 2;
for (auto pip : ctx->getPipsDownhill(qw.wire)) {
- delay_t next_delay = qw.delay + ctx->getPipDelay(pip).avgDelay();
+ delay_t next_delay = qw.delay + ctx->getPipDelay(pip).maxDelay();
WireId next_wire = ctx->getPipDstWire(pip);
bool foundRipupNet = false;
thisVisitCnt++;
- next_delay += ctx->getWireDelay(next_wire).avgDelay();
+ next_delay += ctx->getWireDelay(next_wire).maxDelay();
if (!ctx->checkWireAvail(next_wire)) {
if (!ripup)
@@ -228,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] = ctx->getWireDelay(src_wire).avgDelay();
+ src_wires[src_wire] = ctx->getWireDelay(src_wire).maxDelay();
route(src_wires, dst_wire);
routedOkay = visited.count(dst_wire);
@@ -286,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] = ctx->getWireDelay(src_wire).avgDelay();
+ src_wires[src_wire] = ctx->getWireDelay(src_wire).maxDelay();
ripup_net(ctx, net_name);
ctx->bindWire(src_wire, net_name, STRENGTH_WEAK);