UVM Version Defines | |
UVM Revision Values | These macros provide the current values for the MAJOR, MINOR, and optionally the FIX revision. |
UVM_MAJOR_REV | Defines the MAJOR revision number. |
UVM_MINOR_REV | Defines the MINOR revision number. |
UVM_FIX_REV | (Optionally) Defines the FIX revision letter. |
UVM_NAME | The name used by the library when displaying the name of the library. |
UVM_VERSION_STRING | Provides a string-ized version of the UVM Library version number. |
Conditional Compilation | These macros provide the ability to conditionally compile based on the revision of the library which is being used. |
UVM_MAJOR_REV_1 | Indicates that the MAJOR version of this release is ‘1’. |
UVM_MINOR_REV_2 | Indicates that the MINOR version of this release is ‘2’. |
UVM_VERSION_1_2 | Indicates that the version of this release is ‘1.2’. |
UVM Version Ladder | |
UVM_POST_VERSION_1_1 | Indicates that this version of the UVM came after the 1.1 versions, including the various 1.1 fix revisions. |
These macros provide the current values for the MAJOR, MINOR, and optionally the FIX revision.
UVM_MAJOR_REV | ’1’ |
UVM_MINOR_REV | ’2’ |
UVM_FIX_REV | ’undefined’ |
UVM_MAJOR_REV | ’1’ |
UVM_MINOR_REV | ’1’ |
UVM_FIX_REV | ’a’ |
Defines the MAJOR revision number.
For UVM version 1.2, the MAJOR revision number is ‘1’
`define UVM_MAJOR_REV 1
Defines the MINOR revision number.
For UVM version 1.2, the MINOR revision number is ‘2’
`define UVM_MINOR_REV 2
(Optionally) Defines the FIX revision letter.
For the first “X.Y” release of the UVM, there is no FIX revision letter. In these cases, the UVM_FIX_REV is left undefined.
For any subsequent “X.Y” fix releases, the UVM_FIX_REV value is set to the appropriate fix release letter.
1.1 | First release, UVM_FIX_REV is undefined |
1.1a | Fix release, UVM_FIX_REV is ‘a’ |
The name used by the library when displaying the name of the library.
`define UVM_NAME UVM
Provides a string-ized version of the UVM Library version number.
When there is a FIX_REV, the string is “<name>-<major>.<minor><fix>” (such as “UVM-1.1d”). When there is NO FIX_REV, the string is “<name>-<major>.<minor>” (such as “UVM-1.2”).
These macros provide the ability to conditionally compile based on the revision of the library which is being used.
These macros are required for conditional compilation, as SystemVerilog does not support conditionals with `ifdefs.
// Illegal: `if (UVM_MAJOR_REV == 1) // Legal: `ifdef UVM_MAJOR_REV_1
Indicates that the MAJOR version of this release is ‘1’.
`define UVM_MAJOR_REV_1
Indicates that the MINOR version of this release is ‘2’.
`define UVM_MINOR_REV_2
Indicates that the version of this release is ‘1.2’.
`define UVM_VERSION_1_2
Indicates that this version of the UVM came after the 1.1 versions, including the various 1.1 fix revisions.
The first UVM version wherein this macro is defined is 1.2, and the macro will continue to be defined for all future revisions of the UVM library.
`define UVM_POST_VERSION_1_1