aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/pack.cc
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-12-14 09:03:50 +0000
committerGitHub <noreply@github.com>2021-12-14 09:03:50 +0000
commit256134d6158b59831462f26f0011627eda10beb2 (patch)
tree9d57a381245a647b9c06ebf2f3aaeee811581765 /ecp5/pack.cc
parent73a7406211022a434ba2902afc3ccbe3dc6169b4 (diff)
parentf36188f2e18783ea692f8b6132712a0d1da6b6b7 (diff)
downloadnextpnr-256134d6158b59831462f26f0011627eda10beb2.tar.gz
nextpnr-256134d6158b59831462f26f0011627eda10beb2.tar.bz2
nextpnr-256134d6158b59831462f26f0011627eda10beb2.zip
Merge pull request #870 from YosysHQ/gatecat/ecp5-lutperm
ecp5: LUT permutation support
Diffstat (limited to 'ecp5/pack.cc')
-rw-r--r--ecp5/pack.cc4
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;