createModule method

  1. @override
Module createModule()
override

Creates a Module instance as configured.

Implementation

@override
Module createModule() {
  final reqs = List.generate(numRequestKnob.value, (i) => Logic());

  if (implementationKnob.value == MaskRoundRobinArbiter) {
    return MaskRoundRobinArbiter(reqs,
        clk: Logic(),
        reset: Logic(),
        definitionName: 'MaskRoundRobinArbiter');
  } else if (implementationKnob.value == RotateRoundRobinArbiter) {
    return RotateRoundRobinArbiter(reqs,
        clk: Logic(),
        reset: Logic(),
        definitionName: 'RotateRoundRobinArbiter');
  }

  throw RohdHclException('Unknown round robin type.');
}