Wavefront Threading Enables Effective High-Level Synthesis
- Blake Pelton ,
- Adam Sapek ,
- Ken Eguro ,
- Daniel Lo ,
- Alessandro Forin ,
- Matt Humphrey ,
- Jinwen Xi ,
- David Cox ,
- Rajas H. Karandikar ,
- Johannes de Fine Licht ,
- Evgeny Babin ,
- Adrian Caulfield ,
- Doug Burger
Proceedings of the ACM on Programming Languages | , Vol 8: pp. 1066-1090
Digital systems are growing in importance and computing hardware is growing more heterogeneous. Hardware design, however, remains laborious and expensive, in part due to the limitations of conventional hardware description languages (HDLs) like VHDL and Verilog. A longstanding research goal has been programming hardware like software, with high-level languages that can generate efficient hardware designs. This paper describes Kanagawa, a language that takes a new approach to combine the programmer productivity benefits of traditional High-Level Synthesis (HLS) approaches with the expressibility and hardware efficiency of Register-Transfer Level (RTL) design. The language’s concise syntax, matched with a hardware design-friendly execution model, permits a relatively simple toolchain to map high-level code into efficient hardware implementations.