selectedMultiplier method

Multiplier Function(Logic term1, Logic term2, {Logic? clk, String? definitionName, Logic? enable, String name, Logic? reset}) selectedMultiplier({
  1. dynamic signedMultiplicand,
  2. dynamic signedMultiplier,
})

Return the Multiplier Functor selected.

Implementation

Multiplier Function(
  Logic term1,
  Logic term2, {
  Logic? clk,
  Logic? reset,
  Logic? enable,
  String name,
  String? definitionName,
}) selectedMultiplier(
    {dynamic signedMultiplicand, dynamic signedMultiplier}) {
  final multiplicandSign = signedMultiplicand ?? signedMultiplicandConfig;
  final multiplierSign = signedMultiplier ?? signedMultiplierConfig;

  if (compressionTreeMultiplierKnob.value) {
    return (
      Logic term1,
      Logic term2, {
      Logic? clk,
      Logic? reset,
      Logic? enable,
      String name = 'comp_tree_multiplier',
      String? definitionName,
    }) =>
        CompressionTreeMultiplier(
          term1,
          term2,
          radix: radixKnob.value,
          adderGen: adderSelectionKnob.selectedAdder(),
          clk: clk,
          reset: reset,
          enable: enable,
          signedMultiplicand: multiplicandSign,
          signedMultiplier: multiplierSign,
          name: name,
          definitionName: definitionName,
        );
  }
  return (
    Logic term1,
    Logic term2, {
    Logic? clk,
    Logic? reset,
    Logic? enable,
    String name = 'native_multiplier',
    String? definitionName,
  }) =>
      NativeMultiplier(
        term1,
        term2,
        clk: clk,
        reset: reset,
        enable: enable,
        signedMultiplicand: multiplicandSign,
        signedMultiplier: multiplierSign,
        name: name,
        definitionName: definitionName,
      );
}