Skip to content
/ hardcaml Public
forked from janestreet/hardcaml

Hardcaml is an OCaml library for designing hardware.

License

Notifications You must be signed in to change notification settings

jhhan/hardcaml

 
 

Repository files navigation

"Hardcaml"

Hardcaml is an OCaml library for designing and testing hardware designs.

  • Express hardware designs in OCaml
  • Make generic designs using higher order functions, lists, maps, functors...
  • Simulate designs in OCaml
  • Convert to (hierarchical) Verilog or VHDL
  • Write new modules to transform or analyse circuits, or provide new backends

Install

$ opam install hardcaml ppx_deriving_hardcaml hardcaml_waveterm

Documentation

Related tools and libraries

Simulation and testing

  • Hardcaml_waveterm - ASCII based digital waveforms. Usable in expect tests or from an interactive terminal application.
  • Hardcaml_c - convert Hardcaml designs to C-based simulation models. Provides an API compatible with the standard Cyclesim module. Trades compilation time for runtime performance.
  • Hardcaml_verilator - Convert Hardcaml designs to very high speed simulation model using the open source Verilator compiler.
  • Hardcaml_step_testbench - Monadic testbench API. Control multiple tasks synchronized to a clock without converting to a statemachine coding style.

Design libraries

Other ...

About

Hardcaml is an OCaml library for designing hardware.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • OCaml 98.7%
  • C 0.7%
  • Standard ML 0.3%
  • VHDL 0.2%
  • Verilog 0.1%
  • Makefile 0.0%