Error Model Free Automatic Design Error Correction of Complex Processors Using Formal Methods

This paper presents a method for automatic diagnosis and correction of design bugs in processors. Given a golden sequential instruction-set architecture model of a processor and its erroneous detailed cycle-accurate model at micro-architecture level, we employ a symbolic simulator and a property checker in an iterative process to formally find the candidate buggy locations and their corresponding fixes, without requiring an error model. We have shown the effectiveness of our method on a complex out-of-order super scalar processors supporting atomic execution.

[1]  Sanjit A. Seshia,et al.  Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions , 2002, CAV.

[2]  Miroslav N. Velev,et al.  Automated debugging of counterexamples in formal verification of pipelined microprocessors , 2012, 17th Asia and South Pacific Design Automation Conference.

[3]  M. Fujita,et al.  Multiple error diagnosis based on Xlists , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

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

[5]  Andreas Veneris,et al.  Design diagnosis using Boolean satisfiability , 2004 .

[6]  Joao Marques-Silva,et al.  Automated Design Debugging With Maximum Satisfiability , 2010, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  D. I. Cheng,et al.  Error Diagnosis for Transistor-Level Verification , 1994, 31st Design Automation Conference.

[8]  Marco Antoniotti,et al.  Synthesis and verification of discrete controllers for robotics and manufacturing devices with temporal logic and the control-D system , 1996 .

[9]  Masahiro Fujita,et al.  Pipelined Microprocessors Optimization and Debugging , 2010, ARC.

[10]  Soonhoi Ha,et al.  Efficient hardware controller synthesis for synchronous dataflow graph in system level design , 2000, ISSS '00.

[11]  Amir Pnueli,et al.  Automatic Hardware Synthesis from Specifications: A Case Study , 2007 .

[12]  Olivier Coudert,et al.  Automating the diagnosis and the rectification of design errors with PRIAM , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[13]  Masahiro Fujita,et al.  Formal verification guided automatic design error diagnosis and correction of complex processors , 2011, 2011 IEEE International High Level Design Validation and Test Workshop.

[14]  Robert K. Brayton,et al.  Automating Logic Rectification by Approximate SPFDs , 2007, 2007 Asia and South Pacific Design Automation Conference.

[15]  Rolf Drechsler,et al.  Automatic Fault Localization for Property Checking , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Igor L. Markov,et al.  Automatic error diagnosis and correction for RTL designs , 2007, 2007 IEEE International High Level Design Validation and Test Workshop.

[17]  Ibrahim N. Hajj,et al.  Design error diagnosis and correction via test vector simulation , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..