A Framework for Verifying Bit-Level Pipelined Machines Based on Automated Deduction and Decision Procedures

  • Authors:
  • Panagiotis Manolios;Sudarshan K. Srinivasan

  • Affiliations:
  • College of Computing, Georgia Institute of Technology, Atlanta, USA 30318;School of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, USA 30318

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe an approach to verifying bit-level pipelined machine models using a combination of deductive reasoning and decision procedures. While theorem-proving systems such as ACL2 have been used to verify bit-level designs, they typically require extensive expert user support. Decision procedures such as those implemented in UCLID can be used to automatically and efficiently verify term-level pipelined machine models, but these models use numerous abstractions, implement a subset of the instruction set, and are far from executable. We show that by integrating UCLID with the ACL2 theorem-proving system, we can use ACL2 to reduce the proof that an executable, bit-level machine refines its instruction set architecture to a proof that a term-level abstraction of the bit-level machine refines the instruction set architecture, which is then handled automatically by UCLID. We demonstrate the efficiency of our approach by applying it to verify a complex, seven-stage, bit-level interface pipelined machine model that implements 593 instructions and has features such as branch prediction, exceptions, and predicated instruction execution. Such a proof is not possible using UCLID and would require prohibitively more effort using just ACL2.