// For UVM version 1.2, the MAJOR revision number is '1'//// | `define UVM_MAJOR_REV 1`define UVM_MAJOR_REV 1// Macro: UVM_MINOR_REV// Defines the MINOR revision number.//// For UVM version 1.2, the MINOR revision number is '2'//// | `define UVM_MINOR_REV 2`define UVM_MINOR_REV 2// Macro: UVM_FIX_REV// (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.//// Example:// 1.1 - First release, UVM_FIX_REV is undefined// 1.1a - Fix release, UVM_FIX_REV is 'a'
// 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").`ifdefUVM_FIX_REV`defineUVM_VERSION_STRING`"`UVM_NAME``-```UVM_MAJOR_REV``.```UVM_MINOR_REV`UVM_FIX_REV`"`else`defineUVM_VERSION_STRING`"`UVM_NAME``-```UVM_MAJOR_REV``.```UVM_MINOR_REV```"`endif// Group: Conditional Compilation// 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.//// For example:// | // Illegal:// | `if (UVM_MAJOR_REV == 1)// |
//// | `define UVM_MAJOR_REV_1//`define UVM_MAJOR_REV_1// Macro: UVM_MINOR_REV_2// Indicates that the MINOR version of this release is '2'.//// | `define UVM_MINOR_REV_2//`define UVM_MINOR_REV_2// Macro: UVM_VERSION_1_2// Indicates that the version of this release is '1.2'.//// | `define UVM_VERSION_1_2`define UVM_VERSION_1_2// Undocumented, same thing as UVM_VERSION_1_2`define UVM_MAJOR_VERSION_1_2// Group: UVM Version Ladder// Macro: 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. //// 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`define UVM_POST_VERSION_1_1`endif// UVM_VERSION_DEFINES_SVH
`ifndefUVM_VERSION_DEFINES_SVH`define UVM_VERSION_DEFINES_SVH`define UVM_VERSION 2020// Title --NODOCS-- UVM Version Defines// Group --NODOCS-- UVM Version Ladder// The following defines are provided as an indication of // how this implementation release relates to previous UVM // implementation releases from Accellera.`define UVM_VERSION_POST_2017`define UVM_VERSION_POST_2017_1_0 `define UVM_VERSION_POST_2017_1_1`define UVM_VERSION_POST_2020_1_0`define UVM_VERSION_POST_2020_1_1// These defines are used in earlier versions of UVM// They are provided here with mappings relevant to IEEE 1800.2 2020 v2.0 //@back_compat `define UVM_NAME UVM`define UVM_MAJOR_REV 2020`define UVM_MINOR_REV 2.0`define UVM_VERSION_STRING uvm_pkg::UVM_VERSION_STRING// Defines for `ifdefs`define UVM_POST_VERSION_1_1`define UVM_POST_VERSION_1_2`endif// UVM_VERSION_DEFINES_SVH