part_prod = Signal(self.output.width, name=f"part_prod_{shift}")
# TODO comment (nice ASCII diagram in docstring then refer to it?)
mask = Repl(self.factor2[shift], self.factor_width)
- m.d.comb += parts.eq((self.factor1 & mask) << shift)
- parts.append(parts)
+ m.d.comb += part_prod.eq((self.factor1 & mask) << shift)
+ parts.append(part_prod)
# TODO comment
output = treereduce(parts, operator.xor)