aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2018-11-26 11:03:57 +0100
committerSylvain Munaut <tnt@246tNt.com>2018-11-26 12:51:14 +0100
commit822b525035d7a088f68684d9cf1b6c6bb15006fe (patch)
treeeeaef5f275f9b5e51b59f4128a2d1d9aff107128
parent024db62ef0525cc4458e9af122840d88b6f09865 (diff)
downloadnextpnr-822b525035d7a088f68684d9cf1b6c6bb15006fe.tar.gz
nextpnr-822b525035d7a088f68684d9cf1b6c6bb15006fe.tar.bz2
nextpnr-822b525035d7a088f68684d9cf1b6c6bb15006fe.zip
placer1: During initial placement, don't rip-up strongly binded cells
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
-rw-r--r--common/placer1.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/placer1.cc b/common/placer1.cc
index 0db7ce00..b42ef2ff 100644
--- a/common/placer1.cc
+++ b/common/placer1.cc
@@ -337,9 +337,10 @@ class SAPlacer
}
} else {
uint64_t score = ctx->rng64();
- if (score <= best_ripup_score) {
+ CellInfo *bound_cell = ctx->getBoundBelCell(bel);
+ if (score <= best_ripup_score && bound_cell->belStrength < STRENGTH_STRONG) {
best_ripup_score = score;
- ripup_target = ctx->getBoundBelCell(bel);
+ ripup_target = bound_cell;
ripup_bel = bel;
}
}