aboutsummaryrefslogtreecommitdiffstats
path: root/ice40
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2019-04-01 12:25:32 +0100
committerDavid Shah <dave@ds0.me>2019-04-01 12:25:32 +0100
commitd27ec2cd1554d9f8a3e6e5b81b9bb12cf7aab13b (patch)
tree117e0f97b039849770eab57dee3a82c4041ac043 /ice40
parentdb152b332b310725861f98966f98e785de7f304f (diff)
downloadnextpnr-d27ec2cd1554d9f8a3e6e5b81b9bb12cf7aab13b.tar.gz
nextpnr-d27ec2cd1554d9f8a3e6e5b81b9bb12cf7aab13b.tar.bz2
nextpnr-d27ec2cd1554d9f8a3e6e5b81b9bb12cf7aab13b.zip
ice40: Don't constrain to a PLL bel that has already been used
Fixes #258 Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'ice40')
-rw-r--r--ice40/pack.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/ice40/pack.cc b/ice40/pack.cc
index 4de88abd..b1efe5b2 100644
--- a/ice40/pack.cc
+++ b/ice40/pack.cc
@@ -858,6 +858,8 @@ static void place_plls(Context *ctx)
// Find a BEL for it
BelId found_bel;
for (auto bel_pll : pll_all_bels) {
+ if (pll_used_bels.count(bel_pll.first))
+ continue;
BelPin pll_io_a, pll_io_b;
std::tie(pll_io_a, pll_io_b) = bel_pll.second;
if (bel2io.count(pll_io_a.bel)) {