package hardcaml_step_testbench
Hardcaml Testbench Monad
Install
Dune Dependency
Authors
Maintainers
Sources
hardcaml_step_testbench-v0.16.0.tar.gz
sha256=2a8382d8acb404fced2e8b9fb794e5ac14cee6e15a77149b5c63ad560f873953
doc/hardcaml_step_testbench.digital_components/Digital_components/Component/index.html
Module Digital_components.Component
Source
t
is mostly abstract, but we expose is as a constructor so that the type checker knows that t
is injective.
Source
val sexp_of_t :
('i -> Sexplib0.Sexp.t) ->
('o -> Sexplib0.Sexp.t) ->
('i, 'o) t ->
Sexplib0.Sexp.t
output
returns the output based on an input and its current state, but does not update the state. A component is called "combinational" if output t i
ignores t
. A component is called "sequential" if output t i
uses t
. A sequential component is called a "moore machine" if it ignores i
and a "mealy machine" if it uses i
.
update_state
updates t
's state based on an input and its current state
run_with_inputs t is
runs length is
steps with t
, on each step calling update_state
and then output
, pairing the input of that step with the output.
Source
val run_until_finished :
?show_steps:Base.Bool.t ->
('i, 'o) t ->
first_input:'i ->
next_input:('o -> 'i Next_input.t) ->
Base.Unit.t
Component combinators
Combinational components
Sequential components
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page