CompactRectSignExtension class

A Partial Product Generator using Compact Rectangular Extension

Inheritance

Constructors

CompactRectSignExtension(PartialProductGeneratorBase ppg, {String name = 'compactrect_sign_extension'})
Sign extend the PP array using stop bits without adding a row This routine works with different widths of multiplicand/multiplier, an extension of Mohanty, B.K., Choubey designed by Desmond A. Kirkpatrick.

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