Module Cyclesim.Private

type task = Hardcaml__.Import.unit -> Hardcaml__.Import.unit
val create : in_ports:Port_list.t -> out_ports_before_clock_edge:Port_list.t -> out_ports_after_clock_edge:Port_list.t -> internal_ports:Port_list.t -> reset:task -> cycle_check:task -> cycle_before_clock_edge:task -> cycle_at_clock_edge:task -> cycle_after_clock_edge:task -> lookup_signal:(Hardcaml.Signal.Uid.t -> Hardcaml.Bits.t Hardcaml__.Import.ref) -> lookup_reg:(Hardcaml.Signal.Uid.t -> Hardcaml.Bits.t Hardcaml__.Import.ref) -> t_port_list
module Step : sig ... end
val modify : ('i'o) t -> (Hardcaml.Side.t * Step.t * task) Hardcaml__.Import.list -> ('i'o) t
val coerce : (Port_list.tPort_list.t) t -> to_input:(Port_list.t -> 'i) -> to_output:(Port_list.t -> 'o) -> ('i'o) t