Module Hardcaml.Combinational_op

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

type create_fn = Bits.Mutable.t Base.list -> Bits.Mutable.t Base.list -> Base.unit

Implementation of the custom operation using Bits.Mutable.t

type t
val sexp_of_t : t -> Sexplib0.Sexp.t
val create : name:Base.string -> input_widths:Base.int Base.list -> output_widths:Base.int Base.list -> create_fn:create_fn -> Base.unit -> t
val create_fn_of_bits : ( Bits.t Base.list -> Bits.t Base.list ) -> create_fn

Constructed a create_fn from a Bits.t implementation. This will allocate and be a little less efficient, but might be simpler to write.

val name : t -> Base.string
val create_fn : t -> create_fn
val instantiate : t -> inputs:Signal.t Base.list -> Signal.t Base.list

Instantiate a custom operation within a hardcaml design.