Hardcaml_circuits.ArbitersArbiter circuits. Given a set of requesters the arbiter chooses one to succeed.
module Index : sig ... endPriority is specified as either a offset to start searching from, or as a special mask.
val rotate_by_index : 
  (module Hardcaml.Comb.S with type t = 'a) ->
  index:'a ->
  data:'a Hardcaml.With_valid.t Base.list ->
  'a Hardcaml.With_valid.t Base.listRotate element index in data to 0 using a log_shift circuit.
val select_next_with_clz : 
  (module Hardcaml.Comb.S with type t = 'a) ->
  index:'a Index.t ->
  'a ->
  'aFind the 1st bit set in the input vector greater than index, but wrapping at the top back to bit 0 and on to index-1.
module Round_robin_with_priority : sig ... endRound-robin arbiters with priority.