Archive Entry
Choose-n Arbiter
OTHERCOMBother-combinationalOTHERCOMB007Archived Feb 15, 2026
✅Tested & Functional
Authors:
RCS_33
Endorsed by:
mattbatwings

1 / 2
Horizontal Version
Chooses n true bits out of a k-wide bit vector based on left/right sided priority. if there are at least n set bits in the vector, the arbiter guarantees to choose n of them
Input:
- bit vector to choose from
- bit vector to disable a choosing layer
Output: n bit vectors of length k with at most 1 set bit
Speed: (ceil of the fraction)
- 1t per k/5 (wire delay)
- 2t per n (no base delay)
Size:
- 3-wide tileable per k
- 4-wide tileable per n
- 5 high
Use cases: -> comes in handy when wanting to choose multiple entries in a set recursively to convert some of the bandwidth to througput -> if you want to design OoO Cores, you will properbly need this a lot
Notes:
- since stacking might be confusing, I marked the region to stack with gold blocks
- the design is optimal in both speed and size. This is the 5th Iteration, trust me. (There is also a Vertical Version with equal Timings)
Schematic Content: n = 4 k = 10 (2 modules. Each module consists of 4 normal layers and 1 repeater layer)