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
- Examples and framework - simple to mildly complex example designs
- Waveform viewer - terminal based digital waveform viewer
- Icarus verilog VPI interface - cosimulation with Icarus verilog
- LLVM simulator - high speed, native code generating simulator
- Reed-Solomon CODEC configurable Reed-Solomon encoder/decoder
- OpenRISC direct port of mork1x cpu very alpha, not tested as yet