createModule method

  1. @override
Module createModule()
override

Creates a Module instance as configured.

Implementation

@override
Module createModule() => dualPathAdderKnob.value
    ? FloatingPointAdderDualPath(
        clk: pipelinedKnob.value ? Logic() : null,
        FloatingPoint(
            exponentWidth: exponentWidthKnob.value,
            mantissaWidth: mantissaWidthKnob.value,
            subNormalAsZero: subNormalAsZeroSelecKnob.denormalAsZeroA.value),
        FloatingPoint(
            exponentWidth: exponentWidthKnob.value,
            mantissaWidth: mantissaWidthKnob.value,
            subNormalAsZero: subNormalAsZeroSelecKnob.denormalAsZeroB.value),
        adderGen: adderSelectionKnob.selectedAdder(),
        ppTree: treeGeneratorMap[prefixTreeKnob.value]!,
        definitionName: 'FloatingPointAdderDualPath')
    : FloatingPointAdderSinglePath(
        clk: pipelinedKnob.value ? Logic() : null,
        FloatingPoint(
          exponentWidth: exponentWidthKnob.value,
          mantissaWidth: mantissaWidthKnob.value,
        ),
        FloatingPoint(
            exponentWidth: exponentWidthKnob.value,
            mantissaWidth: mantissaWidthKnob.value,
            subNormalAsZero: subNormalAsZeroSelecKnob.flushToZero.value),
        adderGen: adderSelectionKnob.selectedAdder(),
        definitionName: 'FloatingPointAdderSinglePath',
      );