All Projects → cucapra → calyx

cucapra / calyx

Licence: MIT License
Intermediate Language (IL) for Hardware Accelerator Generators

Programming Languages

rust
11053 projects
python
139335 projects - #7 most used programming language
SystemVerilog
227 projects
C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to calyx

dahlia
Time-sensitive affine types for predictable hardware generation
Stars: ✭ 87 (-44.59%)
Mutual labels:  open-source-hardware, high-level-synthesis, fpga-programming, dahlia
OpenCGRA
OpenCGRA is an open-source framework for modeling, testing, and evaluating CGRAs.
Stars: ✭ 51 (-67.52%)
Mutual labels:  open-source-hardware
hero-sdk
⛔ DEPRECATED ⛔ HERO Software Development Kit
Stars: ✭ 21 (-86.62%)
Mutual labels:  open-source-hardware
OpenCGRA2
CGRA-Flow is a integrated framework for CGRA synthesis and development.
Stars: ✭ 26 (-83.44%)
Mutual labels:  open-source-hardware
8Q
General Purpose 8 Qubit Optical Quantum Computer
Stars: ✭ 55 (-64.97%)
Mutual labels:  open-source-hardware
PandA-bambu
PandA-bambu public repository
Stars: ✭ 129 (-17.83%)
Mutual labels:  high-level-synthesis
vericert
A formally verified high-level synthesis tool based on CompCert and written in Coq.
Stars: ✭ 63 (-59.87%)
Mutual labels:  high-level-synthesis
DragonArmor
Dragon Armor 3D-printable CAD files (Autodesk Fusion 360)
Stars: ✭ 46 (-70.7%)
Mutual labels:  open-source-hardware
LipSync
An open-source mouth operated sip and puff joystick that enables people with limited hand function emulate a mouse on their computer and/or smartphone.
Stars: ✭ 27 (-82.8%)
Mutual labels:  open-source-hardware
hlsclt
A Vivado HLS Command Line Helper Tool
Stars: ✭ 35 (-77.71%)
Mutual labels:  high-level-synthesis
polyphony
Polyphony is Python based High-Level Synthesis compiler.
Stars: ✭ 90 (-42.68%)
Mutual labels:  high-level-synthesis
carbon-ir
The carbon intermediate representation language
Stars: ✭ 24 (-84.71%)
Mutual labels:  intermediate-language
soap
🎯 soap - Structural Optimisation of Arithmetic Programs
Stars: ✭ 21 (-86.62%)
Mutual labels:  high-level-synthesis
Awesome-Retro-Docs
A curated collection of technical documentation for Arcades, Handhelds, Consoles, Computers and MCU’s.
Stars: ✭ 128 (-18.47%)
Mutual labels:  fpga-programming
Quasar
Quasar 2.0: Chisel equivalent of SweRV-EL2
Stars: ✭ 19 (-87.9%)
Mutual labels:  open-source-hardware

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:

  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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].
OSZAR »