aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2019-01-30 21:41:00 +0100
committerDavid Shah <dave@ds0.me>2019-03-22 10:31:54 +0000
commit8e4e03d98096604c11614bcb5bf89ba995ea5251 (patch)
treea12f009941f5f881e1bdc812a5e46f5cfb9a9591 /common
parent6cf001d35546fb05d0d3dec4a22bd48fecad0126 (diff)
downloadnextpnr-8e4e03d98096604c11614bcb5bf89ba995ea5251.tar.gz
nextpnr-8e4e03d98096604c11614bcb5bf89ba995ea5251.tar.bz2
nextpnr-8e4e03d98096604c11614bcb5bf89ba995ea5251.zip
HeAP: Fix occupancy count
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'common')
-rw-r--r--common/placer_heap.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/placer_heap.cc b/common/placer_heap.cc
index 4f62e77b..7a6c2a3e 100644
--- a/common/placer_heap.cc
+++ b/common/placer_heap.cc
@@ -1088,7 +1088,8 @@ class HeAPPlacer
for (auto &cell : p->cell_locs) {
if (ctx->cells.at(cell.first)->type != beltype)
continue;
-
+ if (ctx->cells.at(cell.first)->belStrength > STRENGTH_STRONG)
+ continue;
occupancy.at(cell.second.x).at(cell.second.y)++;
// Compute ultimate extent of each chain root
if (p->chain_root.count(cell.first)) {
@@ -1502,4 +1503,4 @@ int HeAPPlacer::CutSpreader::seq = 0;
bool placer_heap(Context *ctx) { return HeAPPlacer(ctx).place(); }
-NEXTPNR_NAMESPACE_END \ No newline at end of file
+NEXTPNR_NAMESPACE_END