Exploiting Abstraction for Efficient Formal Verification of DSPs with Arrays of Reconfigurable Functional Units

We compare two approaches for efficient formal verification of the integration of pipelined processor cores with arrays of reconfigurable functional units. The processors are modeled at a high level of abstraction, using a subset of Verilog, in a way that allows us to exploit the property of Positive Equality that results in significant simplifications of the solution space, and orders of magnitude speedup relative to previous methods. The presented techniques allow us to formally verify the integration of pipelined processors, including complex Digital Signal Processors (DSPs), with arrays of reconfigurable functional units of any size, where the reconfigurable functional units have any design, and for any topology of the connections between them. Such architectures are becoming increasingly used because of their much higher performance and reduced power consumption relative to conventional processors. One of the compared two approaches, which abstracts the entire array of reconfigurable functional units, results in at least 3 orders of magnitude speedup relative to the other approach that models the exact number of reconfigurable functional units and abstracts the design of each and the network that connects them, such that the speedup is increasing with the size of the array. To the best of our knowledge, this is the first work on automatic formal verification of pipelined processors with arrays of reconfigurable functional units.

[1]  Miroslav N. Velev Comparative study of strategies for formal verification of high-level processors , 2004, IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004. ICCD 2004. Proceedings..

[2]  Miroslav N. Velev,et al.  Using Automatic Case Splits and Efficient CNF Translation to Guide a SAT-solver when Formally Verifying Out-Of-Order Processors , 2004, AI&M.

[3]  Ajitha Rajan,et al.  Requirements Coverage as an Adequacy Measure for Conformance Testing , 2008, ICFEM.

[4]  Miroslav N. Velev,et al.  Exploiting hierarchical encodings of equality to design independent strategies in parallel SMT decision procedures for a logic of equality , 2009, 2009 IEEE International High Level Design Validation and Test Workshop.

[5]  Miroslav N. Velev Using positive equality to prove liveness for pipelined microprocessors , 2004 .

[6]  Miroslav N. Velev,et al.  Formal verification of pipelined microprocessors with delayed branches , 2006, 7th International Symposium on Quality Electronic Design (ISQED'06).

[7]  Miroslav N. Velev,et al.  Automatic Abstraction of Memories in the Formal Verification of Superscalar Microprocessors , 2001, TACAS.

[8]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[9]  Amir Pnueli,et al.  The small model property: how small can it be? , 2002 .

[10]  Miroslav N. Velev,et al.  Using abstraction for efficient formal verification of pipelined processors with value prediction , 2006, 7th International Symposium on Quality Electronic Design (ISQED'06).

[11]  Miroslav N. Velev,et al.  Exploiting signal unobservability for efficient translation to CNF in formal verification of microprocessors , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[12]  Miroslav N. Velev,et al.  A method for debugging of pipelined processors in formal verification by Correspondence Checking , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[13]  Miroslav N. Velev,et al.  Automatic Formal Verification of Liveness for Pipelined Processors with Multicycle Functional Units , 2005, CHARME.

[14]  Miroslav N. Velev,et al.  Encoding Global Unobservability for Efficient Translation to SAT , 2004, SAT.

[15]  Jerry R. Burch Techniques for verifying superscalar microprocessors , 1996, DAC '96.

[17]  Randal E. Bryant,et al.  TLSim and EVC: a term-level symbolic simulator and an efficient decision procedure for the logic of equality with uninterpreted functions and memories , 2005, Int. J. Embed. Syst..

[18]  Armin Biere,et al.  Effective Preprocessing in SAT Through Variable and Clause Elimination , 2005, SAT.

[19]  Randal E. Bryant,et al.  Superscalar Processor Verification Using Efficient Reductions of the Logic of Equality with Uninterpreted Functions to Propositional Logic , 1999, CHARME.

[20]  Miroslav N. Velev,et al.  Using rewriting rules and positive equality to formally verify wide-issue out-of-order microprocessors with a reorder buffer , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[21]  Rabi N. Mahapatra,et al.  Design of Low-Power Coarse-Grained Reconfigurable Architectures , 2010 .

[22]  Joao Marques-Silva,et al.  Theory and Applications of Satisfiability Testing - SAT 2007, 10th International Conference, Lisbon, Portugal, May 28-31, 2007, Proceedings , 2007, SAT.

[23]  Shuvendu K. Lahiri,et al.  Experience with term level modeling and verification of the M*CORE/sup TM/ microprocessor core , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

[24]  Hai Zhou,et al.  BDD Based Procedures for a Theory of Equality with Uninterpreted Functions , 2003, Formal Methods Syst. Des..

[25]  D. Blaauw,et al.  CPU, heal thyself , 2009, IEEE Spectrum.

[26]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[27]  Bjorn De Sutter,et al.  Implementation of a Coarse-Grained Reconfigurable Media Processor for AVC Decoder , 2008, J. Signal Process. Syst..

[28]  Randal E. Bryant,et al.  Formal verification of superscalar microprocessors with multicycle functional units, exceptions, and branch prediction , 2000, Proceedings 37th Design Automation Conference.

[29]  Miroslav N. Velev,et al.  Formal Verification of VLIW Microprocessors with Speculative Execution , 2000, CAV.

[30]  David M. Bull,et al.  RazorII: In Situ Error Detection and Correction for PVT and SER Tolerance , 2009, IEEE Journal of Solid-State Circuits.

[31]  Harsh Sharangpani,et al.  Itanium Processor Microarchitecture , 2000, IEEE Micro.

[32]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[33]  Mark Aagaard,et al.  A framework for superscalar microprocessor correctness statements , 2003, International Journal on Software Tools for Technology Transfer.

[34]  Miroslav N. Velev,et al.  Automatic Abstraction of Equations in a Logic of Equality , 2003, TABLEAUX.

[35]  Mark Aagaard,et al.  Relating Multi-step and Single-Step Microprocessor Correctness Statements , 2002, FMCAD.

[36]  Randal E. Bryant,et al.  Boolean satisfiability with transitivity constraints , 2000, TOCL.

[37]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

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

[39]  Miroslav N. Velev,et al.  Method for Formal Verification of Soft-Error Tolerance Mechanisms in Pipelined Microprocessors , 2010, ICFEM.

[40]  Roy Dyckhoff Automated Reasoning with Analytic Tableaux and Related Methods , 2000, Lecture Notes in Computer Science.

[41]  Randal E. Bryant,et al.  Exploiting positive equality and partial non-consistency in the formal verification of pipelined microprocessors , 1999, DAC '99.

[42]  Randal E. Bryant,et al.  Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic , 1999, TOCL.

[43]  Adnan Darwiche,et al.  A Lightweight Component Caching Scheme for Satisfiability Solvers , 2007, SAT.

[44]  Randal E. Bryant,et al.  Bit-Level Abstraction in the Verfication of Pipelined Microprocessors by Correspondence Checking , 1998, FMCAD.

[45]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2003, J. Symb. Comput..

[46]  M. Velev Comparison of schemes for encoding unobservability in translation to SAT , 2005, Proceedings of the ASP-DAC 2005. Asia and South Pacific Design Automation Conference, 2005..

[47]  George J. Milne,et al.  Correct Hardware Design and Verification Methods , 2003, Lecture Notes in Computer Science.

[48]  Miroslav N. Velev,et al.  Automatic formal verification of reconfigurable DSPs , 2011, 16th Asia and South Pacific Design Automation Conference (ASP-DAC 2011).