1
0
mirror of https://github.com/YosysHQ/nextpnr.git synced 2026-01-11 23:53:21 +00:00

Add MULT_INVERT property

This commit is contained in:
Miodrag Milanovic 2025-08-01 17:46:43 +02:00
parent d26fc19724
commit 1748f38aad
3 changed files with 3 additions and 0 deletions

View File

@ -347,6 +347,7 @@ struct BitstreamBackend
dict<IdString, Property> params = cell.second->params;
Loc l = ctx->getBelLocation(cell.second->bel);
params.erase(id_L2T4_UPPER);
params.erase(id_MULT_INVERT);
int c_i1 = int_or_default(params, id_C_I1, 0);
int c_i2 = int_or_default(params, id_C_I2, 0);
int c_i3 = int_or_default(params, id_C_I3, 0);

View File

@ -2272,3 +2272,4 @@ X(CPE_LATCH)
X(L2T4_UPPER)
X(CPE_MX8)
X(CPE_BRIDGE)
X(MULT_INVERT)

View File

@ -516,6 +516,7 @@ void GateMatePacker::pack_mult()
for (int i = 0; i < (a_width / 2); i++) {
auto *mult_lower = create_cell_ptr(id_CPE_LT_L, ctx->idf("%s$row%d$mult_lower", name.c_str(ctx), i));
auto *mult_upper = create_cell_ptr(id_CPE_LT_U, ctx->idf("%s$row%d$mult_upper", name.c_str(ctx), i));
mult_lower->params[id_MULT_INVERT] = Property(is_even_x ? Property::State::S0 : Property::State::S1);
col.mults.push_back(MultCell{mult_lower, mult_upper, name, i == ((a_width / 2) - 1)});
uarch->multipliers.push_back(mult_lower);