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,Pat Hanrahan
DOI: https://doi.org/10.48550/arXiv.2006.11669
2020-06-21
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.
Software Engineering,Hardware Architecture
What problem does this paper attempt to address?