<- Click here to Toggle
Chapter 1-5
Chapter 5-10
Chapter 10-15
Chapter 15-20
Chapter 20-25
Chapter 25-30
SystemVerilog Assertion API - Introduction
Requirements
SystemVerilog provides assertion capabilities to enable:
- a user’s C code to react to assertion events.
- third-party assertion “waveform” dumping tools to be written.
- third-party assertion coverage tools to be written.
- third-party assertion debug tools to be written.
Naming conventions
All elements added by this interface shall conform to the Verilog Procedural Interface (VPI) interface naming conventions.
- All names are prefixed by vpi .
- All type names shall start with vpi , followed by initially capitalized words with no separators, e.g.,vpiAssertCheck .
- All callback names shall start with cb , followed by initially capitalized words with no separators, e.g., cbAssertionStart .
- All function names shall start with vpi _, followed by all lowercase words separated by underscores (_ ), e.g., vpi_get_assert_info() .
Extensions to VPI enumerations
These extensions shall be appended to the contents of the vpi_user.h file, described in IEEE Std. 1364-2001.
Object types
This section lists the object property VPI calls. The VPI reserved range for these calls is 700 - 729 .
Object properties
This section lists the object property VPI calls. The VPI reserved range for these calls is 700 - 729.
#define vpiSequenceType 701
#define vpiAssertType 702
#define vpiCoverType 703
#define vpiPropertyType 704
#define vpiImmediateAssertType705
Callbacks:
This section lists the system callbacks. The VPI reserved range for these calls is 700 - 719 .
Assertion
#define cbAssertionStart 700
#define cbAssertionSuccess 701
#define cbAssertionFailure 702
#define cbAssertionStepSuccess 703
#define cbAssertionStepFailure 704
#define cbAssertionDisable 705
#define cbAssertionEnable 706
#define cbAssertionReset 707
#define cbAssertionKill 708
“Assertion system”
#define cbAssertionSysInitialized709
#define cbAssertionSysStart 710
#define cbAssertionSysStop 711
#define cbAssertionSysEnd 712
#define cbAssertionSysReset 713
Control Constants:
This section lists the system control constant callbacks. The VPI reserved range for these calls is 730 - 759 .
Assertion
#define vpiAssertionDisable 730
#define vpiAssertionEnable 731
#define vpiAssertionReset 732
#define vpiAssertionKill 733
Assertion stepping
#define vpiAssertionClockSteps 736
“Assertion system”
#define vpiAssertionSysStart 737
#define vpiAssertionSysStop 738
#define vpiAssertionSysEnd 739
#define vpiAssertionSysReset 740
