Best Practice for SVA Naming Conventions

Consistent SVA naming conventions not just improve code quality, but also make FV setup more easily, for example:

  1. When designers need to convert a group of assume properties to assertion properties
  2. When designers need to disable or waive certain groups of properties

We show a sample SVA naming convention checklist below:

SVA Naming ConventionComment
Assertion property names should start with “P_” prefixAssertion properties should hold true all the time, so use a dedicated prefix
Assume property names should start with “A_” prefix
For assume property to constrain configuration registers and inputs, naming should start with “A_SW_” 
For assume property to constrain BLOCK input behavior, naming should start with “A_BLOCK_” This is particularly useful if the assume properties are inside SVI.
Assuming the SVI connects BLK1 to BLK2, either BLK1 or BLK2 can be DUT.
When BLK1 is the DUT, then “A_BLK1_” properties should remain as assume properties, while “A_BLK2_” properties should be converted as assertion properties.
Vice versa, when BLK2 is the DUT, then “A_BLK2_” properties should remain as assume properties, while “A_BLK1_” properties should be converted as assertion properties.
Cover property names should start with “C_” prefix

As we are relying on Claude Code to write SVAs for our codebase, the SVA naming conversions are part of coding guidelines for our CLAUDE.md file.

Subscribe

Enter your email to get updates from us. You might need to check the spam folder for the confirmation email.

Leave a comment