A guiding coverage metric for formal verification

Considerable effort is made to verify the correct functional behavior of circuits and systems. To guarantee the overall success metric-driven verification flows have been developed. In these flows coverage metrics are omnipresent. Well established coverage metrics for simulation-based verification approaches exist. This is however not the case for formal verification where property checking is a major technique to prove the correctness of the implementation. In this paper we present a guiding coverage metric for this formal verification setting. Our metric reports a single number describing how much of the circuit behavior is uniquely determined by the properties. In addition, the coverage metric guides the verification engineer to achieve completeness by providing helpful information about missing scenarios. This information comes from a new behavior classification algorithm which determines uncovered behavior classes for a signal and allows to compute the coverage of a signal. To measure the complete circuit behavior we devise a coverage metric for a set of signals. The metric is calculated by partitioning the coverage computation into a safe part and an unsafe part where the latter one is weighted accordingly using recursion. This procedure takes into account that in practice properties refer to internal signals which in turn need to be covered them-self. Overall, our metric allows to track the verification progress in property checking and significantly aid the verification engineers in completing the property set.

[1]  Orna Kupferman,et al.  Sanity Checks in Formal Verification , 2006, CONCUR.

[2]  Kurt Keutzer,et al.  Coverage Metrics for Functional Validation of Hardware Designs , 2001, IEEE Des. Test Comput..

[3]  Hans Eveking,et al.  A Quantitative Completeness Analysis for Property-Sets , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[4]  Daniel Kroening,et al.  Coverage in interpolation-based model checking , 2010, Design Automation Conference.

[5]  Franco Fummi,et al.  Properties Incompleteness Evaluation by Functional Verification , 2007, IEEE Transactions on Computers.

[6]  Robert K. Brayton,et al.  Automatic Datapath Abstraction In Hardware Systems , 1995, CAV.

[7]  Rolf Drechsler,et al.  Analyzing Functional Coverage in Bounded Model Checking , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Limor Fix,et al.  Automatic Datapath Extraction for Efficient Usage of HDD , 1997, CAV.

[9]  Jörg Bormann Vollständige funktionale Verifikation , 2009 .

[10]  Sven Beyer,et al.  Complete Formal Verification of TriCore2 and Other Processors , 2007 .

[11]  Robert P. Kurshan,et al.  A Practical Approach to Coverage in Model Checking , 2001, CAV.

[12]  Fabio Somenzi,et al.  Dos and don'ts of CTL state coverage estimation , 2003, DAC '03.

[13]  Markus Wedler,et al.  Unbounded Protocol Compliance Verification Using Interval Property Checking With Invariants , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[14]  Orna Kupferman,et al.  Coverage metrics for temporal logic model checking* , 2001, Formal Methods Syst. Des..

[15]  Karem A. Sakallah,et al.  Automatic abstraction and verification of verilog models , 2004, Proceedings. 41st Design Automation Conference, 2004..

[16]  Koen Claessen A Coverage Analysis for Safety Property Lists , 2007, Formal Methods in Computer Aided Design (FMCAD'07).

[17]  Valeria Bertacco Scalable Hardware Verification with Symbolic Simulation , 2006 .

[18]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[19]  Orna Kupferman,et al.  Coverage Metrics for Temporal Logic Model Checking , 2001, TACAS.

[20]  Sanjit A. Seshia,et al.  A Theory of Mutations with Applications to Vacuity, Coverage, and Fault Tolerance , 2008, 2008 Formal Methods in Computer-Aided Design.

[21]  Aarti Gupta,et al.  SAT-Based Scalable Formal Verification Solutions (Series on Integrated Circuits and Systems) , 2007 .

[22]  Timothy Kam,et al.  Coverage estimation for symbolic model checking , 1999, DAC '99.

[23]  Harry D. Foster,et al.  Assertion-Based Design , 2010 .

[24]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.