Module Key_actions.Of_always

Helper functions to ease usage of the Always API when working with interfaces.

Assign a interface containing variables in an always block.

Shorthand for assign.

Creates 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 t

Creates a interface container of cut through register variables.

Creates 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 -> unit

Apply 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