Assertion-Based Verification

Assertion-Based Verification (ABV) in ASIC design is a verification method in which formal statements (assertions) are used directly in or alongside the design to define and automatically verify correct behavior. Key aspects are:

  • Definition of Assertions: Formulation of conditions that must always be true (or true under certain circumstances) – e.g., with SystemVerilog Assertions (SVA).
  • Formal verification and simulation: Assertions can be used in both formal tools (static analysis) and simulations to check design rules and detect errors early.
  • Documentation and specification alignment: Assertions/Assumptions also serve as a living specification in the code, thus improving comprehensibility and maintainability.
  • Debugging aid: During the test run, failed assertions immediately show where and why the design violates specified rules.

Examples:

assert property (@(posedge clk) req |-> ##[1:3] grant);

This assertion requires that a grant be issued 1 to 3 clocks after a req signal.

Conclusion: ABV increases verification quality, saves time during debugging, and supports the formal validation of the design.