diff options
author | David Shah <davey1576@gmail.com> | 2018-10-17 11:14:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-17 11:14:27 +0100 |
commit | b53a4862db99e41f16c06425f314a1a398a21985 (patch) | |
tree | dbe277f6d9487eab64715e4c14ce9be230820c38 /common/place_common.cc | |
parent | 529a595157a2eef24f8529b0de0c504a40ed503b (diff) | |
parent | 1cde2080902c25d2a59e8ebb5b0b23a90f693e8e (diff) | |
download | nextpnr-b53a4862db99e41f16c06425f314a1a398a21985.tar.gz nextpnr-b53a4862db99e41f16c06425f314a1a398a21985.tar.bz2 nextpnr-b53a4862db99e41f16c06425f314a1a398a21985.zip |
Merge pull request #89 from YosysHQ/ecp5_bram
ECP5 BRAM support
Diffstat (limited to 'common/place_common.cc')
-rw-r--r-- | common/place_common.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/place_common.cc b/common/place_common.cc index 120e5e00..da8ab37d 100644 --- a/common/place_common.cc +++ b/common/place_common.cc @@ -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; |