aboutsummaryrefslogtreecommitdiffstats
path: root/common/place_sa.cc
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-20 17:54:07 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-20 17:54:07 +0200
commitc515e5da2df1003addc02ffa606f5bda1cf1f475 (patch)
tree7e87a43b53976e193246b9e7f21d24dbbcefc032 /common/place_sa.cc
parent4fc962504028f581cc1db9ada5770900d8dacae2 (diff)
downloadnextpnr-c515e5da2df1003addc02ffa606f5bda1cf1f475.tar.gz
nextpnr-c515e5da2df1003addc02ffa606f5bda1cf1f475.tar.bz2
nextpnr-c515e5da2df1003addc02ffa606f5bda1cf1f475.zip
Improving placement timing heuristic
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'common/place_sa.cc')
-rw-r--r--common/place_sa.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/common/place_sa.cc b/common/place_sa.cc
index 485ddc88..2b8b960b 100644
--- a/common/place_sa.cc
+++ b/common/place_sa.cc
@@ -315,7 +315,10 @@ class SAPlacer
// wirelength += std::abs(load_x - driver_x) + std::abs(load_y -
// driver_y);
delay_t raw_wl = ctx->estimateDelay(drv_wire, user_wire);
- wirelength += 100 * (ctx->getDelayNS(raw_wl) / ctx->getDelayNS(load.budget));
+ wirelength += pow(1.3, (ctx->getDelayNS(raw_wl) -
+ ctx->getDelayNS(load.budget)) /
+ 10) +
+ ctx->getDelayNS(raw_wl);
// wirelength += pow(ctx->estimateDelay(drv_wire, user_wire), 2.0);
}
return wirelength;