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;
|
||||
}
|
||||
}
|
||||
// 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);
|
||||
for (auto child : cell->constr_children) {
|
||||
IncreasingDiameterSearch xSearch, ySearch, zSearch;
|
||||
|
Loading…
Reference in New Issue
Block a user