Hardcaml_circuitsmodule Arbiters : sig ... endArbiter circuits. Given a set of requesters the arbiter chooses one to succeed.
module Cordic : sig ... endCoordinate rotation digital computer.
module Cordic_reference : sig ... endReference implementation of the CORDIC algorithm using Float.t.
module Cordic_special_functions : sig ... endCORDIC implementations of various different functions.
module Fast_fifo : sig ... endLow latency combinational fifo. See create for documentation.
module Fixnum : sig ... endmodule Index_vec : sig ... endmodule Lfsr : sig ... endLinear feedback shift registers
module Modulo : sig ... endCalculate x % y where x >= 0 and y > 0.
module Mul : sig ... endWallace/Dadda tree multipliers.
module Onehot_clean : sig ... endConvert an arbitrary input vector to onehot. The first bit set scanning from either the lsb or msb will be set in the output and all others will be 0. The architecture has logarithmic delay.
module Pipelined_adder : sig ... endPipelined adder architectures for very wide adders.
module Pipelined_incrementer : sig ... endSimple pipelined incrementer.
module Pipelined_tree_reduce : sig ... endPipelined tree reduce operation, with propogation delay equivalent to ceil(log(|args|))
module Pipelined_tree_mux : sig ... endmodule Prefix_sum : sig ... endParallel prefix networks. See https://en.wikipedia.org/wiki/Prefix_sum.
module Rac : sig ... endROM-accumulator.
module Sorting_network : sig ... endSorting networks.
module Stages : sig ... endRepresents a computation broken into multiple stages. Each stage is returned in an array.
module Vec : sig ... endA simple vector structure with insert and delete operations at arbitrary positions.