//---------------------------------------------------------------------- // Copyright 2007-2010 Mentor Graphics Corporation // Copyright 2007-2010 Cadence Design Systems, Inc. // Copyright 2010-2011 Synopsys, Inc. // Copyright 2014 NVIDIA Corporation // All Rights Reserved Worldwide // // Licensed under the Apache License, Version 2.0 (the // "License"); you may not use this file except in // compliance with the License. You may obtain a copy of // the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in // writing, software distributed under the License is // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See // the License for the specific language governing // permissions and limitations under the License. //---------------------------------------------------------------------- `ifndef UVM_VERSION_DEFINES_SVH `define UVM_VERSION_DEFINES_SVH // Title: UVM Version Defines // Group: UVM Revision Values // These macros provide the current values for the ~MAJOR~, ~MINOR~, // and optionally the ~FIX~ revision. // // Example with UVM version 1.2: // UVM_MAJOR_REV - '1' // UVM_MINOR_REV - '2' // UVM_FIX_REV - 'undefined' // // Example with UVM version 1.1a: // UVM_MAJOR_REV - '1' // UVM_MINOR_REV - '1' // UVM_FIX_REV - 'a' // // Macro: UVM_MAJOR_REV // Defines the MAJOR revision number. // // 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' // Include this in the comment when the FIX rev is present: // | `define UVM_FIX_REV a //`define UVM_FIX_REV a // Macro: UVM_NAME // The name used by the library when displaying the name of // the library. // // | `define UVM_NAME UVM `define UVM_NAME UVM // Macro: UVM_VERSION_STRING // Provides a string-ized version of the UVM Library version number. // // When there is a FIX_REV, the string is "-." (such as "UVM-1.1d"). // When there is NO FIX_REV, the string is "-." (such as "UVM-1.2"). `ifdef UVM_FIX_REV `define UVM_VERSION_STRING `"`UVM_NAME``-```UVM_MAJOR_REV``.```UVM_MINOR_REV`UVM_FIX_REV`" `else `define UVM_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) // | // | // Legal: // | `ifdef UVM_MAJOR_REV_1 // // Macro: UVM_MAJOR_REV_1 // Indicates that the MAJOR version of this release is '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