package hardcaml_step_testbench

  1. Overview
  2. Docs
Hardcaml Testbench Monad

Install

Dune Dependency

Authors

Maintainers

Sources

v0.17.0.tar.gz
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 spawned 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.

Dependencies (7)

  1. dune >= "3.11.0"
  2. stdio >= "v0.17" & < "v0.18"
  3. ppx_jane >= "v0.17" & < "v0.18"
  4. hardcaml_event_driven_sim >= "v0.17" & < "v0.18"
  5. hardcaml >= "v0.17" & < "v0.18"
  6. base >= "v0.17" & < "v0.18"
  7. ocaml >= "5.1.0"

Dev Dependencies

None

Used by

None

Conflicts

None

OCaml

Innovation. Community. Security.