0.1.2 |
|
---|---|
0.1.1 |
|
#28 in #accelerator
2.5MB
64K
SLoC
A Compiler Infrastructure for Accelerator Generators
Calyx is an intermediate language and infrastructure for building compilers that generate custom hardware accelerators.
See the Calyx website, language documentation and the documentation for the source code for more information. Calyx's design is based on our paper.
Installation
Quick
If you want to try out the compiler, install it using cargo
:
cargo install futil
This will install the futil
binary which includes the calyx frontend,
optimization passes, and several backends.
Recommended
Follow the getting started instructions.
Organization
This repository contains the source code for the following:
calyx
(calyx/
): The intermediate representation used for hardware accelerator generation.futil
(src/
): The compiler infrastructure for compiling Calyx programs. Ifcalyx
is like LLVM, thenfutil
is Clang.- Calyx debugger (
interp/
): An interpreter and debugger for Calyx. fud
, The Calyx driver: Utility tool that wraps various hardware toolchains.
Dependencies
~10–18MB
~232K SLoC