aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/pack.cc
diff options
context:
space:
mode:
authorEddie Hung <eddieh@ece.ubc.ca>2019-02-09 10:24:40 -0800
committerEddie Hung <eddieh@ece.ubc.ca>2019-02-09 10:24:40 -0800
commitd964ea911c1de6a646f9fcd46db99b251672babe (patch)
tree4d7d5fa4fb0dbd5f1e4248dfc407010a8e9f1ed8 /ice40/pack.cc
parent0639be79667da425b8f86a401af1fad5c99e1bc7 (diff)
parenta520b38424531e83ef47d2c37aab17a2bc764765 (diff)
downloadnextpnr-d964ea911c1de6a646f9fcd46db99b251672babe.tar.gz
nextpnr-d964ea911c1de6a646f9fcd46db99b251672babe.tar.bz2
nextpnr-d964ea911c1de6a646f9fcd46db99b251672babe.zip
Merge remote-tracking branch 'origin/master' into regressions
Diffstat (limited to 'ice40/pack.cc')
-rw-r--r--ice40/pack.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/ice40/pack.cc b/ice40/pack.cc
index a86083b6..6b3ddefc 100644
--- a/ice40/pack.cc
+++ b/ice40/pack.cc
@@ -1063,7 +1063,12 @@ static void pack_special(Context *ctx)
create_ice_cell(ctx, ctx->id("ICESTORM_PLL"), ci->name.str(ctx) + "_PLL");
packed->attrs[ctx->id("TYPE")] = ci->type.str(ctx);
packed_cells.insert(ci->name);
-
+ if (!is_sb_pll40_dual(ctx, ci)) {
+ // Remove second output, so a buffer isn't created for it, for these
+ // cell types with only one output
+ packed->ports.erase(ctx->id("PLLOUT_B"));
+ packed->ports.erase(ctx->id("PLLOUT_B_GLOBAL"));
+ }
for (auto attr : ci->attrs)
packed->attrs[attr.first] = attr.second;
for (auto param : ci->params)