diff options
author | David Shah <dave@ds0.me> | 2019-08-01 14:28:21 +0100 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2019-08-05 14:52:15 +0100 |
commit | 1839a3a770a71c928b92bf876e04728d2649e425 (patch) | |
tree | 9de012efabb47f066860918b6360f3966b42f4da /ice40/cells.h | |
parent | 1ecf271cb32f9f78ea082788c6534f2523144d01 (diff) | |
download | nextpnr-1839a3a770a71c928b92bf876e04728d2649e425.tar.gz nextpnr-1839a3a770a71c928b92bf876e04728d2649e425.tar.bz2 nextpnr-1839a3a770a71c928b92bf876e04728d2649e425.zip |
Major Property improvements for common and iCE40
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'ice40/cells.h')
-rw-r--r-- | ice40/cells.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/ice40/cells.h b/ice40/cells.h index 3d9358da..777ca3e2 100644 --- a/ice40/cells.h +++ b/ice40/cells.h @@ -101,17 +101,19 @@ inline bool is_sb_pll40_pad(const BaseCtx *ctx, const CellInfo *cell) return cell->type == ctx->id("SB_PLL40_PAD") || cell->type == ctx->id("SB_PLL40_2_PAD") || cell->type == ctx->id("SB_PLL40_2F_PAD") || (cell->type == ctx->id("ICESTORM_PLL") && - (cell->attrs.at(ctx->id("TYPE")) == "SB_PLL40_PAD" || cell->attrs.at(ctx->id("TYPE")) == "SB_PLL40_2_PAD" || - cell->attrs.at(ctx->id("TYPE")) == "SB_PLL40_2F_PAD")); + (cell->attrs.at(ctx->id("TYPE")).as_string() == "SB_PLL40_PAD" || + cell->attrs.at(ctx->id("TYPE")).as_string() == "SB_PLL40_2_PAD" || + cell->attrs.at(ctx->id("TYPE")).as_string() == "SB_PLL40_2F_PAD")); } inline bool is_sb_pll40_dual(const BaseCtx *ctx, const CellInfo *cell) { return cell->type == ctx->id("SB_PLL40_2_PAD") || cell->type == ctx->id("SB_PLL40_2F_PAD") || cell->type == ctx->id("SB_PLL40_2F_CORE") || - (cell->type == ctx->id("ICESTORM_PLL") && (cell->attrs.at(ctx->id("TYPE")) == "SB_PLL40_2_PAD" || - cell->attrs.at(ctx->id("TYPE")) == "SB_PLL40_2F_PAD" || - cell->attrs.at(ctx->id("TYPE")) == "SB_PLL40_2F_CORE")); + (cell->type == ctx->id("ICESTORM_PLL") && + (cell->attrs.at(ctx->id("TYPE")).as_string() == "SB_PLL40_2_PAD" || + cell->attrs.at(ctx->id("TYPE")).as_string() == "SB_PLL40_2F_PAD" || + cell->attrs.at(ctx->id("TYPE")).as_string() == "SB_PLL40_2F_CORE")); } uint8_t sb_pll40_type(const BaseCtx *ctx, const CellInfo *cell); |