Scala defined hardware generators for Chisel
Schoeberl, Martin; Damsgaard, Hans Jakob; Pezzarossa, Luca; Keszocze, Oliver; Jellum, Erling Rennemo; Beamer, Scott (2025-09)
Schoeberl, Martin
Damsgaard, Hans Jakob
Pezzarossa, Luca
Keszocze, Oliver
Jellum, Erling Rennemo
Beamer, Scott
09 / 2025
Microprocessors and Microsystems
105182
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202508268467
https://urn.fi/URN:NBN:fi:tuni-202508268467
Kuvaus
Peer reviewed
Tiivistelmä
We describe digital hardware designs in hardware description languages such as VHDL and SystemVerilog. Both languages were developed in the 1980s and, although regularly updated, are still in the style of their time. They lack the constructs to write more configurable generators than just the number of bits for an operation. Based on Scala, Chisel is a hardware construction language that helps to write hardware generators. Hardware generators are not a new idea. Scripting languages, such as Perl and TCL, are often used to generate VHDL or Verilog code from other sources of system description. However, mixing two languages and embedding VHDL or Verilog strings in generator code is not scalable. As Chisel is embedded in Scala, we can write the generators using the same language/environment as we use to describe the digital logic. This paper explores different examples and patterns to describe parameterizable hardware generators. We are confident that practices from software development can improve the productivity of hardware designers to build and test the next billion transistor chips.
Kokoelmat
- TUNICRIS-julkaisut [24626]
