Right now you need to specify whether a multiplier is signed or unsigned. We need a mode-based multiplier where, say, an 8-bit operand can be either signed or unsigned as a way to show configurable hardware as opposed to generating unique hardware.
Desired solution
Unsigned multiplication is wider than signed, so this forms the baseline. The same multiplier that performs 8-bit unsigned is one-bit wider in partial products and so what needs to happen is under the signed mode, a single position sign extension would be needed (using the new muxing code) to enable configurable hardware between signed and unsigned using the wider unsigned footprint.
Motivation
Right now you need to specify whether a multiplier is signed or unsigned. We need a mode-based multiplier where, say, an 8-bit operand can be either signed or unsigned as a way to show configurable hardware as opposed to generating unique hardware.
Desired solution
Unsigned multiplication is wider than signed, so this forms the baseline. The same multiplier that performs 8-bit unsigned is one-bit wider in partial products and so what needs to happen is under the signed mode, a single position sign extension would be needed (using the new muxing code) to enable configurable hardware between signed and unsigned using the wider unsigned footprint.
Alternatives considered
No response
Additional details
No response