Reducing Manual Abstraction in Formal Verification of Out-of-Order Execution

  • Authors:
  • Robert B. Jones;Jens U. Skakkebæk;David L. Dill

  • Affiliations:
  • -;-;-

  • Venue:
  • FMCAD '98 Proceedings of the Second International Conference on Formal Methods in Computer-Aided Design
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Several methods have recently been proposed for verifying processors with out-of-order execution. These methods use intermediate abstractions to decompose the verification process into smaller steps. Unfortunately, the process of manually creating intermediate abstractions is very laborious. We present an approach that dramatically reduces the need for an intermediate abstraction, so that only the scheduling logic of the implementation is abstracted. After the abstraction, we apply an enhanced incremental-flushing approach to verify the remaining circuitry by comparing the processor description against itself in a slightly simpler configuration. By induction, we demonstrate that any reachable configuration is equivalent to the simplest possible configuration. Finally, we prove correctness on the simplest configuration. The approach is illustrated with a simple example of an out-of-order execution core.