CompactSignExtension class

A Compact Sign Extension class.

Inheritance

Constructors

CompactSignExtension.new(PartialProductGeneratorBase ppg, {String name = 'compact_sign_extension'})
Construct a compact sign extendsion class.

Properties

encoder MultiplierEncoder
Encoder for the full multiply operand. Used here just to get signs[].
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isSignExtended bool
Used to avoid sign extending more than once.
getter/setter pairinherited
name String
name used for PartialProductSignExtension instances.
finalinherited
partialProducts List<List<Logic>>
Partial Products output. Generated by selector and extended by sign extension routines.
no setterinherited
ppg PartialProductGeneratorBase
The partial product generator we are sign extending.
finalinherited
rows int
Number of rows of partial products.
no setterinherited
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 setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selector MultiplicandSelector
Only used to get width as above
no setterinherited
selectSignedMultiplicand Logic?
If not null, use this signal to select between signed and unsigned multiplicand.
no setterinherited
selectSignedMultiplier Logic?
If not null, use this signal to select between signed and unsigned multiplier.
no setterinherited
shift int
Get the shift increment between neighboring product rows.
no setterinherited
signedMultiplicand bool
multiplicand operand is always signed.
no setterinherited
signedMultiplier bool
multiplier operand is always signed.
no setterinherited

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

Operators

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