ujamjar / Hardcaml
Licence: isc
[Deprecated see github.com/janestreet/hardcaml] Register Transfer Level Hardware Design in OCaml
Stars: ✭ 120
Programming Languages
ocaml
1615 projects
Hardcaml Has A New Home!
Hardcaml is now developed at Jane Street!
Various hardcaml libraries that lived under the ujamjar organisation have been updated, improved and released by Jane Street.
Deprecated version
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
Build
With opam
$ opam install hardcaml
The package (optionally) depends on camlp4
for the syntax extension and ctypes-foreign
for the C based simulator. The js_of_ocaml library requires lwt
and js_of_ocaml
To build locally use
$ ocaml pkg/pkg.ml build --with-camlp4 [true|false] --with-ctypes-foreigh [true|false] --with-lwt [true|false] --with-js_of_ocaml [true|false]
An IOcamlJS
notebook kernel can also be built with
$ ocamlbuild kernel.hardcaml.js
Related tools
- 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
Other projects
- Reed-Solomon CODEC configurable Reed-Solomon encoder/decoder
- OpenRISC direct port of mork1x cpu very alpha, not tested as yet
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].