aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormyrtle <gatecat@ds0.me>2022-12-19 08:44:26 +0000
committerGitHub <noreply@github.com>2022-12-19 08:44:26 +0000
commit3ea3a931ca2b9b7228bf241a3fd6cbf861e40696 (patch)
tree2372b416ae779e05367779006f076c3f2fdeddee
parent78926b31db6dbfb465e2585ce0050bf93cb3e35c (diff)
parentccb573298c28d84f3d1dc468ae5a701bb7ee3cf0 (diff)
downloadnextpnr-3ea3a931ca2b9b7228bf241a3fd6cbf861e40696.tar.gz
nextpnr-3ea3a931ca2b9b7228bf241a3fd6cbf861e40696.tar.bz2
nextpnr-3ea3a931ca2b9b7228bf241a3fd6cbf861e40696.zip
Merge pull request #1065 from YosysHQ/gatecat/heap-chains-fix
heap: encourage more spreading of heterogenous chains
-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;