Assume-guarantee validation for STE properties within an SVA environment

Symbolic Trajectory Evaluation is an industrial-strength verification method, based on symbolic simulation and abstraction, that has been highly successful in data path verification, especially microprocessor execution units. These correctness results are typically obtained under certain assumptions about how the verified hardware block's inputs are driven, as well as assumptions about the values of these inputs. For correct overall operation, the hardware environment within which the verified block resides is expected to satisfy these assumptions. We describe a translation of these proof assumptions into System Verilog Assertions. These are then used as checkers in dynamic validation of the hardware environment within which blocks verified by Symbolic Trajectory Evaluation operate. The result is a pragmatic assume-guarantee method that increases the quality and confidence in verification results, requires little or no modification to the Symbolic Trajectory Evaluation proofs, and leverages pre-existing dynamic validation infrastructure.

[1]  Thomas Schubert,et al.  High-level formal verification of next-generation microprocessors , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[2]  Randal E. Bryant,et al.  Formal hardware verification by symbolic ternary trajectory evaluation , 1991, 28th ACM/IEEE Design Automation Conference.

[3]  Carl-Johan H. Seger,et al.  An industrially effective environment for formal hardware verification , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Jim Grundy,et al.  A reflective functional language for hardware design and theorem proving , 2005, Journal of Functional Programming.

[5]  Roope Kaivola,et al.  Proof engineering in the large: formal verification of Pentium®4 floating-point divider , 2003, International Journal on Software Tools for Technology Transfer.

[6]  Carl-Johan H. Seger,et al.  Formal verification using parametric representations of Boolean constraints , 1999, DAC '99.

[7]  Anna Slobodová,et al.  Replacing Testing with Formal Verification in Intel CoreTM i7 Processor Execution Engine Validation , 2009, CAV.

[8]  Carl-Johan H. Seger,et al.  Automatic Abstraction in Symbolic Trajectory Evaluation , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[9]  Harry D. Foster,et al.  Creating Assertion-Based IP , 2010 .

[10]  Leo Hellerman,et al.  A Catalog of Three-Variable Or-Invert and And-Invert Logical Circuits , 1963, IEEE Trans. Electron. Comput..

[11]  Randal E. Bryant,et al.  Formal verification by symbolic evaluation of partially-ordered trajectories , 1995, Formal Methods Syst. Des..

[12]  Eli Singerman,et al.  Case study: Integrating FV and DV in the Verification of the Intel® Core^{TM} 2 Duo Microprocessor , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[13]  Robert B. Jones,et al.  Abstraction by Symbolic Indexing Transformations , 2002, FMCAD.

[14]  Eli Singerman,et al.  Case study: Integrating FV and DV in the Verification of the Intel® Core^{TM} 2 Duo Microprocessor , 2007 .

[15]  Magdy S. Abadir,et al.  Formal verification of content addressable memories using symbolic trajectory evaluation , 1997, DAC.