placer: Fix conflicts during constraint legalisation
Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
parent
848ce6d41c
commit
228cbf77d0
@ -237,6 +237,12 @@ class ConstraintLegaliseWorker
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Don't place at tiles where any strongly bound Bels exist, as we might need to rip them up later
|
||||||
|
for (auto tilebel : ctx->getBelsByTile(loc.x, loc.y)) {
|
||||||
|
CellInfo *tcell = ctx->getBoundBelCell(tilebel);
|
||||||
|
if (tcell && tcell->belStrength >= STRENGTH_STRONG)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
usedLocations.insert(loc);
|
usedLocations.insert(loc);
|
||||||
for (auto child : cell->constr_children) {
|
for (auto child : cell->constr_children) {
|
||||||
IncreasingDiameterSearch xSearch, ySearch, zSearch;
|
IncreasingDiameterSearch xSearch, ySearch, zSearch;
|
||||||
|
Loading…
Reference in New Issue
Block a user