Formal Verification vs. CDV: Efficiency and Quality

In the realm of functional verification, ensuring the reliability and correctness of complex digital systems is a critical task. Leveraging a leading formal verification tool significantly enhances the efficiency and thoroughness of this process. This blog delves into the advanced formal verification techniques employed using formal verification tool and compares them with traditional Coverage-Driven Verification (CDV) methods, focusing on practical applications and technical depth.

Formal Verification in the Verification Flow

Formal verification has become an integral part of the verification process for complex systems. It complements traditional simulation-based methods by providing exhaustive proofs of properties and uncovering corner cases that might be missed otherwise. In this context, the application of formal verification spans various blocks within a project, including arbiters, bridges, and routers.

Verification Strategy and Approach

The verification strategy involves a hybrid approach, utilizing both formal and CDV methods. For Unit Testing (UT) and Block Testing (BT) levels, formal verification is predominantly used, while Integration Testing (IT) relies on simulation and emulation due to the limitations of formal tools in handling large-scale integrations.

UT/BT Verification:

Formal Verification:
Formal methods are employed to verify individual units and blocks, leveraging properties like full proof and bounded proof. This ensures that each component meets its specification rigorously.
Properties and Assertions: Assertions are used extensively to define expected behaviors and conditions. These assertions help in identifying discrepancies and ensuring the integrity of the design.

IT Verification:

Simulation and Emulation:
For verifying the interactions between modules, simulation and emulation are utilized. This approach helps in validating the system's behavior under various configurations and scenarios.


Figure 1. verification strategy and approach​

Signoff Criteria and Quality Activities

To ensure thorough verification, specific signoff criteria and quality activities are defined:

Signoff Criteria: Properties must be either fully proven or boundedly proven before considering the verification complete. Code coverage, including condition and state machine coverage, is also assessed.
Quality Activities: Assumptions are double-checked across UT, BT, and IT levels, and covers are added to critical inputs. This comprehensive approach ensures no critical scenarios are overlooked.

Efficiency and Quality Comparison: Formal vs. CDV

The efficiency and quality of formal verification are compared with traditional CDV methods across various metrics:

Testbench Setup: Formal verification primarily uses SystemVerilog Assertions (SVA) and can start earlier in the design cycle, while CDV relies on Universal Verification Methodology (UVM) testbenches.
Coverage: Formal methods inherently cover a wide range of scenarios through algorithmic stimulus generation, potentially reducing the need for exhaustive cover statements.
Regression Testing: Formal verification does not require supplemental test cases, whereas CDV often needs additional cases to achieve full coverage.


Figure 2. efficiency and quality comparison: Formal vs. CDV​

Case Study: Router vs. Bridge Verification

A practical comparison of formal and simulation verification is demonstrated through the Router and Bridge modules:

Router Module (Formal Verification): The verification process for the router module using formal methods completed functional convergence in two days and coverage collection in half a day.
Bridge Module (Simulation Verification): In contrast, the Bridge module required one week for functional convergence and two days for coverage collection through simulation.

This comparison highlights that formal verification can improve verification efficiency by up to three times compared to traditional simulation methods. Additionally, the quality of verification is enhanced, with no critical features missed by formal verification that were later found during simulation.


Figure 3. case study: router vs. bridge verification​

Key Takeaways and Future Directions

The integration of formal verification into the verification workflow brings numerous benefits:

Early Bug Detection: Formal methods can identify bugs early in the design cycle, reducing the time and cost associated with late-stage bug fixes.
Comprehensive Coverage: By exhaustively proving properties, formal verification ensures thorough coverage of all possible scenarios.
Efficiency Gains: Formal methods can significantly speed up the verification process, allowing for quicker iterations and faster time-to-market.

Conclusion

Formal verification tool offers a robust solution for the functional verification of complex systems. By combining formal methods with traditional CDV approaches, verification teams can achieve higher efficiency and quality. As formal verification techniques continue to evolve, they will play an increasingly vital role in ensuring the reliability and correctness of digital designs.
About author
With a wealth of experience in formal verification projects, I specialize in two critical solutions: formal signoff with full proof and formal signoff with coverage. Throughout my career, I have successfully tackled a diverse range of designs, including Instruction units, Standard interfaces, User-defined interfaces, Bus matrices, Caches, MMUs, Schedulers, DMA controllers, Memory controllers, Interrupt controllers, Power management units, and various specific functional modules.

Drawing on this extensive project experience and a deep understanding of various design types, I have developed a unique formal verification methodology. This methodology has been honed through practical application and has proven highly effective in ensuring design correctness and efficiency.

One of my key achievements has been the independent creation of a comprehensive formal verification IP library. This library comprises nearly 200 units, encompassing basic, common, VIP, and flow libraries. These resources, combined with my methodology, have been successfully deployed in the product development workflows of numerous leading chip companies. The results speak for themselves, with significant improvements in verification effectiveness and performance observed across the board.

My goal is to share this expertise with students at EDA Academy, providing them with practical insights and industry best practices that they can apply directly to their own projects. By imparting this knowledge, I aim to empower learners to achieve their verification goals with confidence and efficiency.

EDA Academy:https://www.eda-academy.com
Explore our current Formal Verification courses:
  1. Introduction to Formal Verification
  2. Formal Verification: SVA Coding
  3. Formal Verification: PSL Coding

Comments

There are no comments to display.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…