diff --git a/kernel/rtlil.cc b/kernel/rtlil.cc index 29a7ebf3e..c10e879c5 100644 --- a/kernel/rtlil.cc +++ b/kernel/rtlil.cc @@ -1472,16 +1472,16 @@ namespace { error(__LINE__); if (param(ID::NADDENDS) <= 0) error(__LINE__); - param_bits(ID::PRODUCT_NEGATED, min(param(ID::NPRODUCTS), 1)); - param_bits(ID::ADDEND_NEGATED, min(param(ID::NADDENDS), 1)); - param_bits(ID::A_SIGNED, min(param(ID::NPRODUCTS), 1)); - param_bits(ID::B_SIGNED, min(param(ID::NPRODUCTS), 1)); - param_bits(ID::C_SIGNED, min(param(ID::NADDENDS), 1)); + param_bits(ID::PRODUCT_NEGATED, max(param(ID::NPRODUCTS), 1)); + param_bits(ID::ADDEND_NEGATED, max(param(ID::NADDENDS), 1)); + param_bits(ID::A_SIGNED, max(param(ID::NPRODUCTS), 1)); + param_bits(ID::B_SIGNED, max(param(ID::NPRODUCTS), 1)); + param_bits(ID::C_SIGNED, max(param(ID::NADDENDS), 1)); if (cell->getParam(ID::A_SIGNED) != cell->getParam(ID::B_SIGNED)) error(__LINE__); - param_bits(ID::A_WIDTHS, min(param(ID::NPRODUCTS) * 16, 1)); - param_bits(ID::B_WIDTHS, min(param(ID::NPRODUCTS) * 16, 1)); - param_bits(ID::C_WIDTHS, min(param(ID::NADDENDS) * 16, 1)); + param_bits(ID::A_WIDTHS, max(param(ID::NPRODUCTS) * 16, 1)); + param_bits(ID::B_WIDTHS, max(param(ID::NPRODUCTS) * 16, 1)); + param_bits(ID::C_WIDTHS, max(param(ID::NADDENDS) * 16, 1)); const Const &a_width = cell->getParam(ID::A_WIDTHS); const Const &b_width = cell->getParam(ID::B_WIDTHS); const Const &c_width = cell->getParam(ID::C_WIDTHS);