# Globals

Summary

Globals
Simulation Control |
run_test | Convenience function for uvm_top.run_test().
Reporting |
uvm_get_report_object | Returns the nearest uvm_report_object when called.
uvm_report_enabled | Returns 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_fatal | These methods, defined in package scope, are convenience functions that delegate to the corresponding component methods in uvm_top.
uvm_process_report_message | This method, defined in package scope, is a convenience function that delegate to the corresponding component method in uvm_top.
Miscellaneous |
uvm_is_match | Returns 1 if the two strings match, 0 otherwise.
uvm_string_to_bits | Converts an input string to its bit-vector equivalent.
uvm_bits_to_string | Converts an input bit-vector to its string equivalent.
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.
uvm_split_string | Returns a queue of strings, values, that is the result of the str split based on the sep.

### Simulation Control

### run_test

> task run_test (
> | string | test_name | = | ""
> )

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

### Reporting

### 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.

### Miscellaneous

### 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_name | Attempts to convert a string name to an enumerated value.

### Methods

### from_name

> static function bit from_name(
> |  | string | name,
> | ref | T | 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 | T | value
> )

Attempts to convert a string name to an enumerated value.