0.1.2 2021年8月30日
0.1.1 2021年8月30日

#28 in #加速器

自定义许可证

2.5MB
64K SLoC

SystemVerilog 43K SLoC // 0.0% comments Python 18K SLoC // 0.2% comments Rust 2.5K SLoC // 0.0% comments JavaScript 274 SLoC // 0.1% comments TCL 162 SLoC // 0.4% comments Vim Script 134 SLoC Emacs Lisp 129 SLoC // 0.3% comments C++ 70 SLoC // 0.1% comments Shell 59 SLoC // 0.2% comments jq 37 SLoC Lua 28 SLoC // 0.1% comments INI 21 SLoC TypeScript 21 SLoC // 0.2% comments

加速器生成编译器基础设施

Calyx 是一种中间语言和基础设施,用于构建生成自定义硬件加速器的编译器。

有关更多信息,请参阅Calyx 网站语言文档以及源代码文档。Calyx 的设计基于我们的论文

安装

快速

如果您想尝试编译器,请使用 cargo 安装

cargo install futil

这将安装包含 Calyx 前端、优化过程和几个后端的 futil 二进制文件。

遵循入门指南

组织

此存储库包含以下内容的源代码

  1. calyx (calyx/):用于硬件加速器生成的中间表示。
  2. futil (src/):编译 Calyx 程序的编译器基础设施。如果 calyx 像 LLVM,那么 futil 就是 Clang。
  3. Calyx 调试器(interp/):Calyx 的解释器和调试器。
  4. fud,Calyx 驱动器:封装各种硬件工具链的实用工具。

依赖关系

~10–18MB
~232K SLoC