PartialProductSignExtension class abstract

API for sign extension classes.

Implementers

Constructors

PartialProductSignExtension.new(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