Kanagawa Microsoft
winget install --id=Microsoft.Kanagawa -e Kanagawa is a high-level, imperative programming language designed for hardware design, introducing Wavefront Threading—a novel execution model that hardwires concurrency for efficient and predictable parallel hardware. Unlike traditional HLS tools requiring pragmas and heuristics, Kanagawa allows direct expression of concurrency, synchronization, and scheduling in code, combining software-like productivity with RTL efficiency.
Key Features:
- Wavefront Threading: Threads execute deterministically, reducing synchronization complexity.
- Wavefront Consistency: A memory model aligned with synchronous circuits for clarity and correctness.
- Composable Abstractions: Utilizes functions, lambdas, closures, and strong static typing for zero-cost abstractions.
- Reusable Libraries: Includes generic data structures, algorithms, and IP blocks like RISC-V cores.
- Productivity & Efficiency: Designs match or surpass RTL in area, performance, and power with less code.
Audience & Benefit: Ideal for hardware designers seeking both productivity and efficiency. Kanagawa enables faster design exploration of scheduling tradeoffs without rewriting code. Real-world applications include Azure accelerators and RISC-V cores, often outperforming SystemVerilog designs with significantly less code.
Installable via winget, Kanagawa bridges the gap between high-level programming and efficient hardware implementation, offering a powerful tool for modern hardware design challenges.