2015
DOI: 10.1007/978-3-319-21668-3_7
|View full text |Cite
|
Sign up to set email alerts
|

Modular Deductive Verification of Multiprocessor Hardware Designs

Abstract: We present a new framework for modular verification of hardware designs in the style of the Bluespec language. That is, we formalize the idea of components in a hardware design, with well-defined input and output channels; and we show how to specify and verify components individually, with machinechecked proofs in the Coq proof assistant. As a demonstration, we verify a fairly realistic implementation of a multicore shared-memory system with two types of components: memory system and processor. Both components… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
24
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
4
2
2

Relationship

3
5

Authors

Journals

citations
Cited by 28 publications
(24 citation statements)
references
References 32 publications
0
24
0
Order By: Relevance
“…Implementations of atomic memory systems are well understood and used pervasively in practice. For example, a coherent write-back cache hierarchy with a MSI/MESI protocol can be an atomic memory system [32], [33]. In such a cache hierarchy, the moment a store request is written to the L1 data array corresponds to processing the store instantaneously in the monolithic memory abstraction; and the moment a load request gets its value corresponds to the instantaneous processing of the load in the monolithic memory.…”
Section: B Atomic Versus Non-atomic Memorymentioning
confidence: 99%
“…Implementations of atomic memory systems are well understood and used pervasively in practice. For example, a coherent write-back cache hierarchy with a MSI/MESI protocol can be an atomic memory system [32], [33]. In such a cache hierarchy, the moment a store request is written to the L1 data array corresponds to processing the store instantaneously in the monolithic memory abstraction; and the moment a load request gets its value corresponds to the instantaneous processing of the load in the monolithic memory.…”
Section: B Atomic Versus Non-atomic Memorymentioning
confidence: 99%
“…A request issued to port i may be from a load instruction in the ROB of P i or a store in the store buffer of P i. In conventional coherence protocols, all memory requests can be serialized, i.e., each request can be considered as taking effect at some time point within its processing period [57]. For example, consider the non-stalling MSI directory protocol in the Primer by Sorin et al [58,Chapter 8.7.2].…”
Section: Wmm Implementationmentioning
confidence: 99%
“…The next challenge is choosing the right kind of correctness theorem to ascribe to the components of a system, so that the individual theorems can be composed in a black-box way into full-system results. Here we follow our previous work [Vijayaraghavan et al 2015] in adapting ideas from process algebra. We formalize hardware components as labeled transition systems, with an interaction-centric operational semantics that helps us reason about each component individually while abstracting over its environment.…”
Section: Introductionmentioning
confidence: 99%
“…We formalize hardware components as labeled transition systems, with an interaction-centric operational semantics that helps us reason about each component individually while abstracting over its environment. Our previous work [Vijayaraghavan et al 2015] suffers from one of the problems we mentioned earlier: it applies only to models of real hardware designs, with no path toward extraction-style generation of synthesizable circuits. We previously applied a manual and error-prone process to example hardware designs, formalizing each one directly as an inductive relation in Coq.…”
Section: Introductionmentioning
confidence: 99%