aboutsummaryrefslogtreecommitdiffstats
path: root/common/place.cc
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-12 13:45:59 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-12 13:45:59 +0200
commit47eeda40bce5b520f1c5aafb52f5b4c11b799d60 (patch)
tree829a500a297656859f69837da2f0381fb383ff05 /common/place.cc
parent031d8e811f9ce00f0c72e697789f991834d1f8f2 (diff)
downloadnextpnr-47eeda40bce5b520f1c5aafb52f5b4c11b799d60.tar.gz
nextpnr-47eeda40bce5b520f1c5aafb52f5b4c11b799d60.tar.bz2
nextpnr-47eeda40bce5b520f1c5aafb52f5b4c11b799d60.zip
Implement the placement validity checker
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'common/place.cc')
-rw-r--r--common/place.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/place.cc b/common/place.cc
index 0223c78f..b187b0f0 100644
--- a/common/place.cc
+++ b/common/place.cc
@@ -28,6 +28,7 @@
#include <string.h>
#include <vector>
+#include "arch_place.h"
#include "log.h"
#include "place.h"
@@ -102,7 +103,8 @@ void place_design(Design *design)
while ((bi != blist.end()) &&
((design->chip.getBelType(*bi) != bel_type ||
- !design->chip.checkBelAvail(*bi))))
+ !design->chip.checkBelAvail(*bi)) ||
+ !isValidBelForCell(design, cell, *bi)))
bi++;
if (bi == blist.end())
log_error("Too many \'%s\' used in design\n",