Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
js
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

"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 ...