Hardcaml_kernel.ClockingSourceinclude S with type 'a t = 'a Hardcaml_kernel__.Clocking_intf.Untyped.tinclude Ppx_compare_lib.Comparable.S1 with type 'a t := 'a tinclude Ppx_compare_lib.Comparable.S1__local with type 'a t := 'a tinclude Ppx_compare_lib.Equal.S1 with type 'a t := 'a tinclude Ppx_compare_lib.Equal.S1__local with type 'a t := 'a tinclude Interface.S with type 'a t := 'a tinclude Hardcaml_interface_types.Pre with type 'a t := 'a tinclude Hardcaml_interface_types.Pre_partial with type 'a t := 'a tinclude Ppx_compare_lib.Equal.S1 with type 'a t := 'a tinclude Ppx_compare_lib.Equal.S1__local with type 'a t := 'a tinclude Ppx_compare_lib.Comparable.S1__local with type 'a t := 'a tinclude Base.Equal.S1__local with type 'a t := 'a tRTL names specified in the interface definition - commonly also the OCaml field name.
Sum of all port widths specified in the interface definition.
Offset of each field within the interface. The first field is placed at the least significant bit, unless the rev argument is true.
Take a list of interfaces and produce a single interface where each field is a list.
Create a list of interfaces from a single interface where each field is a list. Raises if all lists don't have the same length.
Similar to Monad.all for lists -- combine and lift the monads to outside the interface.
Equivalent to All(Or_error).all. This is made a special case for convenience.
Helper functions to ease usage of the Always API when working with interfaces.
Optional Metadata
val pipeline :
?attributes:Rtl_attribute.t list ->
?enable:Hardcaml_kernel__.Signal__type.t ->
?clear:Hardcaml_kernel__.Signal__type.t ->
?clear_to:Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.t t ->
n:int ->
Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.tval pipeline_no_clear :
?attributes:Rtl_attribute.t list ->
?enable:Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.t t ->
n:int ->
Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.tval reg_fb :
?enable:Hardcaml_kernel__.Signal__type.t ->
?clear:Hardcaml_kernel__.Signal__type.t ->
?clear_to:Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.t t ->
width:int ->
f:(Hardcaml_kernel__.Signal__type.t -> Hardcaml_kernel__.Signal__type.t) ->
Hardcaml_kernel__.Signal__type.tval reg_fb_and_next :
?enable:Hardcaml_kernel__.Signal__type.t ->
?clear:Hardcaml_kernel__.Signal__type.t ->
?clear_to:Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.t t ->
width:int ->
f:(Hardcaml_kernel__.Signal__type.t -> Hardcaml_kernel__.Signal__type.t) ->
Hardcaml_kernel__.Signal__type.t * Hardcaml_kernel__.Signal__type.tval reg_fb_and_next_no_clear :
?enable:Hardcaml_kernel__.Signal__type.t ->
?clear:Hardcaml_kernel__.Signal__type.t ->
?clear_to:Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.t t ->
width:int ->
f:(Hardcaml_kernel__.Signal__type.t -> Hardcaml_kernel__.Signal__type.t) ->
Hardcaml_kernel__.Signal__type.t * Hardcaml_kernel__.Signal__type.tval reg_fb_no_clear :
?enable:Hardcaml_kernel__.Signal__type.t ->
?clear:Hardcaml_kernel__.Signal__type.t ->
?clear_to:Hardcaml_kernel__.Signal__type.t ->
Hardcaml_kernel__.Signal__type.t t ->
width:int ->
f:(Hardcaml_kernel__.Signal__type.t -> Hardcaml_kernel__.Signal__type.t) ->
Hardcaml_kernel__.Signal__type.t