aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/cells.h
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2019-08-01 14:28:21 +0100
committerDavid Shah <dave@ds0.me>2019-08-05 14:52:15 +0100
commit1839a3a770a71c928b92bf876e04728d2649e425 (patch)
tree9de012efabb47f066860918b6360f3966b42f4da /ice40/cells.h
parent1ecf271cb32f9f78ea082788c6534f2523144d01 (diff)
downloadnextpnr-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.h12
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);