Skip to content
[Deprecated see github.com/janestreet/hardcaml] Register Transfer Level Hardware Design in OCaml
OCaml Jupyter Notebook CSS Shell Makefile Tcl
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
archive
csim
js
lwttb
notebooks
src
staging
test
tools
.gitignore
.merlin
.travis-ci.sh
.travis.yml
CHANGES.md
LICENSE.md
Makefile
README.md
hardcaml-csim.opam
hardcaml-js.opam
hardcaml-lwttb.opam
hardcaml.opam

README.md

Hardcaml Has A New Home!

Hardcaml is now developed at Jane Street!

The various hardcaml libraries that lived under the ujamjar organisation will be released under Jane Street in the coming months.

Deprecated version

Build Status

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

Try it online!

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

Other projects

You can’t perform that action at this time.