This PR introduces a new signal type FixedPoint for fixed point arithmetic, and adds a generic module that can convert a fixed-point input to floating-point output with rounding to nearest even.
Related Issue(s)
Testing
Testing includes:
Exhaustive conversion from signed Q4.4 to E3M2.
Exhaustive conversion from unsigned Q4.4 to E3M2.
Exhaustive conversion from signed Q0.8 to E3M2 (shrinking precision).
Exhaustive conversion from signed Q0.3 to E5M6 (expanding precision).
Backwards-compatibility
Is this a breaking change that will not be backwards-compatible? If yes, how so?
Not a braking change.
Documentation
Does the change require any updates to documentation? If so, where? Are they included?
Description & Motivation
This PR introduces a new signal type
FixedPoint
for fixed point arithmetic, and adds a generic module that can convert a fixed-point input to floating-point output with rounding to nearest even.Related Issue(s)
Testing
Testing includes:
Backwards-compatibility
Not a braking change.
Documentation
Documentation added to
fixed_point.md
.