一句话:提出 Calyx 中间语言与编译器,将高层程序编译为可综合硬件设计,统一结构化与控制流表示。
为硬件设计的高层编程模型需要高效的编译路径,但现有中间表示难以同时承载硬件结构信息与软件控制流信息。本文提出 Calyx,一种面向硬件生成的中间语言,将类硬件的结构化表示与类软件的控制流表示(循环与条件)相结合。这种分离式表示使编译器能够执行同时依赖结构与控制流信息的新型硬件优化,而这些信息对硬件高层编程模型至关重要。Calyx 编译器利用有限状态机降低控制流构造,并生成可综合的硬件描述。该工作为加速器生成器提供了可复用的编译器基础设施,摘要未报告定量评估,作者以编译器实现与可综合硬件描述生成来展示其可行性。
We present Calyx, a new intermediate language (IL) for compiling high-level programs into hardware designs. Calyx combines a hardware-like structural language with a software-like control flow representation with loops and conditionals. This split representation enables a new class of hardware-focused optimizations that require both structural and control flow information which are crucial for high-level programming models for hardware design. The Calyx compiler lowers control flow constructs using finite-state machines and generates synthesizable hardware descriptions.