Spade and Surfer - An HDL inspired by software languages and a modern waveform viewer

  • Frans Skarman (Organiser)

Activity: Participating in or organising an eventOrganising a conference, workshop, ...

Description

This talk will present two tools that I develop to make FPGA and ASIC design easier, less error-prone and more enjoyable. Spade, a hardware description language that draws inspiration from software languages like Rust. This is done both by borrowing features where it makes sense and by borrowing design philosophy for hardware-specific features. The result is a language with native support for pipelines, a strong static type system and abstractions for common hardware constructs like memories an ports. This helps catch bugs early, enables easy fearless refactoring, and allows building new abstractions for ready-valid handshaking and streams. Spade is also designed to be a useful project, not only be an academic experiment, so it comes with solid tools including a build tool with dependency management, editor integration and a purpose built waveform viewer, Surfer, which is the topic of the second half of the presentation. Surfer is a Waveform viewer built to be snappy and extensible which makes debugging hardware much nicer and more productive. The extensibility allows new debugging techniques such as integration with new HDLs like Spade or Chisel and translation of instructions from RISC-V, MIPS, and user defined instruction. Surfer is also embeddable in websites, teaching tools and CI pipelines. The project was started at Linköping University and is now a successful collaboration between LIU and JKU as well as several external open source contributors.
Period29 Aug 2024
Event typeGuest talk
LocationAustriaShow on map

Fields of science

  • 202017 Embedded systems
  • 202005 Computer architecture
  • 102005 Computer aided design (CAD)
  • 102 Computer Sciences
  • 102011 Formal languages

JKU Focus areas

  • Digital Transformation