ErrorCheckingTransmitter constructor

ErrorCheckingTransmitter(
  1. Logic data, {
  2. required int codeWidth,
  3. required String name,
  4. bool reserveName = false,
  5. bool reserveDefinitionName = false,
  6. String? definitionName,
})

Creates a transmitter for data.

Implementation

ErrorCheckingTransmitter(Logic data,
    {required int codeWidth,
    required super.name,
    super.reserveName,
    super.reserveDefinitionName,
    String? definitionName})
    : super(
          definitionName:
              definitionName ?? 'ErrorCheckingTransmitter_W${data.width}') {
  this.data = addInput('data', data, width: data.width);

  addOutput('code', width: codeWidth);
  addOutput('transmission', width: codeWidth + data.width) <=
      [code, this.data].swizzle();

  code <= calculateCode();
}