createModule method

  1. @override
Module createModule()
override

Creates a Module instance as configured.

Implementation

@override
Module createModule() {
  final outProduct = outputWidthSelectKnob.differentWidthOutput.value
      ? FloatingPoint(
          exponentWidth: outputWidthSelectKnob.exponentWidthKnob.value,
          mantissaWidth: outputWidthSelectKnob.mantissaWidthKnob.value,
          explicitJBit: outputWidthSelectKnob.explicitJBitKnob.value,
        )
      : null;

  return FloatingPointMultiplierSimple(
    clk: multiplierSelectKnob.pipelinedKnob.value ? Logic() : null,
    FloatingPoint(
      exponentWidth: exponentWidthKnob.value,
      mantissaWidth: mantissaWidthKnob.value,
      explicitJBit: inputExplicitJBitKnob.value,
    ),
    FloatingPoint(
      exponentWidth: exponentWidthKnob.value,
      mantissaWidth: mantissaWidthKnob.value,
      explicitJBit: inputExplicitJBitKnob.value,
    ),
    outProduct: outProduct,
    roundingMode: roundingModeKnob.value,
    multGen: multiplierSelectKnob.selectedMultiplier(),
    definitionName: 'FloatingPointMultiplierSimple',
  );
}