ecp5: Fix 25k DDRDLLA bitstream gen

Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
David Shah 2019-11-29 10:56:04 +00:00
parent ff30bc87fe
commit 1c1c096861
2 changed files with 4 additions and 3 deletions

View File

@ -1029,7 +1029,7 @@ struct Arch : BaseCtx
if (chip_info->tiletype_names[tileloc.tile_names[j].type_idx].get() == type) if (chip_info->tiletype_names[tileloc.tile_names[j].type_idx].get() == type)
return tileloc.tile_names[j].name.get(); 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); GlobalInfoPOD globalInfoAtLoc(Location loc);

View File

@ -1397,8 +1397,9 @@ void write_bitstream(Context *ctx, std::string base_config_file, std::string tex
Loc loc = ctx->getBelLocation(ci->bel); Loc loc = ctx->getBelLocation(ci->bel);
bool u = loc.y<15, r = loc.x> 15; bool u = loc.y<15, r = loc.x> 15;
std::string tiletype = fmt_str("DDRDLL_" << (u ? 'U' : 'L') << (r ? 'R' : 'L')); 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 || if ((ctx->args.type == ArchArgs::LFE5U_25F || ctx->args.type == ArchArgs::LFE5UM_25F ||
ctx->args.type == ArchArgs::LFE5UM5G_25F) ctx->args.type == ArchArgs::LFE5UM5G_25F) &&
u)
tiletype += "A"; tiletype += "A";
std::string tile = ctx->getTileByType(tiletype); std::string tile = ctx->getTileByType(tiletype);
cc.tiles[tile].add_enum("DDRDLL.MODE", "DDRDLLA"); cc.tiles[tile].add_enum("DDRDLL.MODE", "DDRDLLA");