package hardcaml

  1. Overview
  2. Docs

Description

Hardcaml is an embedded DSL for designing and simulating hardware in OCaml. Generic hardware designs are easily expressed using features such as higher order functions, lists, maps etc. A built in simulator allows designs to be simulated within Hardcaml. Designs are converted to either Verilog or VHDL to interact with standard back end tooling.

Published: 25 Mar 2021

README

"Hardcaml"

Hardcaml is an OCaml library for designing hardware.

  • Express hardware designs in OCaml

  • Make generic designs using higher order functions, lists, maps, functors...

  • Simulate designs in OCaml

  • Convert to VHDL, Verilog, C

  • Write new modules to transform or analyse circuits, or provide new backends

Install

$ opam install hardcaml

This will also include ppx_deriving_hardcaml.

Related tools and libraries

In progress.

Dependencies (9)

  1. zarith >= "1.5"
  2. ppxlib >= "0.18.0"
  3. dune >= "2.0.0"
  4. topological_sort >= "v0.14" & < "v0.15"
  5. stdio >= "v0.14" & < "v0.15"
  6. ppx_sexp_conv >= "v0.14" & < "v0.15"
  7. ppx_jane >= "v0.14" & < "v0.15"
  8. base >= "v0.14" & < "v0.15"
  9. ocaml >= "4.07.0"

Dev Dependencies

None

Used by (2)

  1. hardcaml_waveterm = "v0.14.0"
  2. ppx_deriving_hardcaml = "v0.14.0"

Conflicts

None