aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-12-18 15:01:04 +0000
committerDavid Shah <davey1576@gmail.com>2018-12-19 10:36:55 +0000
commitf21791fe22512812a5f5988c001db9d6926b0ebb (patch)
treedf6ed11a31d1ef0b6ae2787173d85710d9de3af3
parent0a494fa66cb6e1ca1773e40fb887efeab0574ac8 (diff)
downloadnextpnr-f21791fe22512812a5f5988c001db9d6926b0ebb.tar.gz
nextpnr-f21791fe22512812a5f5988c001db9d6926b0ebb.tar.bz2
nextpnr-f21791fe22512812a5f5988c001db9d6926b0ebb.zip
common/chain_utils: Don't allow overlapping chains
Signed-off-by: David Shah <davey1576@gmail.com>
-rw-r--r--common/chain_utils.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/common/chain_utils.h b/common/chain_utils.h
index b783e30b..300d96a1 100644
--- a/common/chain_utils.h
+++ b/common/chain_utils.h
@@ -51,7 +51,8 @@ std::vector<CellChain> find_chains(const Context *ctx, F1 cell_type_predicate, F
CellChain chain;
CellInfo *end = start;
while (end != nullptr) {
- chain.cells.push_back(end);
+ if (chained.insert(end->name).second)
+ chain.cells.push_back(end);
end = get_next(ctx, end);
}
if (chain.cells.size() >= min_length) {