Module Hardcaml__.Combinational_op

type create_fn = Hardcaml.Bits.t Hardcaml__.Import.list -> Hardcaml.Bits.t Hardcaml__.Import.list

Implementation of the custom operation using Bits.t

type create_fn_mutable = Hardcaml.Bits.Mutable.t Hardcaml__.Import.list -> Hardcaml.Bits.Mutable.t Hardcaml__.Import.list -> Hardcaml__.Import.unit

Implementation of the custom operation using Bits.Mutable.t

type t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val create : ?⁠create_fn:create_fn -> ?⁠create_fn_mutable:create_fn_mutable -> Hardcaml__.Import.unit -> name:Hardcaml__.Import.string -> input_widths:Hardcaml__.Import.int Hardcaml__.Import.list -> output_widths:Hardcaml__.Import.int Hardcaml__.Import.list -> t

One must supply at least one of create_fn and create_fn_mutable.

val name : t -> Hardcaml__.Import.string
val create_fn : t -> create_fn
val create_fn_mutable : t -> create_fn_mutable
val instantiate : t -> inputs:Hardcaml.Signal.t Hardcaml__.Import.list -> Hardcaml.Signal.t Hardcaml__.Import.list

Instantiate a custom operation within a hardcaml design.