Affiliation:
1. Massachusetts Institute of Technology, USA
Abstract
It has become fairly standard in the programming-languages research world to verify functional programs in proof assistants using induction, algebraic simplification, and rewriting. In this paper, we introduce Kami, a Coq library that enables similar expressive and modular reasoning for hardware designs expressed in the style of the Bluespec language. We can specify, implement, and verify realistic designs entirely within Coq, ending with automatic extraction into a pipeline that bottoms out in FPGAs. Our methodology, using labeled transition systems, has been evaluated in a case study verifying an infinite family of multicore systems, with cache-coherent shared memory and pipelined cores implementing (the base integer subset of) the RISC-V instruction set.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
65 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Trustworthy Codesign by Verifiable Transformations;2024 IEEE International Test Conference in Asia (ITC-Asia);2024-08-18
2. Refinement Composition Logic;Proceedings of the ACM on Programming Languages;2024-08-15
3. Survey of Machine Learning for Software-assisted Hardware Design Verification: Past, Present, and Prospect;ACM Transactions on Design Automation of Electronic Systems;2024-06-21
4. Modular Hardware Design of Pipelined Circuits with Hazards;Proceedings of the ACM on Programming Languages;2024-06-20
5. Lifting Micro-Update Models from RTL for Formal Security Analysis;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2;2024-04-27