aboutsummaryrefslogtreecommitdiffstats
path: root/common/place_sa.cc
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-20 11:19:25 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-20 11:19:25 +0200
commit5d1b87b0a4e138726d751590728cdcc2f12f6192 (patch)
tree2ba0f837176a3d232e454dff4c415b775fcd70f9 /common/place_sa.cc
parenta06d2aeb4da0c51fb50d8283367836e6dbf91b4d (diff)
downloadnextpnr-5d1b87b0a4e138726d751590728cdcc2f12f6192.tar.gz
nextpnr-5d1b87b0a4e138726d751590728cdcc2f12f6192.tar.bz2
nextpnr-5d1b87b0a4e138726d751590728cdcc2f12f6192.zip
place_sa: Set placement strengths
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 0fead5d8..442559b0 100644
--- a/common/place_sa.cc
+++ b/common/place_sa.cc
@@ -100,6 +100,7 @@ class SAPlacer
}
cell->bel = bel;
+ cell->belStrength = STRENGTH_USER;
ctx->bindBel(bel, cell->name);
locked_bels.insert(bel);
placed_cells++;
@@ -214,9 +215,9 @@ class SAPlacer
}
// Final post-pacement validitiy check
for (auto bel : ctx->getBels()) {
+ IdString cell = ctx->getBelCell(bel, false);
if (!checker->isBelLocationValid(bel)) {
std::string cell_text = "no cell";
- IdString cell = ctx->getBelCell(bel, false);
if (cell != IdString())
cell_text = std::string("cell '") + cell.str(ctx) + "'";
log_error("post-placement validity check failed for Bel '%s' "
@@ -276,6 +277,7 @@ class SAPlacer
all_placed = true;
}
cell->bel = best_bel;
+ cell->belStrength = STRENGTH_WEAK;
ctx->bindBel(cell->bel, cell->name);
// Back annotate location