Hardware implementation of OCaml using a synchronous functional language
summary
Éclat compiles a synchronous functional language to FPGA hardware and implements a full OCaml VM as an Éclat function: a stack‑based bytecode interpreter plus a runtime with automatic GC compiled to hardware (GC is part of the accelerator). Values are tagged (tag+payload) with customizable pointer size; memory reads take two cycles, typical recursive GCD runs in three cycles, and external functions become hardware accelerators callable from reactive code. Prototype synthesizes to FPGA, supports local registers and single‑writer memory (no concurrent accesses), and shows much faster execution on small benchmarks.
AI-written summary · about
chapters (11)
- 0:00FPGA-based OCaml implementation
- 1:59Accelerating computations on FPGAs
- 3:06Synchronous functional language design
- 5:02Recursive functions to automata
- 9:17Reactive vs non-reactive execution
- 13:30Memory management in hardware
- 14:35OCaml to stack VM on FPGA
- 18:10Performance vs Microblaze
- 19:30Bridging reactive functions
- 21:49Future work and compiler
- 22:11Q&A: GC in hardware
related talks
23mHigh-Performance Hardware Design with Hardcaml
29mProgramming machine learning algorithms in hardware, sanely, using Haskell and Rust!
39mMaking Memories: Clojure For Hardware Engineers (And Others)
19mFormal Methods for Hardware Software Integration on RISC V Embedded Systems
23mRunning an Open Source LLM on Open Source Hardware
43mSoftware Development Trends for FPGAs
49mFPGA: creating hardware by programming
21mA Functional Approach to Synthesizing Routable Programmable Accelerators for Neural(…)
