aboutsummaryrefslogtreecommitdiffstats
path: root/common/place_sa.cc
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-29 17:04:22 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-29 17:04:22 +0200
commit27e7bc3b4bb04b395db6456b71f31f98607a4298 (patch)
tree2e936cb9c61140719fa58120423e63007ea07e17 /common/place_sa.cc
parentd908928b56917c02db4d8127b7c594b1225ba974 (diff)
downloadnextpnr-27e7bc3b4bb04b395db6456b71f31f98607a4298.tar.gz
nextpnr-27e7bc3b4bb04b395db6456b71f31f98607a4298.tar.bz2
nextpnr-27e7bc3b4bb04b395db6456b71f31f98607a4298.zip
Improving the SA+legalisation flow
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'common/place_sa.cc')
-rw-r--r--common/place_sa.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/place_sa.cc b/common/place_sa.cc
index c0c1b180..b773bb68 100644
--- a/common/place_sa.cc
+++ b/common/place_sa.cc
@@ -207,7 +207,8 @@ class SAPlacer
temp *= 0.8;
}
}
-
+ // Once cooled below legalise threshold, run legalisation and start requiring
+ // legal moves only
if (temp < legalise_temp && !require_legal) {
legalise_design(ctx);
require_legal = true;
@@ -219,6 +220,7 @@ class SAPlacer
temp = post_legalise_temp;
diameter *= post_legalise_dia_scale;
ctx->shuffle(autoplaced);
+ assign_budget(ctx);
}
// Recalculate total wirelength entirely to avoid rounding errors