TreeOneHotToBinary constructor

TreeOneHotToBinary(
  1. Logic onehot, {
  2. bool generateError = false,
  3. String name = 'tree_one_hot_to_binary',
  4. bool reserveName = false,
  5. bool reserveDefinitionName = false,
  6. String? definitionName,
})

Top level module for computing binary to one-hot using recursion

Implementation

TreeOneHotToBinary(super.onehot,
    {super.generateError,
    super.name = 'tree_one_hot_to_binary',
    super.reserveName,
    super.reserveDefinitionName,
    String? definitionName})
    : super.base(
          definitionName:
              definitionName ?? 'TreeOneHotToBinary_W${onehot.width}') {
  final node = _NodeOneHotToBinary(onehot,
      generateMultiple: generateError,
      reserveName: reserveName,
      reserveDefinitionName: reserveDefinitionName);
  binary <= node.binary;

  if (generateError) {
    error! <= ~onehot.or() | node.multiple!;
  }
}