Chapter

Formal Methods in Computer-Aided Design

Volume 2517 of the series Lecture Notes in Computer Science pp 142-159

Date:

Modeling and Verification of Out-of-Order Microprocessors in UCLID

  • Shuvendu K. LahiriAffiliated withElectrical and Computer Engineering Department, Carnegie Mellon University
  • , Sanjit A. SeshiaAffiliated withSchool of Computer Science, Carnegie Mellon University
  • , Randal E. BryantAffiliated withSchool of Computer Science, Carnegie Mellon UniversityElectrical and Computer Engineering Department, Carnegie Mellon University

* Final gross prices may vary according to local VAT.

Get Access

Abstract

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.