Embedded Systems Design TechniquesParallel Computing and Optimization TechniquesReal-Time Systems Scheduling

Frans Skarman, Gustav Sörnäs, Oscar Gustafsson

2026.2.2ACM Transactions on Reconfigurable Technology and Systems

DOI: 10.1145/3793550

tlooto Summary

Spade is a new hardware description language that takes inspiration from modern software language design and aims to be more productive than traditional HDLs without sacrificing performance.

Abstract

The need for custom hardware to meet compute demands is ever increasing. However, the hardware description languages that these accelerators are primarily built with were designed in the 1980s which means that they are missing out on over 35 years of development in programming language design. In this paper, we present Spade — a new hardware description language that takes inspiration from modern software language design and aims to be more productive than traditional HDLs without sacrificing performance. This is achieved through a mix of building abstractions for common hardware constructs such as pipelines, and outright borrowing ideas from software, such as a type system that comes close in power to that of Rust or Haskell. Compared to contemporary hardware description languages such as Chisel, which are embedded in a host language, Spade is a standalone language with a type system that is available in hardware, not just at elaboration-time. Its abstractions also build on top of the RTL abstraction instead of replacing it as is done in languages like BlueSpec and in high-level synthesis.

Citation format

SKARMAN, Frans; SÖRNÄS, Gustav; GUSTAFSSON, Oscar. Spade – a modern hardware description language. ACM Transactions on Reconfigurable Technology and Systems, 2026, 19(2): 1–28.