createModule method
override
Creates a Module instance as configured.
Implementation
@override
Module createModule() => CompressionTreeMultiplyAccumulate(
Logic(width: multiplicandWidthKnob.value),
Logic(width: multiplierWidthKnob.value),
Logic(width: addendWidthKnob.value),
radix: radixKnob.value,
clk: pipelinedKnob.value ? Logic() : null,
reset: pipelinedKnob.value ? Logic() : null,
enable: pipelinedKnob.value ? Logic() : null,
signedMultiplicand:
signedMultiplicandKnob.resolve('signedMultiplicand'),
signedMultiplier: signedMultiplierKnob.resolve('signedMultiplier'),
signedAddend: signedAddendKnob.resolve('signedAddend'),
outputWidth: outputWidthKnob.value,
adderGen: (a, b, {carryIn}) => adderSelectKnob.selectedAdder()(a, b,
carryIn: carryIn, name: 'mac_add'),
);