Fixed a bug in sign extension that was causing signed operand mode of multiplier to fail (if first operand was signed).
Related Issue(s)
None
Testing
Both exhaustive and random testing including ALL sign extension modes, across all radixes and prefix tree types, signed, unsigned, both fixed and logically selected, across critical width transitions, as well as for the multiply-accumulate and pure multiply.
Simple pipeline testing added to make sure timing is correct.
Backwards-compatibility
Is this a breaking change that will not be backwards-compatible? If yes, how so?
No, but new parameters with defaults extend the multiplier to expose sign selection types and pipelining.
Documentation
Does the change require any updates to documentation? If so, where? Are they included?
Changes to the operation in the code comments and in the documentation. The configuration in the web confapp has been
updated to allow for pipeline selection. Sign extension type is not yet exposed in app.
Description & Motivation
Fixed a bug in sign extension that was causing signed operand mode of multiplier to fail (if first operand was signed).
Related Issue(s)
None
Testing
Both exhaustive and random testing including ALL sign extension modes, across all radixes and prefix tree types, signed, unsigned, both fixed and logically selected, across critical width transitions, as well as for the multiply-accumulate and pure multiply.
Simple pipeline testing added to make sure timing is correct.
Backwards-compatibility
No, but new parameters with defaults extend the multiplier to expose sign selection types and pipelining.
Documentation
Changes to the operation in the code comments and in the documentation. The configuration in the web confapp has been updated to allow for pipeline selection. Sign extension type is not yet exposed in app.