Key_actions.Of_alwaysHelper functions to ease usage of the Always API when working with interfaces.
val value : Hardcaml.Always.Variable.t t -> Hardcaml.Signal.t tval assign :
Hardcaml.Always.Variable.t t ->
Hardcaml.Signal.t t ->
Hardcaml.Always.tAssign a interface containing variables in an always block.
val (<--) :
Hardcaml.Always.Variable.t t ->
Hardcaml.Signal.t t ->
Hardcaml.Always.tShorthand for assign.
val reg :
?enable:Hardcaml.Signal.t ->
?initialize_to:Hardcaml.Bits.t t ->
?reset_to:Hardcaml.Bits.t t ->
?clear:Hardcaml.Signal.t ->
?clear_to:Hardcaml.Signal.t t ->
Hardcaml.Signal.Reg_spec.t ->
Hardcaml.Always.Variable.t tCreates a interface container with register variables.
val cut_through_reg :
?enable:Hardcaml.Signal.t ->
?initialize_to:Hardcaml.Bits.t t ->
?reset_to:Hardcaml.Bits.t t ->
?clear:Hardcaml.Signal.t ->
?clear_to:Hardcaml.Signal.t t ->
Hardcaml.Signal.Reg_spec.t ->
Hardcaml.Always.Variable.t tCreates a interface container of cut through register variables.
val wire : (int -> Hardcaml.Signal.t) -> Hardcaml.Always.Variable.t tCreates a interface container with wire variables, e.g. Foo.Of_always.wire Signal.zero, which would yield wires defaulting to zero.
val apply_names :
?prefix:string ->
?suffix:string ->
?naming_op:
(loc:lexing_position -> Hardcaml.Signal.t -> string -> Hardcaml.Signal.t) ->
Hardcaml.Always.Variable.t t ->
unitApply names to field of the interface. Add prefix and suffix if specified.
val __ppx_auto_name :
Hardcaml.Always.Variable.t t ->
string ->
Hardcaml.Always.Variable.t t