Hardcaml_circuits
module Arbiters : sig ... end
Arbiter circuits. Given a set of requesters the arbiter chooses one to succeed.
module Cordic : sig ... end
Coordinate rotation digital computer.
module Cordic_reference : sig ... end
Reference implementation of the CORDIC algorithm using Float.t
.
module Cordic_special_functions : sig ... end
CORDIC implementations of various different functions.
module Fast_fifo : sig ... end
Low latency combinational fifo. See create
for documentation.
module Fixnum : sig ... end
module Index_vec : sig ... end
module Lfsr : sig ... end
Linear feedback shift registers
module Modulo : sig ... end
Calculate x % y
where x >= 0
and y > 0
.
module Mul : sig ... end
Wallace/Dadda tree multipliers.
module Onehot_clean : sig ... end
Convert 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 ... end
Pipelined adder architectures for very wide adders.
module Pipelined_incrementer : sig ... end
Simple pipelined incrementer.
module Pipelined_tree_reduce : sig ... end
Pipelined tree reduce operation, with propogation delay equivalent to ceil(log(|args|))
module Pipelined_tree_mux : sig ... end
module Prefix_sum : sig ... end
Parallel prefix networks. See https://en.wikipedia.org/wiki/Prefix_sum.
module Rac : sig ... end
ROM-accumulator.
module Sorting_network : sig ... end
Sorting networks.
module Stages : sig ... end
Represents a computation broken into multiple stages. Each stage is returned in an array.
module Vec : sig ... end
A simple vector structure with insert and delete operations at arbitrary positions.