ShakeFlow: Functional Hardware Description with Latency-Insensitive Interface Combinators

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 73
  • Download : 0
Functional programming's benefits for hardware description have long been recognized in the literature. In particular, functional hardware description languages provide combinators such as maps and filters to facilitate the compositional description of circuits. However, it is challenging to apply functional programming with combinators to complex circuits with latency-insensitive interfaces such as valid/ready interfaces due to the cyclic nature of their forward and backward ports. In this work, we present ShakeFlow: the first functional hardware description language supporting latency-insensitive interface combinators. ShakeFlow provides extensible support for custom interfaces and combinators and a compiler to synthesizable Verilog and FIRRTL. We port a part of the BaseJump STL library and the Corundum 100Gbps NIC from (System)Verilog to ShakeFlow, reducing the code size by 38% and 26%, respectively. By experimenting with Corundum, we demonstrate that ShakeFlow is capable of designing realistic circuits, and porting to ShakeFlow does not incur significant resource and performance overhead.
Publisher
Association for Computing Machinery
Issue Date
2023-03
Language
English
Citation

28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2023, pp.702 - 717

DOI
10.1145/3575693.3575701
URI
http://hdl.handle.net/10203/312243
Appears in Collection
CS-Conference Papers(학술회의논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0