PEak: A Single Source of Truth for Hardware Design and Verification
Caleb Donovick, Jackson Melchert, Ross Daly, Leonard Truong, Priyanka Raina, Pat Hanrahan, Clark Barrett · ACM Transactions on Embedded Computing Systems · 2024
Domain-specific languages for hardware can significantly enhance designer productivity, but sometimes at the cost of ease of verification. On the other hand, ISA specification languages are too static to be used during early stage design space exploration. We present PEak, an open-source hardware design and specification language, which aims at improving both design productivity and verification capability. PEak does this by providing a single source of truth for functional models, formal specifications, and RTL. PEak has been used in several academic projects, and PEak-generated RTL has been included in three fabricated hardware accelerators. In these projects, the formal capabilities of PEak were crucial for enabling both novel design space exploration techniques and automated compiler synthesis.