fault: A Python Embedded Domain-Specific Language For Metaprogramming Portable Hardware Verification Components
Lenny Truong, Steven Herbst, Rajsekhar Setaluri, Makai Mann, Ross, Daly, Keyi Zhang, Caleb Donovick, Daniel Stanley, Mark Horowitz, Clark, Barrett, and Pat Hanrahan

TL;DR
This paper introduces 'fault', a Python embedded language designed to enhance hardware verification by providing flexible, portable metaprogramming tools that improve generator coverage and facilitate verification library proliferation.
Contribution
The paper presents 'fault', a novel Python-based embedded DSL that combines flexibility and portability for hardware verification of complex generators.
Findings
Enables flexible metaprogramming for hardware verification
Improves portability of verification components
Facilitates proliferation of verification libraries
Abstract
While hardware generators have drastically improved design productivity, they have introduced new challenges for the task of verification. To effectively cover the functionality of a sophisticated generator, verification engineers require tools that provide the flexibility of metaprogramming. However, flexibility alone is not enough; components must also be portable in order to encourage the proliferation of verification libraries as well as enable new methodologies. This paper introduces fault, a Python embedded hardware verification language that aims to empower design teams to realize the full potential of generators.
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
