URL
https://opencores.org/ocsvn/uart2bus_testbench/uart2bus_testbench/trunk
Subversion Repositories uart2bus_testbench
[/] [uart2bus_testbench/] [trunk/] [tb/] [uvm_src/] [macros/] [uvm_version_defines.svh] - Rev 16
Compare with Previous | Blame | View Log
//----------------------------------------------------------------------
// 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 "<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").
`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