Globals

Summary
Globals
Simulation Control
run_testConvenience function for uvm_top.run_test().
Reporting
uvm_get_report_objectReturns the nearest uvm_report_object when called.
uvm_report_enabledReturns 1 if the configured verbosity in uvm_top for this severity/id is greater than or equal to verbosity else returns 0.
uvm_report
uvm_report_info
uvm_report_warning
uvm_report_error
uvm_report_fatalThese methods, defined in package scope, are convenience functions that delegate to the corresponding component methods in uvm_top.
uvm_process_report_messageThis method, defined in package scope, is a convenience function that delegate to the corresponding component method in uvm_top.
Miscellaneous
uvm_is_matchReturns 1 if the two strings match, 0 otherwise.
uvm_string_to_bitsConverts an input string to its bit-vector equivalent.
uvm_bits_to_stringConverts an input bit-vector to its string equivalent.
uvm_wait_for_nba_regionCallers of this task will not return until the NBA region, thus allowing other processes any number of delta cycles (#0) to settle out before continuing.
uvm_split_stringReturns a queue of strings, values, that is the result of the str split based on the sep.

run_test

task run_test (
    string  test_name  =  ""
)

Convenience function for uvm_top.run_test().  See uvm_root for more information.

uvm_get_report_object

function uvm_report_object uvm_get_report_object()

Returns the nearest uvm_report_object when called.  For the global version, it returns uvm_root.

uvm_report_enabled

function int uvm_report_enabled (
    int  verbosity,   
    uvm_severity  severity  =  UVM_INFO,
    string  id  =  ""
)

Returns 1 if the configured verbosity in uvm_top for this severity/id is greater than or equal to verbosity else returns 0.

See also uvm_report_object::uvm_report_enabled.

Static methods of an extension of uvm_report_object, e.g. uvm_component-based objects, cannot call uvm_report_enabled because the call will resolve to the uvm_report_object::uvm_report_enabled, which is non-static.  Static methods cannot call non-static methods of the same class.

uvm_report

function void uvm_report(
    uvm_severity  severity,   
    string  id,   
    string  message,   
    int  verbosity  =  (severity == uvm_severity'(UVM_ERROR)) ? UVM_LOW : (severity == uvm_severity'(UVM_FATAL)) ? UVM_NONE : UVM_MEDIUM,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)

uvm_report_info

function void uvm_report_info(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_MEDIUM,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)

uvm_report_warning

function void uvm_report_warning(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_MEDIUM,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)

uvm_report_error

function void uvm_report_error(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_LOW,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)

uvm_report_fatal

function void uvm_report_fatal(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_NONE,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)

These methods, defined in package scope, are convenience functions that delegate to the corresponding component methods in uvm_top.  They can be used in module-based code to use the same reporting mechanism as class-based components.  See uvm_report_object for details on the reporting mechanism.

Note: Verbosity is ignored for warnings, errors, and fatals to ensure users do not inadvertently filter them out.  It remains in the methods for backward compatibility.

uvm_process_report_message

function void uvm_process_report_message(
    uvm_report_message  report_message
)

This method, defined in package scope, is a convenience function that delegate to the corresponding component method in uvm_top.  It can be used in module-based code to use the same reporting mechanism as class-based components.  See uvm_report_object for details on the reporting mechanism.

uvm_is_match

function bit uvm_is_match (
    string  expr,
    string  str
)

Returns 1 if the two strings match, 0 otherwise.

The first string, expr, is a string that may contain ‘*’ and ‘?’ characters.  A * matches zero or more characters, and ? matches any single character.  The 2nd argument, str, is the string begin matched against.  It must not contain any wildcards.

uvm_string_to_bits

function logic[UVM_LARGE_STRING:0] uvm_string_to_bits(
    string  str
)

Converts an input string to its bit-vector equivalent.  Max bit-vector length is approximately 14000 characters.

uvm_bits_to_string

function string uvm_bits_to_string(
    logic  [UVM_LARGE_STRING:0]  str
)

Converts an input bit-vector to its string equivalent.  Max bit-vector length is approximately 14000 characters.

uvm_wait_for_nba_region

task uvm_wait_for_nba_region

Callers of this task will not return until the NBA region, thus allowing other processes any number of delta cycles (#0) to settle out before continuing.  See uvm_sequencer_base::wait_for_sequences for example usage.

uvm_split_string

function automatic void uvm_split_string (
    string  str,
    byte  sep,
    ref  string  values[$]
)

Returns a queue of strings, values, that is the result of the str split based on the sep.  For example:

uvm_split_string("1,on,false", ",", splits);

Results in the ‘splits’ queue containing the three elements: 1, on and false.

uvm_enum_wrapper#(T)

The uvm_enum_wrapper#(T) class is a utility mechanism provided as a convenience to the end user.  It provides a from_name method which is the logical inverse of the System Verilog name method which is built into all enumerations.

Summary
uvm_enum_wrapper#(T)
The uvm_enum_wrapper#(T) class is a utility mechanism provided as a convenience to the end user.
Class Declaration
class uvm_enum_wrapper#(
    type  T  =  uvm_active_passive_enum
)
Methods
from_nameAttempts to convert a string name to an enumerated value.

from_name

static function bit from_name(
    string  name,
    ref  value
)

Attempts to convert a string name to an enumerated value.

If the conversion is successful, the method will return 1, otherwise 0.

Note that the name passed in to the method must exactly match the value which would be produced by enum::name, and is case sensitive.

For example

typedef uvm_enum_wrapper#(uvm_radix_enum) radix_wrapper;
uvm_radix_enum r_v;

// The following would return '0', as "foo" isn't a value
// in uvm_radix_enum:
radix_wrapper::from_name("foo", r_v);

// The following would return '0', as "uvm_bin" isn't a value
// in uvm_radix_enum (although the upper case "UVM_BIN" is):
radix_wrapper::from_name("uvm_bin", r_v);

// The following would return '1', and r_v would be set to
// the value of UVM_BIN
radix_wrapper::from_name("UVM_BIN", r_v);
task run_test (
    string  test_name  =  ""
)
Convenience function for uvm_top.run_test().
function uvm_report_object uvm_get_report_object()
Returns the nearest uvm_report_object when called.
function int uvm_report_enabled (
    int  verbosity,   
    uvm_severity  severity  =  UVM_INFO,
    string  id  =  ""
)
Returns 1 if the configured verbosity in uvm_top for this severity/id is greater than or equal to verbosity else returns 0.
function void uvm_report(
    uvm_severity  severity,   
    string  id,   
    string  message,   
    int  verbosity  =  (severity == uvm_severity'(UVM_ERROR)) ? UVM_LOW : (severity == uvm_severity'(UVM_FATAL)) ? UVM_NONE : UVM_MEDIUM,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)
function void uvm_report_info(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_MEDIUM,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)
function void uvm_report_warning(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_MEDIUM,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)
function void uvm_report_error(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_LOW,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)
function void uvm_report_fatal(
    string  id,   
    string  message,   
    int  verbosity  =  UVM_NONE,
    string  filename  =  "",
    int  line  =  0,
    string  context_name  =  "",
    bit  report_enabled_checked  =  0
)
These methods, defined in package scope, are convenience functions that delegate to the corresponding component methods in uvm_top.
function void uvm_process_report_message(
    uvm_report_message  report_message
)
This method, defined in package scope, is a convenience function that delegate to the corresponding component method in uvm_top.
function bit uvm_is_match (
    string  expr,
    string  str
)
Returns 1 if the two strings match, 0 otherwise.
function logic[UVM_LARGE_STRING:0] uvm_string_to_bits(
    string  str
)
Converts an input string to its bit-vector equivalent.
function string uvm_bits_to_string(
    logic  [UVM_LARGE_STRING:0]  str
)
Converts an input bit-vector to its string equivalent.
task uvm_wait_for_nba_region
Callers of this task will not return until the NBA region, thus allowing other processes any number of delta cycles (#0) to settle out before continuing.
function automatic void uvm_split_string (
    string  str,
    byte  sep,
    ref  string  values[$]
)
Returns a queue of strings, values, that is the result of the str split based on the sep.
The uvm_root class serves as the implicit top-level and phase controller for all UVM components.
function int uvm_report_enabled(
    int  verbosity,   
    uvm_severity  severity  =  UVM_INFO,
    string  id  =  ""
)
Returns 1 if the configured verbosity for this severity/id is greater than or equal to verbosity else returns 0.
class uvm_report_object extends uvm_object
The uvm_report_object provides an interface to the UVM reporting facility.
virtual task wait_for_sequences()
Waits for a sequence to have a new item available.
class uvm_enum_wrapper#(
    type  T  =  uvm_active_passive_enum
)
The uvm_enum_wrapper#(T) class is a utility mechanism provided as a convenience to the end user.
static function bit from_name(
    string  name,
    ref  value
)
Attempts to convert a string name to an enumerated value.