Litcius/Paper detail

Verification of Chisel Hardware Designs with ChiselVerify

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

2022Microprocessors and Microsystems17 citationsDOIOpen Access PDF

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.

Topics & Concepts

Computer scienceChiselFunctional verificationDatabase transactionHigh-level verificationEmbedded systemFormal verificationSoftware engineeringComputer hardwareDatabaseProgramming languageSoftwareSoftware developmentEngineeringSoftware constructionMechanical engineeringFormal Methods in VerificationRadiation Effects in ElectronicsEmbedded Systems Design Techniques
Verification of Chisel Hardware Designs with ChiselVerify | Litcius