SPINALFUZZ: Coverage-Guided Fuzzing for SpinalHDL Designs

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Boosting hardware design productivity is a ma- jor plus of SpinalHDL, a Scala-based Hardware Description Language (HDL). SpinalHDL achieves this by providing ob- ject oriented programming, functional programming, and meta- hardware description finally enabling the generation of Verilog code. Despite all the advantages of SpinalHDL, verification is the biggest challenge here as well. In this paper, we bring Coverage-Guided Fuzzing (CGF), a well- established software testing technique, to the SpinalHDL design flow. We have implemented our approach SPINALFUZZ on top of the fuzzer AFL++. We leverage Scala-features to automate as many tasks as possible and ease the integration of fuzzing in SpinalHDL. In the experiments we demonstrate the effectiveness of SPINALFUZZ in comparison to Constrained Random Verifica- tion (CRV). For a wide range of SpinalHDL designs we show that SPINALFUZZ outperforms CRV and reaches coverage-closure.
Original languageEnglish
Title of host publicationEuropean Test Symposium 2022
Number of pages4
Publication statusPublished - 2022

Fields of science

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

JKU Focus areas

  • Digital Transformation

Cite this