Verification of Out-Of-Order Processor Designs Using Model Checking and a Light-Weight Completion Function

  • Authors:
  • Sergey Berezin;Edmund Clarke;Armin Biere;Yunshan Zhu

  • Affiliations:
  • Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, USA;Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, USA;Dept. of Computer Science, Institute of Computer Systems, ETH, Zürich;Advanced Technology Group, Synopsys, Inc., Mountain View, CA, USA

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new technique for verification of complex hardware devices that allows both generality and a high degree of automation. The technique is based on our new way of constructing a “light-weight” completion function together with new encoding of uninterpreted functions called reference file representation.Our technique combines our completion function method and reference file representation with compositional model checking and theorem proving. This extends the state of the art in two directions. First, we obtain a more general verification methodology. Second, it is easier to use, since it has a higher degree of automation.As a benchmark, we take Tomasulo's algorithm for scheduling out-of-order instruction execution used in many modern superscalar processors like the Pentium-II and the PowerPC 604. The algorithm is parameterized by the processor configuration, and our approach allows us to prove its correctness in general, independent of any actual design.