From e95f38e88ebcd07e0cf313cabbd5c2e56a6db85c Mon Sep 17 00:00:00 2001 From: David Shah Date: Sun, 17 Jun 2018 10:55:19 +0200 Subject: [PATCH] place_sa: Run a validity check at the end of placement Signed-off-by: David Shah --- common/place_sa.cc | 9 +++++++++ 1 file changed, 9 insertions(+) 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