package hardcaml_circuits

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Hardcaml_circuitsSource

Sourcemodule Arbiters : sig ... end

Arbiter circuits. Given a set of requesters the arbiter chooses one to succeed.

Sourcemodule Cordic : sig ... end

Coordinate rotation digital computer.

Sourcemodule Cordic_reference : sig ... end

Reference implementation of the CORDIC algorithm using Float.t.

Sourcemodule Cordic_special_functions : sig ... end

CORDIC implementations of various different functions.

Sourcemodule Datapath_register : sig ... end

Register stage with up and downstream valid/ready control.

Sourcemodule Divider : sig ... end
Sourcemodule Counter_div_mod : sig ... end

A counter. If the current value is n, it outputs n/divisor (as quotient) and n mod divisor (as remainder). Since the counter doesn't track n directly, the maximum values must be specified as max_quotient and max_remainder, and the counter will wrap when its outputs reach max_quotient AND max_remainder.

Sourcemodule Fast_fifo : sig ... end

Low latency combinational fifo. See create for documentation.

Sourcemodule Fixnum : sig ... end
Sourcemodule Index_vec : sig ... end
Sourcemodule Lfsr : sig ... end

Linear feedback shift registers

Sourcemodule Modulo : sig ... end

Calculate x % y where x >= 0 and y > 0.

Sourcemodule Mul : sig ... end

Wallace/Dadda tree multipliers.

Sourcemodule 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.

Sourcemodule Pipelined_adder : sig ... end

Pipelined adder architectures for very wide adders.

Sourcemodule Pipelined_incrementer : sig ... end

Simple pipelined incrementer.

Sourcemodule Pipelined_tree_reduce : sig ... end

Pipelined tree reduce operation, with propogation delay equivalent to ceil(log(|args|))

Sourcemodule Pipelined_tree_mux : sig ... end
Sourcemodule Prefix_sum : sig ... end

Parallel prefix networks. See https://en.wikipedia.org/wiki/Prefix_sum.

Sourcemodule Rac : sig ... end

ROM-accumulator.

Sourcemodule Sorting_network : sig ... end

Sorting networks.

Sourcemodule Stack : sig ... end

Synchronous stack implementation

Sourcemodule Stages : sig ... end

Represents a computation broken into multiple stages. Each stage is returned in an array.

Sourcemodule Vec : sig ... end

A simple vector structure with insert and delete operations at arbitrary positions.

OCaml

Innovation. Community. Security.