package hardcaml

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

Module HardcamlSource

Sourcemodule Always : sig ... end

Always is a DSL that lets one describe a circuit in the same style as a Verliog always block.

Sourcemodule Architecture : sig ... end

Hardware architecture specification.

Sourcemodule Assertion_manager : sig ... end
Sourcemodule Bits : sig ... end

An immutable finite sequence of bits with a specified width.

Sourcemodule Bits_list : sig ... end

Combinational logic described as lists of Bits ie 0;1;1;1;0.

Sourcemodule Build_mode : sig ... end

Specify whether to configure the hardware for simulation or synthesis.

Sourcemodule Caller_id : sig ... end

Embed the callstack in the signal type when it is created.

Sourcemodule Circuit : sig ... end

Creation and manipulation of hardware circuits

Sourcemodule Circuit_database : sig ... end

A database which holds a collection of circuits, indexed by a unique circuit name.

Sourcemodule Circuit_utilization : sig ... end

Utilization information for a circuit which can be printed to a sexp.

Sourcemodule Comb : sig ... end

Combinational logic API.

Sourcemodule Combinational_op : sig ... end

A custom combinational operation that can be inserted into a simulation.

A database which holds a collecton of custom combinational operations for use with Cyclesim based simulators.

Sourcemodule Constant : sig ... end

Representation of variable width Constants and conversion to/from OCaml types.

Sourcemodule Cyclesim : sig ... end

Cycle accurate simulator

Sourcemodule Cyclesim_float_ops : sig ... end

Floating point operations for simulation.

Sourcemodule Design_rule_checks : sig ... end

Simple circuit analsysis passes for common issues.

Sourcemodule Dedup : sig ... end

Deduplicates combinatorial nodes performing redundant computation.

Sourcemodule Edge : sig ... end

Specification of rising or falling edge of a signal (normally a clock).

Sourcemodule Enum : sig ... end

The Enum contains functors that can be used to create special interface modules to represent an enumeration type (ie: a variant with no arguments).

Sourcemodule Fifo : sig ... end

Synchronous FIFO implementions with optional showahead functionality and pipelining stages.

Sourcemodule Flags_vector : sig ... end
Sourcemodule Hierarchy : sig ... end

Allow a hardcaml circuit to be defined as a hierarchy of modules, rather than just a single flat module.

Sourcemodule Interface : sig ... end

Interfaces specify the widths and names of a group of signals, and some functions for manipulating the signals as a group.

Sourcemodule Instantiation : sig ... end

Instantiation of sub-modules.

Sourcemodule Level : sig ... end

Specification of a signals level - high or low.

Sourcemodule Mangler : sig ... end

Map a set of names to a set of unique names.

Sourcemodule Parameter : sig ... end

A Parameter.t is the name and value of a configurable attribute of an instantiated RTL design.

Sourcemodule Parameter_name : sig ... end

RTL name of parameters on instantiated modules.

Sourcemodule Property : sig ... end
Sourcemodule Property_manager : sig ... end
Sourcemodule Ram : sig ... end

Random access memories described using RTL inference.

Sourcemodule Reg_spec : sig ... end

Definition of clock, reset and clear signals for sequential logic (ie registers).

Sourcemodule Reserved_words : sig ... end

Tables of reserved words in Verilog, VHDL and OCaml.

Sourcemodule Rtl : sig ... end

VHDL and Verilog netlist generation

Sourcemodule Rtl_attribute : sig ... end

RTL attribute specification. Only relevant to downstream tooling.

Sourcemodule Scalar : sig ... end
Sourcemodule Scope : sig ... end

Scopes control the process of hierarchical circuit generation.

Sourcemodule Side : sig ... end

Used to specify when an operation should be performed - before or after an event like a clock edge.

Sourcemodule Signal : sig ... end

Hardware design datatype suitable for simulation and netlist generation

Sourcemodule Signal_graph : sig ... end

A Signal_graph.t is a created from a list of signals, and defined by tracing back to inputs (unassigned wires or constants). Functions are provided for traversing the graph.

Sourcemodule Structural : sig ... end

Hardware generation API that includes tri-states - used for toplevel module generation.

Sourcemodule Vcd : sig ... end

VCD (Verilog Change Dump) generation

Sourcemodule With_valid : sig ... end

Uses a valid bit to indicate the validity of a value. Conceptually similar to an Option.t.

Sourceval sexp_of_array : ('a -> Sexplib0.Sexp.t) -> 'a Base.array -> Sexplib0.Sexp.t

These are exposed for code that does @@deriving sexp_of, hardcaml.

Sourceval sexp_of_list : ('a -> Sexplib0.Sexp.t) -> 'a Base.list -> Sexplib0.Sexp.t
OCaml

Innovation. Community. Security.