Assertion-Based Verification is Alive and Well

Howard L. Martin, President, Zocalo Tech

Although Assertion-Based Verification (ABV) has proven to cut debug time in half and has been touted to be a major factor for reducing verification time and cost, wide spread acceptance has never materialized. The key to understanding the problem is the difference in the terms "Using Assertions" and "Assertion Based-Verification."

  • Using Assertions is an ad hoc process dependent on the skill and desire of the individual designer or verification engineer to add assertions.
  • ABV is a systematic methodology requiring the use of assertions in the functional verification flow.

Most surveys reflect assertion use rather than ABV and the usage is still low, i.e., less than 40%. Designers are more likely to create and add assertions since they are intimately familiar with the intent of the design and many are capable of coding simple 1 or 2 cycle SystemVerilog Assertions (SVAs). Since assertion use is ad hoc and at their discretion, they are added in-line as part of the design file without documentation.

At the system level, useful SVAs typically require a higher level of complexity than at the block level. Temporal properties are the norm and since the verification engineer cannot modify the design files, bind files are required. Creating and managing bind files is a labor intensive task and the SVA language learning curve can be extensive for complex temporal expressions. Using assertions even on an ad hoc basis is sparse at the system level.
The problems that have limited ABV are:

  • Lack of effective metrics for management to consider ABV and continue to assess progress.
  • Time required to rigidly assess where assertions are required and those that will provide the most return.
  • The learning curve and debug time for creating complex temporal SVAs has limited assertion use to simple 1 or 2 cycle SVAs thereby inhibiting the development of more useful and powerful properties.
  • The difficulties of managing assertions in an ABV environment, i.e., providing bind files, documentation and assertion control from the test bench.

Zocalo Tech products provide the ease of use and productivity required to make ABV a major part of the verification process in the next year. The product set marketed under the name Zazz includes products that can be used stand alone or combined. The combination of these products enables incremental adoption of ABV, while assessing the effectiveness each step along the way.