We interrupt R&D's Vinaya Singh's excellent series on "The Role of Coverage in Formal Verification" to reference a related post from Richard Goering on "Extending Metric-Driven Verification (MDV) to Formal Analysis - What, Why, and How". Specifically, Richard's article shows how coverage from formal analysis (described by Vinaya) is tied into what has been a traditionally dynamic simulation-oriented flow -- as per the January 10 announcement of new capabilities in Silicon Realization in general, and Incisive Enterprise Verifier ("IEV") and Incisive Enterprise Manager in specific. While I encourage you to read both articles (they are short, sweet, and suitable for engineers and managers alike), allow me to focus on a "the why" i.e. the benefits of mixing formal & assertion-based verification (ABV) and MDV.
A common frustration we hear from formal technology users is the difficulty they have in communicating their intentions and progress to their simulation-oriented management. All too often, formal analysis terms like "Proofs," "Reachability," and "Explored"/"Inconclusive" have little to no meaning to a D&V manager who is expecting to hear about "Tests," "Coverage," and "Check Counts." Additionally, there are multiple cases where even the most refined formal analysis could converge faster via targeted application of dynamic simulation(s). The solution: use a metric driven approach to combine the strengths of each technology to mutually reinforce each other on a 1-to-1 basis. How? Consider the following annotated screenshot:
The left-hand column of this window shows the aggregated coverage scores for the simulation / event-based engines -- functional coverage, code coverage, etc. On the right hand side, results from the formal analyses are shown. Both datasets are aligned 1-for-1 on the respective line item defined in the "vPlan".
The value of this display: if you get an inconclusive result with formal (a/k/a an "Explore" in formal parlance), with this "multi-engine" view you now have the option to safely leverage the dynamic simulation result rather than continue working to resolve the Explore. Conversely, you could also safely leverage the formal result instead of trying to concoct more tests/scenarios/longer runs to hit the given corner case with simulation. An added bonus -- at a glance the Formal results can tell you with mathematical certainly when a given state / cover point is literally impossible to hit -- that is, "unreachable" -- no matter how many tests or scenarios you write. Truly a huge time and energy saver! In a nutshell, you can converge on verification closure faster than before, with greater confidence and/or significantly less risk.
Bottom-line: this metric-driven process combines the unique strengths of the various verification engines into actionable information for important tactical decisions, leveraging a format that everyone can understand.
Joe Hupcey IIIfor Team Verify
Team Verify On Twitter: @teamverify, http://twitter.com/teamverify