aboutsummaryrefslogtreecommitdiffstats
path: root/common/placer1.cc
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2018-08-08 07:58:01 -0700
committerEddie Hung <eddieh@ece.ubc.ca>2018-08-08 07:58:01 -0700
commitd21e5a4b10c2eb57ae13e4622aa436339a96bcb9 (patch)
tree4e2e0d62114d4066190bae85331d61d718987de2 /common/placer1.cc
parentacd2a92b0353242200ef89a2107c1ac5b3903094 (diff)
downloadnextpnr-d21e5a4b10c2eb57ae13e4622aa436339a96bcb9.tar.gz
nextpnr-d21e5a4b10c2eb57ae13e4622aa436339a96bcb9.tar.bz2
nextpnr-d21e5a4b10c2eb57ae13e4622aa436339a96bcb9.zip
Disable assign_budget() after placement legalisation, unless slack redist
Diffstat (limited to 'common/placer1.cc')
-rw-r--r--common/placer1.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/common/placer1.cc b/common/placer1.cc
index 1d00e77a..51ef271a 100644
--- a/common/placer1.cc
+++ b/common/placer1.cc
@@ -236,7 +236,10 @@ class SAPlacer
temp = post_legalise_temp;
diameter *= post_legalise_dia_scale;
ctx->shuffle(autoplaced);
- assign_budget(ctx);
+
+ // Legalisation is a big change so force a slack redistribution here
+ if (ctx->slack_redist_iter > 0)
+ assign_budget(ctx, true /* quiet */);
} else if (ctx->slack_redist_iter > 0 && iter % ctx->slack_redist_iter == 0) {
assign_budget(ctx, true /* quiet */);
}