package hardcaml_step_testbench

Not available on OCaml 5.5
  1. Overview
  2. Docs

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.

Added to opam-repository:

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

Optional Dependencies

None

Used by

None

Conflicts

None

Build status

Results of building hardcaml_step_testbench with each compiler on check.ci.ocaml.org, run of against opam-repository 7cdc698. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
v0.17.0 (this version) n/a n/a good n/a n/a
v0.16.0 n/a good good n/a n/a
v0.15.0 good good n/a n/a n/a
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure