Skip to content
/ calyx Public
forked from calyxir/calyx

Intermediate Language (IL) for Hardware Accelerator Generators

License

Notifications You must be signed in to change notification settings

lcy-seso/calyx

 
 

Repository files navigation

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:

  1. calyx (calyx/): The intermediate representation used for hardware accelerator generation.
  2. futil (src/): The compiler infrastructure for compiling Calyx programs. If calyx is like LLVM, then futil is Clang.
  3. Calyx debugger (interp/): An interpreter and debugger for Calyx.
  4. fud, The Calyx driver: Utility tool that wraps various hardware toolchains.

About

Intermediate Language (IL) for Hardware Accelerator Generators

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 71.8%
  • Python 22.3%
  • SystemVerilog 2.4%
  • C++ 0.9%
  • JavaScript 0.8%
  • Tcl 0.5%
  • Other 1.3%