diff options
author | David Shah <davey1576@gmail.com> | 2018-06-17 10:55:19 +0200 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2018-06-17 10:55:19 +0200 |
commit | e95f38e88ebcd07e0cf313cabbd5c2e56a6db85c (patch) | |
tree | 35f7936532dc5bfe9b9ab403c5adcbbfa440e8c8 | |
parent | 8ab0b06f5f21c5c077edd5b174d21cc26a5b9343 (diff) | |
download | nextpnr-e95f38e88ebcd07e0cf313cabbd5c2e56a6db85c.tar.gz nextpnr-e95f38e88ebcd07e0cf313cabbd5c2e56a6db85c.tar.bz2 nextpnr-e95f38e88ebcd07e0cf313cabbd5c2e56a6db85c.zip |
place_sa: Run a validity check at the end of placement
Signed-off-by: David Shah <davey1576@gmail.com>
-rw-r--r-- | common/place_sa.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/common/place_sa.cc b/common/place_sa.cc index 157d7c38..aecbb80d 100644 --- a/common/place_sa.cc +++ b/common/place_sa.cc @@ -391,6 +391,15 @@ void place_design_sa(Design *design) } } } + for (auto bel : design->chip.getBels()) { + if (!isBelLocationValid(design, bel)) { + std::string cell_text = "no cell"; + IdString cell = design->chip.getBelCell(bel, false); + if (cell != IdString()) + cell_text = std::string("cell '") + cell.str() + "'"; + log_error("post-placement validity check failed for Bel '%s' (%s)", design->chip.getBelName(bel).c_str(), cell_text.c_str()); + } + } } NEXTPNR_NAMESPACE_END |