inlineVerilog method

  1. @override
String inlineVerilog(
  1. Map<String, String> inputs
)
override

Generates custom SystemVerilog to be injected in place of the output port's corresponding signal name.

The inputs are a mapping from the Module's port names to the names of the signals that are passed into those ports in the generated SystemVerilog.

The output will be appropriately wrapped with parentheses to guarantee proper order of operations.

Implementation

@override
String inlineVerilog(Map<String, String> inputs) {
  if (inputs.length != 3) {
    throw Exception('Mux2 has exactly three inputs.');
  }
  final d0 = inputs[_d0Name]!;
  final d1 = inputs[_d1Name]!;
  final control = inputs[_controlName]!;
  return '$control ? $d1 : $d0';
}