diff options
author | Alessandro Comodi <acomodi@antmicro.com> | 2021-07-12 16:02:51 +0200 |
---|---|---|
committer | Alessandro Comodi <acomodi@antmicro.com> | 2021-07-12 16:45:08 +0200 |
commit | d9668df818d801b0c24ae8c372c6e7149352a388 (patch) | |
tree | 5e96a5da2de786f174c85c7a2a60a572ccb36605 /common | |
parent | 24b7084feb6beecacbe447a15f9b2de04b14d685 (diff) | |
download | nextpnr-d9668df818d801b0c24ae8c372c6e7149352a388.tar.gz nextpnr-d9668df818d801b0c24ae8c372c6e7149352a388.tar.bz2 nextpnr-d9668df818d801b0c24ae8c372c6e7149352a388.zip |
interchange: add constraints constraints application routine
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Diffstat (limited to 'common')
-rw-r--r-- | common/placer_heap.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/common/placer_heap.cc b/common/placer_heap.cc index dbb8d36c..27144316 100644 --- a/common/placer_heap.cc +++ b/common/placer_heap.cc @@ -401,6 +401,14 @@ class HeAPPlacer // Initial constraints placer for (auto &cell_entry : ctx->cells) { CellInfo *cell = cell_entry.second.get(); + + if (cell->bel != BelId()) { + if (ctx->verbose) + log_error("Cell \'%s\' (%s) has already been constrianed by arch implementation", + cell->name.c_str(ctx), cell->type.c_str(ctx)); + continue; + } + auto loc = cell->attrs.find(ctx->id("BEL")); if (loc != cell->attrs.end()) { std::string loc_name = loc->second.as_string(); |