"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
- 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
Hardcaml_c
- convert Hardcaml designs to C-based simulation modelsHardcaml_circuits
- a library of useful/interesting Hardcaml designsHarcaml_fixed_point
- fixed point arithmetic with rounding and overflow controlHardcaml_of_verilog
- read a verilog design into Hardcaml using YosysHardcaml_step_testbench
- monadic testbench apiHardcaml_verify
- verification tools for HardcamlHardcaml_verilator
- convert Hardcaml designs to very high speed simulation modelsHardcaml_waveterm
- ASCII based digital waveformsHardcaml_xilinx
- various Xilinx primitives wrapped with Hardcaml interfaces and simulation modelsHardcaml_xilinx_components
- tool to read Xilinx unisim and xpm component definitions and generate Hardcaml interfaces