Bridging the Gap: When Formal Verification Catches What Simulation Misses
The Scenario
During a routine IP verification using formal tools and SystemVerilog Assertions (SVA), a bug was uncovered that had previously eluded detection in subsystem-level simulation. This discovery prompted a deeper investigation into the verification process and the tools employed.
Formal Verification's Unique Strength
Formal verification's ability to exhaustively explore state spaces within specified bounds allowed it to uncover a corner case that simulation had missed. This strength stems from formal tools' capacity to:
- Examine all possible states and input combinations
- Operate without the need for specific test vectors
- Explore deep states that might be challenging to reach through simulation alone
Bridging Formal and Simulation
To leverage this formal verification insight in the simulation environment, the team converted the formal traces (counter-examples) into SVA cover sequences. We at AsFigo develop and deploy such apps for customers (one such example is Waves2UVM).
This innovative approach allowed them to:
1. Create targeted checks for specific
scenarios uncovered by formal verification
2. Run these sequences against existing simulation dumps to identify which tests, if any, covered the problematic scenario
Unexpected Findings
Upon analyzing 1000+ simulation dump files with the new cover sequence, an intriguing result emerged: 32 tests actually covered the scenario in question. This revelation led to a critical question: Why didn't these tests fail if they encountered the buggy scenario?
Investigating Silent Passes
Several factors could contribute to tests covering but not exposing the bug:
1. Incomplete checkers in the simulation
environment
2. Assertions were turned off in these tests ($assertoff/TCL commands)
Path Forward
1. Enhance simulation checkers based on
formal properties
2. Perform detailed timing analysis of
simulation runs
3. Isolate the scenario in focused test
cases
4. Review and align constraints between formal and simulation environments
Conclusion
This case study illustrates the value of integrating formal verification and simulation approaches. By converting formal insights into simulation-compatible checks, verification teams can:
1. Identify coverage gaps in simulation
test suites
2. Create more robust, targeted tests
3. Improve bug detection and reproduction capabilities
As chip designs grow more complex, such
synergistic approaches become increasingly crucial. By leveraging the strengths
of both formal and simulation methodologies, verification teams can build more
comprehensive and efficient verification strategies, ultimately leading to
higher quality semiconductor designs.
Comments
Post a Comment