diff options
author | David Shah <davey1576@gmail.com> | 2019-02-09 13:12:26 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-09 13:12:26 +0000 |
commit | 54820974bb98ef0909bd8c36811b88594389e413 (patch) | |
tree | 352307340fc89fb8c74dd7bb0de58c80f293bd86 | |
parent | db990d21752ad6eaecc0ca809d8eef4a910cfb03 (diff) | |
parent | 170bf8a5ecb9e0806a2ddafc6f7dd8007b21f481 (diff) | |
download | nextpnr-54820974bb98ef0909bd8c36811b88594389e413.tar.gz nextpnr-54820974bb98ef0909bd8c36811b88594389e413.tar.bz2 nextpnr-54820974bb98ef0909bd8c36811b88594389e413.zip |
Merge pull request #230 from YosysHQ/fix229
ice40: Don't create PLLOUT_B buffer for single-output PLL variants
-rw-r--r-- | ice40/pack.cc | 7 |
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) |