placer1: Fix regression moving chained cells pre-legalise
Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
parent
e04efa8c6e
commit
52e05f4a07
@ -475,11 +475,12 @@ class SAPlacer
|
|||||||
{
|
{
|
||||||
static const double epsilon = 1e-20;
|
static const double epsilon = 1e-20;
|
||||||
moveChange.reset();
|
moveChange.reset();
|
||||||
if (is_constrained(cell))
|
if (!require_legal && is_constrained(cell))
|
||||||
return false;
|
return false;
|
||||||
BelId oldBel = cell->bel;
|
BelId oldBel = cell->bel;
|
||||||
CellInfo *other_cell = ctx->getBoundBelCell(newBel);
|
CellInfo *other_cell = ctx->getBoundBelCell(newBel);
|
||||||
if (other_cell != nullptr && (is_constrained(other_cell) || other_cell->belStrength > STRENGTH_WEAK)) {
|
if (!require_legal && other_cell != nullptr &&
|
||||||
|
(is_constrained(other_cell) || other_cell->belStrength > STRENGTH_WEAK)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
int old_dist = get_constraints_distance(ctx, cell);
|
int old_dist = get_constraints_distance(ctx, cell);
|
||||||
|
Loading…
Reference in New Issue
Block a user