ecp5: Bitsream gen tuning
Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
parent
5a7e7b2d03
commit
32c7247785
@ -191,7 +191,10 @@ void write_bitstream(Context *ctx, std::string base_config_file, std::string tex
|
|||||||
CellInfo *ci = cell.second.get();
|
CellInfo *ci = cell.second.get();
|
||||||
if (ci->bel != BelId() && ci->type == ctx->id("TRELLIS_IO")) {
|
if (ci->bel != BelId() && ci->type == ctx->id("TRELLIS_IO")) {
|
||||||
int bank = ctx->getPioBelBank(ci->bel);
|
int bank = ctx->getPioBelBank(ci->bel);
|
||||||
|
std::string dir = str_or_default(ci->params, ctx->id("DIR"), "INPUT");
|
||||||
std::string iotype = str_or_default(ci->attrs, ctx->id("IO_TYPE"), "LVCMOS33");
|
std::string iotype = str_or_default(ci->attrs, ctx->id("IO_TYPE"), "LVCMOS33");
|
||||||
|
|
||||||
|
if (dir != "INPUT") {
|
||||||
IOVoltage vcc = get_vccio(ioType_from_str(iotype));
|
IOVoltage vcc = get_vccio(ioType_from_str(iotype));
|
||||||
if (bankVcc.find(bank) != bankVcc.end()) {
|
if (bankVcc.find(bank) != bankVcc.end()) {
|
||||||
// TODO: strong and weak constraints
|
// TODO: strong and weak constraints
|
||||||
@ -203,6 +206,8 @@ void write_bitstream(Context *ctx, std::string base_config_file, std::string tex
|
|||||||
} else {
|
} else {
|
||||||
bankVcc[bank] = vcc;
|
bankVcc[bank] = vcc;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (iotype == "LVDS")
|
if (iotype == "LVDS")
|
||||||
bankLvds[bank] = true;
|
bankLvds[bank] = true;
|
||||||
}
|
}
|
||||||
@ -275,8 +280,8 @@ void write_bitstream(Context *ctx, std::string base_config_file, std::string tex
|
|||||||
other = "PIOD";
|
other = "PIOD";
|
||||||
else
|
else
|
||||||
log_error("cannot place differential IO at location %s\n", pio.c_str());
|
log_error("cannot place differential IO at location %s\n", pio.c_str());
|
||||||
cc.tiles[pio_tile].add_enum(other + ".BASE_TYPE", "_NONE_");
|
//cc.tiles[pio_tile].add_enum(other + ".BASE_TYPE", "_NONE_");
|
||||||
cc.tiles[pic_tile].add_enum(other + ".BASE_TYPE", "_NONE_");
|
//cc.tiles[pic_tile].add_enum(other + ".BASE_TYPE", "_NONE_");
|
||||||
cc.tiles[pio_tile].add_enum(other + ".PULLMODE", "NONE");
|
cc.tiles[pio_tile].add_enum(other + ".PULLMODE", "NONE");
|
||||||
cc.tiles[pio_tile].add_enum(pio + ".PULLMODE", "NONE");
|
cc.tiles[pio_tile].add_enum(pio + ".PULLMODE", "NONE");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user