StopBitsSignExtension class
A StopBits Sign Extension.
- Inheritance
-
- Object
- PartialProductSignExtension
- StopBitsSignExtension
Constructors
- StopBitsSignExtension.new(PartialProductGeneratorBase ppg, {String name = 'stopbits_sign_extension'})
- Construct a stop bits 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 thissign
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 -
Sign extend the PP array using stop bits.
If possible, fold the final carry into another row (only when rectangular
enough that carry bit lands outside another row).
This technique can then be combined with a first-row extension technique
for folding in the final carry.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited