ecp5: Fix 25k DDRDLLA bitstream gen Signed-off-by: David Shah <dave@ds0.me>
diff --git a/ecp5/arch.h b/ecp5/arch.h index 3df2d84..5e5fc3e 100644 --- a/ecp5/arch.h +++ b/ecp5/arch.h
@@ -1029,7 +1029,7 @@ if (chip_info->tiletype_names[tileloc.tile_names[j].type_idx].get() == type) return tileloc.tile_names[j].name.get(); } - NPNR_ASSERT_FALSE_STR("no with type " + type); + NPNR_ASSERT_FALSE_STR("no tile with type " + type); } GlobalInfoPOD globalInfoAtLoc(Location loc);
diff --git a/ecp5/bitstream.cc b/ecp5/bitstream.cc index b491bf7..9b1a65a 100644 --- a/ecp5/bitstream.cc +++ b/ecp5/bitstream.cc
@@ -1397,8 +1397,9 @@ Loc loc = ctx->getBelLocation(ci->bel); bool u = loc.y<15, r = loc.x> 15; std::string tiletype = fmt_str("DDRDLL_" << (u ? 'U' : 'L') << (r ? 'R' : 'L')); - if (ctx->args.type == ArchArgs::LFE5U_25F || ctx->args.type == ArchArgs::LFE5UM_25F || - ctx->args.type == ArchArgs::LFE5UM5G_25F) + if ((ctx->args.type == ArchArgs::LFE5U_25F || ctx->args.type == ArchArgs::LFE5UM_25F || + ctx->args.type == ArchArgs::LFE5UM5G_25F) && + u) tiletype += "A"; std::string tile = ctx->getTileByType(tiletype); cc.tiles[tile].add_enum("DDRDLL.MODE", "DDRDLLA");