Formal verification of pipelined processors with precise exceptions

Verification of pipelined processors is a complex and challenging issue. In this paper, we develop a methodology based on translation validation for the verification of pipelined processors that support precise exceptions and out-of-order executions. We have developed a tool integrated with STeP theorem prover for the automatic verification of pipelined architectures. Formal verification of DLX processor is illustrated using our methodology. It is shown that the precise exception modelling is preserved over a range of pipeline instructions of DLX pipeline, like, integer, floating point, branch instructions, etc. The methodology is also illustrated with examples from DLX processor. A comparative evaluation of our method with other approaches is done and a structure of the tool is also provided.

[1]  Jun Sawada,et al.  Trace Table Based Approach for Pipeline Microprocessor Verification , 1997, CAV.

[2]  Amir Pnueli,et al.  Verifying out-of-order executions , 1997, CHARME.

[3]  Shuvendu K. Lahiri,et al.  Deductive Verification of Advanced Out-of-Order Microprocessors , 2003, CAV.

[4]  Amir Pnueli,et al.  Translation Validation , 1998, TACAS.

[5]  Ranjit Jhala,et al.  Microarchitecture Verification by Compositional Model Checking , 2001, CAV.

[6]  Jun Sawada,et al.  Processor Verification with Precise Exeptions and Speculative Execution , 1998, CAV.

[7]  Armin Biere,et al.  Verification of Out-Of-Order Processor Designs Using Model Checking and a Light-Weight Completion Function , 2002, Formal Methods Syst. Des..

[8]  Mark Bickford,et al.  Formal verification of a pipelined microprocessor , 1990, IEEE Software.

[9]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[10]  Sanjit A. Seshia,et al.  Modeling and Verification of Out-of-Order Microprocessors in UCLID , 2002, FMCAD.

[11]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[12]  Bernd Finkbeiner,et al.  Verifying Temporal Properties of Reactive Systems: A STeP Tutorial , 2000, Formal Methods Syst. Des..

[13]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[14]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

[15]  Amir Pnueli,et al.  VOC: A Translation Validator for Optimizing Compilers , 2002, COCV@ETAPS.