Skip to content
forked from calyxir/calyx

Intermediate Language (IL) for Hardware Accelerator Generators

License

Notifications You must be signed in to change notification settings

NgaiJustin/calyx

This branch is 28 commits ahead of, 409 commits behind calyxir/calyx:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f01ec41 · Oct 28, 2023
Sep 14, 2022
Oct 11, 2023
Aug 31, 2023
Apr 27, 2023
Oct 10, 2023
Oct 12, 2023
Oct 13, 2023
Oct 12, 2023
Sep 7, 2023
Aug 22, 2023
Oct 15, 2023
Oct 12, 2023
Oct 28, 2023
Oct 22, 2023
Oct 16, 2023
Sep 24, 2023
Aug 31, 2023
Oct 24, 2023
Oct 10, 2023
Oct 20, 2023
Oct 24, 2023
Sep 26, 2022
Jul 18, 2023
Feb 19, 2021
Jan 25, 2021
Mar 13, 2020
Oct 12, 2023
Mar 23, 2020
Oct 15, 2023
Oct 15, 2023
Oct 15, 2023
Aug 31, 2023
Oct 8, 2019
Jun 9, 2023
May 18, 2023
Oct 16, 2023

Repository files navigation

Built with Depot

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 calyx

This will install the calyx binary can optimize and compile Calyx programs to Verilog or CIRCT.

Recommended

Follow the getting started instructions.

Organization

This repository contains the source code for the following:

  • calyx-utils: Utilities for the Calyx compiler
  • calyx-frontend: Parser and frontend AST for the Calyx language.
  • calyx-ir: The Calyx intermediate language.
  • calyx-opt: Optimizations for the Calyx intermediate language.
  • calyx: The Calyx compiler driver.

You can also use the Calyx compiler as a library and implement your own optimizations. To do this, check out the example provided by the calyx-opt crate.

About

Intermediate Language (IL) for Hardware Accelerator Generators

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 74.3%
  • Python 22.0%
  • SystemVerilog 2.0%
  • JavaScript 0.6%
  • C++ 0.3%
  • CSS 0.2%
  • Other 0.6%