Wavefront Threading Enables Effective High-Level Synthesis
Blake Pelton, Adam Sapek, Ken Eguro, Daniel Lo, Alessandro Forin, Matt Humphrey, Jinwen Xi, David Cox, Rajas Karandikar, Johannes de Fine Licht, Evgeny Babin, Adrian Caulfield, Doug Burger
TL;DR
The paper tackles the difficulty of writing hardware in a productive high-level language without sacrificing RTL-quality performance. It introduces Kanagawa and its Wavefront Threading execution model, enabling explicit fine-grained concurrency with a memory model designed for efficient hardware mapping. Through comprehensive examples, compiler mappings, and extensive ASIC/FPGA benchmarks, the authors show that Kanagawa can yield production-quality hardware with competitive latency, area, and throughput while significantly reducing code size. The work highlights Kanagawa’s potential to streamline hardware design, support iterative architecture exploration, and serve as a platform well-suited for generative AI-assisted hardware development.
Abstract
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.
