PartialProductGeneratorBruteSignExtension class

A wrapper class for BruteSignExtension we used during refactoring to be compatible with old calls.

Inheritance
Annotations
  • @Deprecated('Use BruteSignExtension class after PartialProductGeneratorBasic')

Constructors

PartialProductGeneratorBruteSignExtension.new(Logic multiplicand, Logic multiplier, RadixEncoder radixEncoder, {bool signedMultiplicand = false, bool signedMultiplier = false, Logic? selectSignedMultiplicand, Logic? selectSignedMultiplier, String name = 'brute'})
Construct a compact rect sign extending Partial Product Generator

Properties

encoder MultiplierEncoder
Encoder for the full multiply operand.
latefinalinherited
extender PartialProductSignExtension
The extension routine we will be using.
latefinal
hashCode int
The hash code for this object.
no setterinherited
isSignExtended bool
Used to avoid sign extending more than once.
getter/setter pairinherited
multiplicand Logic
The multiplicand term.
no setterinherited
multiplier Logic
The multiplier term.
no setterinherited
name String
Name used for PartialProductArray instances.
finalinherited
partialProducts List<List<Logic>>
Partial Products output. Generated by selector and extended by sign extension routines.
latefinalinherited
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.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selector MultiplicandSelector
Selector for the multiplicand which uses the encoder to index into multiples of the multiplicand and generate partial products.
latefinalinherited
selectSignedMultiplicand Logic?
If not null, use this signal to select between signed and unsigned multiplicand.
finalinherited
selectSignedMultiplier Logic?
If not null, use this signal to select between signed and unsigned multiplier.
finalinherited
shift int
Get the shift increment between neighboring product rows.
no setterinherited
signedMultiplicand bool
multiplicand operand is always signed.
finalinherited
signedMultiplier bool
multiplier operand is always signed.
finalinherited

Methods

getAbsolute(int row, int col) Logic
Return the Logic at the absolute position (row, col).
inherited
getAbsoluteAll(int row, List<int> columns) List<Logic>
Return the List<Logic> at the absolute position (row, List<int> columns.
inherited
insertAbsolute(int row, int col, Logic val) → void
Set a Logic val at the absolute position (row, col).
inherited
insertAbsoluteAll(int row, int col, List<Logic> list) → void
Set the values of the row, starting at absolute position (row, col) to the list of values
inherited
maxWidth() int
Return the actual largest width of all rows
inherited
muxAbsolute(int row, int col, Logic condition, Logic val) → void
Mux the Logic at absolute position (row, col) conditionally by condition to val.
inherited
muxAbsoluteAll(int row, int col, Logic condition, List<Logic> list) → void
Mux the range of values into the row starting at absolute position (row, col) using condition to select the new value.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setAbsolute(int row, int col, Logic val) → void
Set the Logic at absolute position (row, col) to val.
inherited
setAbsoluteAll(int row, int col, List<Logic> list) → void
Set the range at absolute position (row, col) to list.
inherited
signExtend() → void
Perform sign extension (defined in child classes).
override
toString() String
A string representation of this object.
inherited

Operators

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