Calyx is an open-source infrastructure for compiling high-level programming languages to efficient hardware designs. Calyx provides a modular, pass-based compiler that optimizes and lowers an intermediate language into Verilog.
If you're working with Calyx and need help, please join the Zulip chat and say hi! You can also open an issue or start a discussion! Calyx is jointly maintained by the Capra lab lab at Cornell and the Flame lab at MIT.
Q. Doesn't the LLVM CIRCT project do the same thing as Calyx?
CIRCT is an umbrella project to build a variety of open-source programming tools for hardware design. CIRCT does provide the ability to compile high-level programs (written in dialects such as affine
) to hardware but internally uses Calyx itself to do so.