aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-12-09 13:27:09 -0800
committerEddie Hung <eddie@fpgeh.com>2019-12-09 13:27:09 -0800
commitbbdf2452b3bf5bd5d835fc1d6936568cb0a32a1a (patch)
tree845256cf7c8a38b6be4de1aa10e5bf382946142d
parent500ed9b501386b38faf6388b43c42abdbc0ee3ec (diff)
downloadyosys-bbdf2452b3bf5bd5d835fc1d6936568cb0a32a1a.tar.gz
yosys-bbdf2452b3bf5bd5d835fc1d6936568cb0a32a1a.tar.bz2
yosys-bbdf2452b3bf5bd5d835fc1d6936568cb0a32a1a.zip
-unwrap to create $lut not SB_LUT4 for opt_lut
-rw-r--r--passes/pmgen/ice40_wrapcarry.cc12
1 files changed, 5 insertions, 7 deletions
diff --git a/passes/pmgen/ice40_wrapcarry.cc b/passes/pmgen/ice40_wrapcarry.cc
index 8c953308a..4bddece30 100644
--- a/passes/pmgen/ice40_wrapcarry.cc
+++ b/passes/pmgen/ice40_wrapcarry.cc
@@ -115,13 +115,11 @@ struct Ice40WrapCarryPass : public Pass {
carry->setPort(ID(CO), cell->getPort(ID(CO)));
module->swap_names(carry, cell);
auto lut_name = cell->attributes.at(ID(SB_LUT4.name), Const(NEW_ID.str())).decode_string();
- auto lut = module->addCell(lut_name, ID(SB_LUT4));
- lut->setParam(ID(LUT_INIT), cell->getParam(ID(LUT)));
- lut->setPort(ID(I0), cell->getPort(ID(I0)));
- lut->setPort(ID(I1), cell->getPort(ID(A)));
- lut->setPort(ID(I2), cell->getPort(ID(B)));
- lut->setPort(ID(I3), cell->getPort(ID(I3)));
- lut->setPort(ID(O), cell->getPort(ID(O)));
+ auto lut = module->addCell(lut_name, ID($lut));
+ lut->setParam(ID(WIDTH), 4);
+ lut->setParam(ID(LUT), cell->getParam(ID(LUT)));
+ lut->setPort(ID(A), {cell->getPort(ID(I0)), cell->getPort(ID(A)), cell->getPort(ID(B)), cell->getPort(ID(I3)) });
+ lut->setPort(ID(Y), cell->getPort(ID(O)));
for (const auto &a : cell->attributes)
if (a.first.begins_with("\\SB_CARRY.\\"))