posted on 1990-07-01, 00:00authored byShuvendu K Lahiri, Sanjit A. Seshia, Randal E. Bryant
In this paper, we describe the modeling and verification
of out-of-order microprocessors with unbounded resources using an expressive,
yet efficiently decidable, quantifier-free fragment of first order
logic. This logic includes uninterpreted functions, equality, ordering, constrained
lambda expressions, and counter arithmetic. UCLID is a tool
for specifying and verifying systems expressed in this logic. The paper
makes two main contributions. First, we show that the logic is expressive
enough to model components found in most modern microprocessors,
independent of their actual sizes. Second, we demonstrate UCLID’s verification
capabilities, ranging from full automation for bounded property
checking to a high degree of automation in proving restricted classes of
invariants. These techniques, coupled with a counterexample generation
facility, are useful in establishing correctness of processor designs. We
demonstrate UCLID’s methods using a case study of a synthetic model
of an out-of-order processor where all the invariants were proved automatically.