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 open an issue or start a discussion!
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.