package hardcaml_verilator

  1. Overview
  2. Docs
Hardcaml Verilator Simulation Backend

Install

Dune Dependency

Authors

Maintainers

Sources

hardcaml_verilator-v0.16.0.tar.gz
sha256=c0c60e3ad9905be924fbd12d4c249a1725ba80368a38a68b3849632eafb46485

Description

Very fast verilator-based simulations of Hardcaml circuits.

This library transparently compiles a verilator-based shared library, and links it back to the running executable to be used as a Cyclesim simulation.

Published: 14 Jun 2023

README

"Hardcaml Verilator"

Hardcaml_verilator converts Hardcaml designs to verilog and compiles them with verilator. This produces a very high performance, cycle accurate, simulation model of the design.

The library transparently compiles the verilator simulation model to a shared library and loads it into the running program. It exposes a simulation API compatible with [Hardcaml.Cyclesim].

Compiling the verilator simulation model can take significant time - therefore a simple caching scheme is implemented so that the shared library can be reused on the second and subsequent runs if the design does not change.

Dependencies (9)

  1. dune >= "2.0.0"
  2. ctypes-foreign
  3. ctypes >= "0.18.0"
  4. ppx_jane >= "v0.16" & < "v0.17"
  5. ppx_deriving_hardcaml >= "v0.16" & < "v0.17"
  6. hardcaml >= "v0.16" & < "v0.17"
  7. core_unix >= "v0.16" & < "v0.17"
  8. core >= "v0.16" & < "v0.17"
  9. ocaml >= "4.14.0"

Dev Dependencies

None

Used by

None

Conflicts

None