Spade: A Novel Hardware Description Language for Easier, Less Error-Prone Hardware Design

2025-05-12

Spade is a new hardware description language (HDL) designed to simplify hardware design and reduce errors. It borrows best practices from software programming languages, incorporating language-level support for common hardware constructs without sacrificing low-level control. Key features include first-class pipeline support, a powerful type system with structs, arrays, tuples, and payload-carrying enums, pattern matching, type inference, and excellent error messages. A comprehensive toolchain, including the Swim build tool and cocotb testing framework, is also provided. While still in its early stages, Spade shows immense promise as a next-generation hardware design language.