Open-Source Verification with Chisel and Scala
Andrew Dobis, Tjark Petersen, Kasper Juul Hesse Rasmussen and, Enrico Tolotto, Hans Jakob Damsgaard, Simon Thye Andersen, Richard, Lin, Martin Schoeberl

TL;DR
This paper introduces ChiselVerify, an open-source verification tool built on Chisel and Scala, enabling efficient, high-level hardware verification compatible with any HDL and integrated into the Chisel ecosystem.
Contribution
It presents a modern, flexible verification framework that enhances productivity and supports advanced testing features for hardware designs described in Chisel.
Findings
Supports functional coverage and constrained-random verification
Compatible with any HDL via Chisel blackboxes
Integrates seamlessly with existing Chisel testing libraries
Abstract
Performance increase with general-purpose processors has come to a halt. We can no longer depend on Moore's Law to increase computing performance. The only way to achieve higher performance or lower energy consumption is by building domain-specific hardware accelerators. To efficiently design and verify those domain-specific accelerators, we need agile hardware development. One of the main obstacles when proposing such a modern method is the lack of modern tools to attack it. To be able to verify a design in such a time-constrained development method, one needs to have efficient tools both for design and verification. This paper thus proposes ChiselVerify, an open-source tool for verifying circuits described in any Hardware Description Language. It builds on top of the Chisel hardware construction language and uses Scala to drive the verification using a testing strategy inspired by…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Embedded Systems Design Techniques · Security and Verification in Computing
