Abstract
Abstract microarchitectural models of communication fabrics present a challenge for verification. Due to the presence of deep pipelining, a large number of queues and distributed control, the state space of such models is usually too large for enumeration by protocol verification tools such as Murphi. On the other hand, we find that state-of-the-art rtl model checkers such as abc have poor performance on these models since there is very little opportunity for localization and most of the recent capacity advances in rtl model checking have come from better ways of discarding the irrelevant parts of the model. In this work we explore a new approach for verifying these models where we capture a model at a high level of abstraction by requiring that it be described using a small set of well-defined microarchitectural primitives. We exploit the high level structure present in this description, to automatically strengthen some classes of properties, in order to make them 1-step inductive, and then use an rtl model checker to prove them. In some cases, even if we cannot make the property inductive, we can dramatically reduce the number and complexity of lemmas that are needed to make the property inductive.
Similar content being viewed by others
Notes
Our queues are always fifo i.e. first-in-first-out.
Henceforth we only mention the value parameters of a component and leave the type parameters implicit.
When o.irdy is false, o.data is a don’t care. But for brevity in the equations, we always assign to o.data rather than only when o.irdy is asserted.
By “v↦(v=0)” we mean the function that is 1 iff the input is equal to 0, i.e. the function λv.(v=0) using λ notation.
Even with general joins there is an easy case. If p is a property such that p′=p∘h depends on only one variable, then it suffices to propagate p′ along the corresponding input.
Assuming that the (local) assertions G(num ≤ k) for each queue have already been added.
A typical example of such a system would be when separate virtual channels are used for req and rsp in Fig. 3 to avoid deadlock.
To check for adequate buffering to avoid deadlocks.
References
Baumgartner J et al. (2009) Scalable conditional equivalence checking: An automated invariant-generation based approach. In: MCAD 2009, pp 120–127
Benveniste A et al. (2003) The synchronous language twelve years later. Proc IEEE 91(1):64–83
Berkeley Logic Synthesis Group. http://www.eecs.berkeley.edu/~alanmi/abc/
Bjørner N, Browne A, Manna Z (1997) Automatic generation of invariants and intermediate assertions. Theor Comput Sci 173(1):49–87
Bradley AR (2011) SAT-based model checking without unrolling. In: VMCAI 2011, pp 70–87
Chatterjee S, Kishinevsky M, Ogras UY (2010) Quick formal modeling of communication fabrics to enable verification. In: HLDVT 2010, pp 42–49
Colom JM, Silva M (1991) Convex geometry and semiflows in P/T nets. In: Proc. of Appl. and Theory of Petri Nets, pp 79–112
Corman TH et al. (1990) Introduction to algorithms, 2nd edn. MIT Press, Cambridge
Dally WJ, Towles B (2004) Principles and practices of interconnection networks. Morgan Kaufmann, San Mateo
Eén N, Mishchenko A, Brayton R (2011) Efficient implementation of property directed reachability, IWLS’11
Gotmanov A, Chatterjee S, Kishinevsky M (2011) Verifying deadlock freedom of communication fabrics. In: VMCAI 2011, pp 214–231
Hoare CAR (1969) An axiomatic basis for computer programming. Commun ACM 12(10):576–580, 583
Jhala R, McMillan KL (2001) Microarchitecture verification by compositional model checking. In: CAV 2011, pp 396–410
Kaivola R et al. (2009) Replacing testing with formal verification in Intel Core i7 processor execution engine validation. In: CAV 2009, pp 414–429
Sheeran M, Singh S, Stålmarck G (2000) Checking safety properties using induction and a SAT-solver. In: FMCAD 2000. LNCS, vol 1954.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Chatterjee, S., Kishinevsky, M. Automatic generation of inductive invariants from high-level microarchitectural models of communication fabrics. Form Methods Syst Des 40, 147–169 (2012). https://doi.org/10.1007/s10703-011-0134-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-011-0134-0