Verification of Chisel Hardware designs with ChiselVerify
Dobis, Andrew; Damsgaard, Hans Jakob; Petersen, Tjark; Rasmussen, Kasper Juul Hesse; Tolotto, Enrico; Andersen, Simon Thye; Schoeberl, Martin (2022-02)
Microprocessors and Microsystems
104737
https://urn.fi/URN:NBN:fi:tuni-202302022014
Kuvaus
Tiivistelmä
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.
Kokoelmat
- TUNICRIS-julkaisut [19385]