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: 14 Jun 2023
Hardcaml Step Testbench
A monad for interacting with
Hardcaml.Cyclesim based simulations.
Multiple control threads can be
spawned and can
wait_for child threads to complete.
Synchronisation between threads is performed at every clock cycle. New values for simulation input ports are collected, the simulation updated, and outputs distributed amoung the control threads.