Verification of Chisel Hardware designs with ChiselVerify

Andrew Dobis, Kevin Laeufer, Hans Jakob Damsgaard, Tjark Petersen, Kasper Juul Hesse Rasmussen, Enrico Tolotto, Simon Thye Andersen, Richard Lin, Martin Schoeberl

Research output: Contribution to journalArticleScientificpeer-review

8 Citations (Scopus)
119 Downloads (Pure)

Abstract

With the current ever-increasing demand for performance, hardware developers find themselves turning ever-more towards the construction of application-specific accelerators to achieve higher performance and lower energy consumption. In order to meet the ever-shortening time constraints, both hardware development and verification tools need to be improved. Chisel, as a hardware construction language, tackles this problem by speeding up the development of digital designs. However, the Chisel infrastructure lacks tools for verification. This paper improves the efficiency of verification in Chisel by proposing methods to support both formal and dynamic verification of digital designs in Scala. It builds on top of ChiselTest, the official testing framework for Chisel. Our work supports functional coverage, constrained random verification, bus functional models, and transaction-level modeling in a verification library named ChiselVerify, while the formal methods are directly integrated into Chisel3.

Original languageEnglish
Article number104737
Number of pages14
JournalMicroprocessors and Microsystems
Volume96
Early online date2022
DOIs
Publication statusPublished - Feb 2023
Publication typeA1 Journal article-refereed

Keywords

  • Chisel
  • Digital design
  • Scala
  • Verification

Publication forum classification

  • Publication forum level 1

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'Verification of Chisel Hardware designs with ChiselVerify'. Together they form a unique fingerprint.

Cite this