Affiliation:
1. Cornell University, USA
Abstract
Modular design is a key challenge for enabling large-scale reuse of hardware modules. Unlike software, however, hardware designs correspond to physical circuits and inherit constraints from them. Timing constraints—which cycle a signal arrives, when an input is read—and structural constraints—how often a multiplier accepts new inputs—are fundamental to hardware interfaces. Existing hardware design languages do not provide a way to encode these constraints; a user must read documentation, build scripts, or in the worst case, a module’s implementation to understand how to use it. We present Filament, a language for modular hardware design that supports the specification and enforcement of timing and structural constraints for statically scheduled pipelines. Filament usestimeline types, which describe the intervals of clock-cycle time when a given signal is available or required. Filament enablessafe compositionof hardware modules, ensures that the resulting designs are correctly pipelined, and predictably lowers them to efficient hardware.
Funder
NSF
Semiconductor Research Corporation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference50 articles.
1. AMD Inc. . 2021. Vivado Design Suite User Guide: High-Level Synthesis. UG902 (v2017.2) June 7, 2017 .. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug902-vivado-high-level-synthesis.pdf AMD Inc.. 2021. Vivado Design Suite User Guide: High-Level Synthesis. UG902 (v2017.2) June 7, 2017.. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug902-vivado-high-level-synthesis.pdf
2. AMD Inc.. 2022. Xilinx LogiCORE IP Multiplier v11.2. https://docs.xilinx.com/v/u/en-US/mult_gen_ds255 AMD Inc.. 2022. Xilinx LogiCORE IP Multiplier v11.2. https://docs.xilinx.com/v/u/en-US/mult_gen_ds255
3. C?aSH: Structural Descriptions of Synchronous Hardware Using Haskell
4. Chisel
5. Gérard Berry. 1992. A hardware implementation of pure Esterel. Sadhana. Gérard Berry. 1992. A hardware implementation of pure Esterel. Sadhana.
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Wavefront Threading Enables Effective High-Level Synthesis;Proceedings of the ACM on Programming Languages;2024-06-20
2. Allo: A Programming Model for Composable Accelerator Design;Proceedings of the ACM on Programming Languages;2024-06-20
3. Cement: Streamlining FPGA Hardware Design with Cycle-Deterministic eHDL and Synthesis;Proceedings of the 2024 ACM/SIGDA International Symposium on Field Programmable Gate Arrays;2024-04