Kami: a platform for high-level parametric hardware specification and its modular verification
Name
icfp17-main16.pdf
Description
Published version
Size
424.54 KB
Format
Adobe PDF
Checksum (MD5)
1fe70a7d29a107b7f3285b34ba4ca398
Author(s) • • • •
Choi, Joonwon
Vijayaraghavan, Muralidaran
Sherman, Benjamin
Chlipala, Adam
Arvind
Date Issued
2017
Journal
Proceedings of the ACM on Programming Languages
Publisher
Association for Computing Machinery (ACM)
Version
Final published version
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.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution 4.0 International license
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1145/3110268