package hardcaml_step_testbench
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=a21b13cf03b84f06471e7c31ecbac8df1b08f8ac1156d0f3a41d2250ea293b2f
Description
A monad for interacting with Hardcaml.Cyclesim based simulations.
Allows multiple control threads to interact with a simulation module, all of which are synchronised to the system clock.
Published: 26 May 2024
README
Hardcaml Step Testbench
A monad for interacting with Hardcaml.Cyclesim
based simulations.
Multiple control threads can be spawn
ed and can wait_for
child threads to complete.
Synchronisation between threads is performed at every clock cycle.
There are separate versions for the cyclesim
and event_driven_sim
simulators.
Further, two styles of writing testbenches are provided: functional and imperative.
In the functional style new values for simulation input ports are collected, the simulation updated, and outputs distributed amoung the control threads.
In the imperative style testbench writers just access the simulator ports directly.