intel / rohd-hcl

A hardware component library developed with ROHD.
https://pub.dev/packages/rohd_hcl
BSD 3-Clause "New" or "Revised" License
81 stars 23 forks source link

fix signed operand mode in multiplier, added pipelining #137

Closed desmonddak closed 1 week ago

desmonddak commented 1 week ago

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

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.