RecursivePriorityEncoder constructor
RecursivePriorityEncoder constructor
Implementation
RecursivePriorityEncoder(super.inp,
{super.valid, super.name = 'recursive_priority_encoder'})
: super(definitionName: 'RecursivePriorityEncoder_W${inp.width}') {
final lo = recurseFinder(inp.elements);
if (valid != null) {
valid! <= lo.lt(inp.width);
}
final sz = output('out').width;
output('out') <= ((lo.width < sz) ? lo.zeroExtend(sz) : lo.getRange(0, sz));
}