diff options
| author | Eddie Hung <eddieh@ece.ubc.ca> | 2018-11-08 16:28:14 -0800 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-08 16:28:14 -0800 | 
| commit | 15d9b3d3cc05656e58d01ba2f97ec92b6daaee1c (patch) | |
| tree | 0e3addbcccacfdd4579a11ac6b4263af25d85977 /common/placer1.cc | |
| parent | 636a03d71ea925b141a1aacf3a96da8cc933bdf3 (diff) | |
| parent | 8258586c7db3989a9c7f615b2f273142ba5f22d5 (diff) | |
| download | nextpnr-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.cc | 6 | 
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++; | 
