PartialProductSignExtension class abstract

API for sign extension classes.

Implementers

Constructors

PartialProductSignExtension(PartialProductGeneratorBase ppg, {String name = 'no_sign_extension'})
Sign Extension class that operates on a PartialProductGeneratorBase and sign-extends the entries.

Properties

encoder → MultiplierEncoder
Encoder for the full multiply operand. Used here just to get signs[].
no setter
hashCode → int
The hash code for this object.
no setterinherited
isSignExtended ↔ bool
Used to avoid sign extending more than once.
getter/setter pair
name → String
name used for PartialProductSignExtension instances.
final
partialProducts → List<List<Logic>>
Partial Products output. Generated by selector and extended by sign extension routines.
no setter
ppg → PartialProductGeneratorBase
The partial product generator we are sign extending.
final
rows → int
Number of rows of partial products.
no setter
rowShift → List<int>
The actual shift in each row. This value will be modified by the sign extension routine used when folding in a sign bit from another row.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selector → MultiplicandSelector
Only used to get width as above
no setter
selectSignedMultiplicand → Logic?
If not null, use this signal to select between signed and unsigned multiplicand.
no setter
selectSignedMultiplier → Logic?
If not null, use this signal to select between signed and unsigned multiplier.
no setter
shift → int
Get the shift increment between neighboring product rows.
no setter
signedMultiplicand → bool
multiplicand operand is always signed.
no setter
signedMultiplier → bool
multiplier operand is always signed.
no setter

Methods

addStopSign(List<Logic> addend, SignBit sign) → void
Helper function for sign extension routines: For signed operands, set the MSB to sign, otherwise add this sign bit.
addStopSignFlip(List<Logic> addend, SignBit sign) → void
Helper function for sign extension routines: For signed operands, flip the MSB, otherwise add this sign bit.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
signExtend() → void
Execute the sign extension, overridden to specialize.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited