aboutsummaryrefslogtreecommitdiffstats
path: root/common/placer1.cc
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2018-11-08 16:28:14 -0800
committerGitHub <noreply@github.com>2018-11-08 16:28:14 -0800
commit15d9b3d3cc05656e58d01ba2f97ec92b6daaee1c (patch)
tree0e3addbcccacfdd4579a11ac6b4263af25d85977 /common/placer1.cc
parent636a03d71ea925b141a1aacf3a96da8cc933bdf3 (diff)
parent8258586c7db3989a9c7f615b2f273142ba5f22d5 (diff)
downloadnextpnr-15d9b3d3cc05656e58d01ba2f97ec92b6daaee1c.tar.gz
nextpnr-15d9b3d3cc05656e58d01ba2f97ec92b6daaee1c.tar.bz2
nextpnr-15d9b3d3cc05656e58d01ba2f97ec92b6daaee1c.zip
Merge pull request #104 from YosysHQ/issue90
[common] placer to produce error when >1 cell->bel constraint
Diffstat (limited to 'common/placer1.cc')
-rw-r--r--common/placer1.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/common/placer1.cc b/common/placer1.cc
index 01f822a5..0d7c0701 100644
--- a/common/placer1.cc
+++ b/common/placer1.cc
@@ -118,6 +118,12 @@ class SAPlacer
loc_name.c_str(), bel_type.c_str(ctx), cell->name.c_str(ctx), cell->type.c_str(ctx));
}
+ auto bound_cell = ctx->getBoundBelCell(bel);
+ if (bound_cell) {
+ log_error("Cell \'%s\' cannot be bound to bel \'%s\' since it is already bound to cell \'%s\'\n",
+ cell->name.c_str(ctx), loc_name.c_str(), bound_cell->name.c_str(ctx));
+ }
+
ctx->bindBel(bel, cell, STRENGTH_USER);
locked_bels.insert(bel);
placed_cells++;