aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2022-12-17 10:49:51 +0000
committergatecat <gatecat@ds0.me>2022-12-17 10:50:20 +0000
commitccb573298c28d84f3d1dc468ae5a701bb7ee3cf0 (patch)
treee92a42b1c26a368b9ebc59b23fc33dc17ad42d44
parent0eb53d59d84ea1c46de7d9e25eb5a9901544202d (diff)
downloadnextpnr-ccb573298c28d84f3d1dc468ae5a701bb7ee3cf0.tar.gz
nextpnr-ccb573298c28d84f3d1dc468ae5a701bb7ee3cf0.tar.bz2
nextpnr-ccb573298c28d84f3d1dc468ae5a701bb7ee3cf0.zip
heap: encourage more spreading of heterogenous chains
Signed-off-by: gatecat <gatecat@ds0.me>
-rw-r--r--common/place/placer_heap.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/common/place/placer_heap.cc b/common/place/placer_heap.cc
index 0dfc29e6..339b88e7 100644
--- a/common/place/placer_heap.cc
+++ b/common/place/placer_heap.cc
@@ -663,7 +663,7 @@ class HeAPPlacer
if (cell->cluster != ClusterId()) {
const auto base = cell_locs[cell->name];
for (auto child : cluster2cells.at(cell->cluster)) {
- if (child->type == cell->type && child != cell)
+ if (child != cell)
chain_size[cell->name]++;
Loc offset = ctx->getClusterOffset(child);
cell_locs[child->name].x = std::max(0, std::min(max_x, base.x + offset.x));
@@ -856,7 +856,7 @@ class HeAPPlacer
// Was now placed, ignore
if (ci->bel != BelId())
continue;
- // log_info(" Legalising %s (%s)\n", top.second.c_str(ctx), ci->type.c_str(ctx));
+ // log_info(" Legalising %s (%s) %d\n", top.second.c_str(ctx), ci->type.c_str(ctx), top.first);
FastBels::FastBelsData *fb;
fast_bels.getBelsForCellType(ci->type, &fb);
int radius = 0;