Module Hardcaml
module Always : sig ... endAlwaysis a DSL that lets one describe a circuit in the same style as a Verliogalwaysblock.
module Architecture : sig ... endmodule Bits : sig ... endmodule Build_mode : sig ... endmodule Caller_id : sig ... endmodule Circuit : sig ... endCreation and manipulation of hardware circuits
module Circuit_database : sig ... endA database which holds a collection of circuits, indexed by a unique circuit name. The database is used to map occurrences of instantiations within a Hardcaml circuit to an implementation. This can then be used to generate an RTL module hierarchy. Structurally identical circuits may be indentified and the implementation shared.
module Circuit_utilization : sig ... endmodule Comb : sig ... endmodule Combinational_op : sig ... endA custom combinational operation that can be inserted into a simulation.
module Combinational_ops_database : sig ... endA database which holds a collecton of custom combinational operations for use with
Cyclesimbased simulators.
module Constant : sig ... endmodule Cosim : sig ... endIcarus Verilog Cosimulation interface
module Cosim2 : sig ... endmodule Cyclesim : sig ... endmodule Cyclesim_float_ops : sig ... endmodule Design_rule_checks : sig ... endmodule Dedup : sig ... endmodule Edge : sig ... endmodule Fifo : sig ... endSynchronous FIFO.
module Fixed : sig ... endmodule Graph : sig ... endWrite circuit as graph. Currently works quite well with aisee3; www.aisee.com
module Hierarchy : sig ... endmodule IntbitsList : sig ... endbits described as lists of ints ie
0;1;1;1;0- width implicit as length of list
module Interface : sig ... endmodule Instantiation : sig ... endmodule Level : sig ... endmodule Mangler : sig ... endMap a set of names to a set of unique names.
module Parameter : sig ... endA
Parameter.tis the name and value of a configurable attribute of an instantiated RTL design.
module Parameter_name : sig ... endmodule Ram : sig ... endmodule Recipe : sig ... endmodule Reg_spec : sig ... endmodule Reserved_words : sig ... endmodule Rtl : sig ... endmodule Rtl_attribute : sig ... endRTL attribute specification. Only relevant to downstream tooling.
module Scope : sig ... endmodule Side : sig ... endmodule Signal : sig ... endmodule Signal_graph : sig ... endA
Signal_graph.tis 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.
module Structural : sig ... endmodule Transform : sig ... endmodule Vcd : sig ... endVCD (Verilog Change Dump) generation
module With_valid : sig ... endUses a
validbit to indicate the validity of avalue. Conceptually similar to anOption.t.
module Xilinx : sig ... endval sexp_of_array : ('a -> Base.Sexp.t) -> 'a Base.array -> Base.Sexp.tThese are exposed for code that does
@@deriving sexp_of, hardcaml.
val sexp_of_list : ('a -> Base.Sexp.t) -> 'a Base.list -> Base.Sexp.t