From 054be887aeb7cc4dee1c7191adeff87fda3f1fb3 Mon Sep 17 00:00:00 2001
From: David Shah <dave@ds0.me>
Date: Sat, 9 Feb 2019 19:27:52 +0000
Subject: ice40: PLLs can't conflict with themselves

Fixes error building testcase from #145

Signed-off-by: David Shah <dave@ds0.me>
---
 ice40/pack.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ice40/pack.cc b/ice40/pack.cc
index 6b3ddefc..c22c4e8c 100644
--- a/ice40/pack.cc
+++ b/ice40/pack.cc
@@ -770,6 +770,8 @@ static void place_plls(Context *ctx)
                       io_cell->name.c_str(ctx));
         if (pll_used_bels.count(found_bel)) {
             CellInfo *conflict_cell = pll_used_bels.at(found_bel);
+            if (conflict_cell == ci)
+                continue;
             log_error("PLL '%s' PACKAGEPIN forces it to BEL %s but BEL is already assigned to PLL '%s'\n",
                       ci->name.c_str(ctx), ctx->getBelName(found_bel).c_str(ctx), conflict_cell->name.c_str(ctx));
         }
-- 
cgit v1.2.3