fix signed operand mode in multiplier, added pipelining #137
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.