diff options
author | David Shah <dave@ds0.me> | 2020-12-07 11:57:10 +0000 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2020-12-07 11:57:10 +0000 |
commit | f923d326207f2eae87d364117fcb7e0d475af62e (patch) | |
tree | 0ec5ba51dc293e6f2933c40bda46a8ac3c54b579 /nexus/pack.cc | |
parent | 270efdca8571a58c6ec40dbe27247f6a30fb62fb (diff) | |
download | nextpnr-f923d326207f2eae87d364117fcb7e0d475af62e.tar.gz nextpnr-f923d326207f2eae87d364117fcb7e0d475af62e.tar.bz2 nextpnr-f923d326207f2eae87d364117fcb7e0d475af62e.zip |
nexus: Add support for initialised LRAM
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'nexus/pack.cc')
-rw-r--r-- | nexus/pack.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/nexus/pack.cc b/nexus/pack.cc index b1642153..9bb90592 100644 --- a/nexus/pack.cc +++ b/nexus/pack.cc @@ -1132,14 +1132,17 @@ struct NexusPacker CellInfo *ci = cell.second; if (ci->type != id_LRAM_CORE) continue; + if (str_or_default(ci->params, ctx->id("ECC_BYTE_SEL"), "BYTE_EN") == "BYTE_EN") + continue; for (int i = 0; i < 0x80; i++) { - // FIXME: support on the prjoxide side + // FIXME: document ECC and remove this DRC std::string name = stringf("INITVAL_%02X", i); if (!ci->params.count(ctx->id(name))) continue; if (ci->params.at(ctx->id(name)).str.find_last_not_of("0x") == std::string::npos) continue; - log_error("LRAM initialisation is currently unsupported (prjoxide limitation).\n"); + log_error("LRAM initialisation is currently unsupported in ECC mode (to disable ECC, set ECC_BYTE_SEL " + "to BYTE_EN).\n"); } } } |