diff options
author | gatecat <gatecat@ds0.me> | 2021-12-13 16:04:45 +0000 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-12-13 20:22:06 +0000 |
commit | f36188f2e18783ea692f8b6132712a0d1da6b6b7 (patch) | |
tree | d63db5e03f36e4f8598d1bcff0b475660ea57d6b /ecp5/pack.cc | |
parent | 8720d79f21ac052138426b3268981ccd1926342a (diff) | |
download | nextpnr-f36188f2e18783ea692f8b6132712a0d1da6b6b7.tar.gz nextpnr-f36188f2e18783ea692f8b6132712a0d1da6b6b7.tar.bz2 nextpnr-f36188f2e18783ea692f8b6132712a0d1da6b6b7.zip |
ecp5: LUT permutation support
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'ecp5/pack.cc')
-rw-r--r-- | ecp5/pack.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ecp5/pack.cc b/ecp5/pack.cc index cbf882a8..85d92336 100644 --- a/ecp5/pack.cc +++ b/ecp5/pack.cc @@ -3253,7 +3253,9 @@ void Arch::assignArchInfo() ci->sliceInfo.clkmux = id(str_or_default(ci->params, id_CLKMUX, "CLK")); ci->sliceInfo.lsrmux = id(str_or_default(ci->params, id_LSRMUX, "LSR")); ci->sliceInfo.srmode = id(str_or_default(ci->params, id_SRMODE, "LSR_OVER_CE")); - ci->sliceInfo.is_carry = str_or_default(ci->params, id("MODE"), "LOGIC") == "CCU2"; + std::string mode = str_or_default(ci->params, id("MODE"), "LOGIC"); + ci->sliceInfo.is_carry = (mode == "CCU2"); + ci->sliceInfo.is_memory = (mode == "DPRAM" || mode == "RAMW"); ci->sliceInfo.sd0 = std::stoi(str_or_default(ci->params, id("REG0_SD"), "0")); ci->sliceInfo.sd1 = std::stoi(str_or_default(ci->params, id("REG1_SD"), "0")); ci->sliceInfo.has_l6mux = false; |