Skip to content

Commit

Permalink
heap: Fix ripup criterea (#1378)
Browse files Browse the repository at this point in the history
Signed-off-by: gatecat <[email protected]>
  • Loading branch information
gatecat authored Oct 2, 2024
1 parent 65cf6d8 commit 75d2ce6
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions common/place/placer_heap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -890,7 +890,7 @@ class HeAPPlacer
total_iters_noreset++;
if (total_iters > int(solve_cells.size())) {
total_iters = 0;
ripup_radius = std::max(std::max(max_x, max_y), ripup_radius * 2);
ripup_radius = std::min(std::max(max_x, max_y), ripup_radius * 2);
}

if (total_iters_noreset > std::max(5000, 8 * int(ctx->cells.size()))) {
Expand Down Expand Up @@ -995,7 +995,7 @@ class HeAPPlacer
CellInfo *bound = ctx->getBoundBelCell(sz);
if (bound != nullptr) {
// Only rip up cells without constraints
if (bound->cluster != ClusterId())
if (bound->cluster != ClusterId() || bound->belStrength > STRENGTH_WEAK)
continue;
ctx->unbindBel(bound->bel);
}
Expand Down

0 comments on commit 75d2ce6

Please sign in to comment.