aboutsummaryrefslogtreecommitdiffstats
path: root/common/timing.cc
diff options
context:
space:
mode:
authorEddie Hung <eddie.hung+gitlab@gmail.com>2018-07-24 01:19:09 +0000
committerEddie Hung <eddie.hung+gitlab@gmail.com>2018-07-24 01:19:09 +0000
commit30ec1cfbd7dd02578fa2a3e33612e863f01ea959 (patch)
treee77d130f96c8061374318f036856aa73d431017d /common/timing.cc
parenteeb93d6eda613c0946867118c1ff93f2462e417f (diff)
parent771edd1fda8692930e186a8913b7588d18fda710 (diff)
downloadnextpnr-30ec1cfbd7dd02578fa2a3e33612e863f01ea959.tar.gz
nextpnr-30ec1cfbd7dd02578fa2a3e33612e863f01ea959.tar.bz2
nextpnr-30ec1cfbd7dd02578fa2a3e33612e863f01ea959.zip
Merge branch 'redist_slack' into 'redist_slack'
Update budgets during routing See merge request SymbioticEDA/nextpnr!15
Diffstat (limited to 'common/timing.cc')
-rw-r--r--common/timing.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/common/timing.cc b/common/timing.cc
index 9723550b..0e84dded 100644
--- a/common/timing.cc
+++ b/common/timing.cc
@@ -164,7 +164,7 @@ static delay_t follow_net_update(Context *ctx, NetInfo *net, int path_length, de
return net_budget;
}
-void update_budget(Context *ctx)
+void update_budget(Context *ctx, std::function<delay_t(Context*,WireId,WireId)> delay_fn)
{
delays_t delays;
updates_t updates;
@@ -191,7 +191,7 @@ void update_budget(Context *ctx)
if (load_cell->bel == BelId())
continue;
WireId user_wire = ctx->getWireBelPin(load_cell->bel, ctx->portPinFromId(load.port));
- delay_t raw_wl = ctx->estimateDelay(drv_wire, user_wire);
+ delay_t raw_wl = delay_fn(ctx, drv_wire, user_wire);
delays.emplace(&load_cell->ports.at(load.port), raw_wl);
}
}