From bbdf2452b3bf5bd5d835fc1d6936568cb0a32a1a Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Mon, 9 Dec 2019 13:27:09 -0800 Subject: [PATCH] -unwrap to create $lut not SB_LUT4 for opt_lut --- passes/pmgen/ice40_wrapcarry.cc | 12 +++++------- 1 file 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.\\")) -- 2.30.2