Debug command line plusargs that are available in the Accellera reference implementation but not documented in the IEEE UVM 1800.2-2017 LRM
Command Line Debug | |
Debug command line plusargs that are available in the Accellera reference implementation but not documented in the IEEE UVM 1800.2-2017 LRM | |
Variables | |
+UVM_DUMP_CMDLINE_ARGS | +UVM_DUMP_CMDLINE_ARGS allows the user to dump all command line arguments to the reporting mechanism. |
+UVM_PHASE_TRACE | +UVM_PHASE_TRACE turns on tracing of phase executions. |
+UVM_OBJECTION_TRACE | +UVM_OBJECTION_TRACE turns on tracing of objection activity. |
+UVM_RESOURCE_DB_TRACE | +UVM_RESOURCE_DB_TRACE turns on tracing of resource DB accesses. |
+UVM_CONFIG_DB_TRACE | +UVM_CONFIG_DB_TRACE turns on tracing of configuration DB accesses. |
+UVM_DUMP_CMDLINE_ARGS allows the user to dump all command line arguments to the reporting mechanism. The output in is tree format.
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
+UVM_PHASE_TRACE turns on tracing of phase executions.
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
+UVM_OBJECTION_TRACE turns on tracing of objection activity.
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
+UVM_RESOURCE_DB_TRACE turns on tracing of resource DB accesses.
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
+UVM_CONFIG_DB_TRACE turns on tracing of configuration DB accesses.
@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2
This class provides an interface to the command line arguments that were provided for the given simulation. The class is intended to be used as a singleton, but that isn’t required. The generation of the data structures which hold the command line argument information happens during construction of the class object. A global variable called uvm_cmdline_proc is created at initialization time and may be used to access command line information.
The uvm_cmdline_processor class also provides support for setting various UVM variables from the command line such as components’ verbosities and configuration settings for integral types and strings. Each of these capabilities is described in the Built-in UVM Aware Command Line Arguments section.
uvm_cmdline_processor | |||||
This class provides an interface to the command line arguments that were provided for the given simulation. | |||||
Class Hierarchy | |||||
| |||||
Class Declaration | |||||
| |||||
Singleton | |||||
get_inst | Returns the singleton instance of the UVM command line processor. | ||||
Basic Arguments | |||||
get_args | This function returns a queue with all of the command line arguments that were used to start the simulation. | ||||
get_plusargs | This function returns a queue with all of the plus arguments that were used to start the simulation. | ||||
get_uvmargs | This function returns a queue with all of the uvm arguments that were used to start the simulation. | ||||
get_arg_matches | This function loads a queue with all of the arguments that match the input expression and returns the number of items that matched. | ||||
Argument Values | |||||
get_arg_value | This function finds the first argument which matches the match arg and returns the suffix of the argument. | ||||
get_arg_values | This function finds all the arguments which matches the match arg and returns the suffix of the arguments in a list of values. | ||||
Tool information | |||||
get_tool_name | Returns the simulation tool that is executing the simulation. | ||||
get_tool_version | Returns the version of the simulation tool that is executing the simulation. |
static function uvm_cmdline_processor get_inst()
Returns the singleton instance of the UVM command line processor.
function void get_args ( output string args[$] )
This function returns a queue with all of the command line arguments that were used to start the simulation. Note that element 0 of the array will always be the name of the executable which started the simulation.
function void get_plusargs ( output string args[$] )
This function returns a queue with all of the plus arguments that were used to start the simulation. Plusarguments may be used by the simulator vendor, or may be specific to a company or individual user. Plusargs never have extra arguments (i.e. if there is a plusarg as the second argument on the command line, the third argument is unrelated); this is not necessarily the case with vendor specific dash arguments.
This function returns a queue with all of the uvm arguments that were used to start the simulation. A UVM argument is taken to be any argument that starts with a - or + and uses the keyword UVM (case insensitive) as the first three letters of the argument.
function int get_arg_matches ( string match, ref string args[$] )
This function loads a queue with all of the arguments that match the input expression and returns the number of items that matched. If the input expression is bracketed with //, then it is taken as an extended regular expression otherwise, it is taken as the beginning of an argument to match. For example:
string myargs[$] initial begin void'(uvm_cmdline_proc.get_arg_matches("+foo",myargs)); //matches +foo, +foobar //doesn't match +barfoo void'(uvm_cmdline_proc.get_arg_matches("/foo/",myargs)); //matches +foo, +foobar, //foo.sv, barfoo, etc. void'(uvm_cmdline_proc.get_arg_matches("/^foo.*\.sv",myargs)); //matches foo.sv //and foo123.sv, //not barfoo.sv.
function int get_arg_value ( string match, ref string value )
This function finds the first argument which matches the match arg and returns the suffix of the argument. This is similar to the $value$plusargs system task, but does not take a formatting string. The return value is the number of command line arguments that match the match string, and value is the value of the first match.
function int get_arg_values ( string match, ref string values[$] )
This function finds all the arguments which matches the match arg and returns the suffix of the arguments in a list of values. The return value is the number of matches that were found (it is the same as values.size() ). For example if ‘+foo=1,yes,on +foo=5,no,off’ was provided on the command line and the following code was executed:
string foo_values[$] initial begin void'(uvm_cmdline_proc.get_arg_values("+foo=",foo_values));
The foo_values queue would contain two entries. These entries are shown here:
0 | ”1,yes,on” |
1 | ”5,no,off” |
Splitting the resultant string is left to user but using the uvm_split_string() function is recommended.
function string get_tool_name ()
Returns the simulation tool that is executing the simulation. This is a vendor specific string.
function string get_tool_version ()
Returns the version of the simulation tool that is executing the simulation. This is a vendor specific string.
The uvm_void class is the base class for all UVM classes.
virtual class uvm_void
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
The uvm_report_object provides an interface to the UVM reporting facility.
class uvm_report_object extends uvm_object
This class provides an interface to the command line arguments that were provided for the given simulation.
class uvm_cmdline_processor extends uvm_report_object
Returns the singleton instance of the UVM command line processor.
static function uvm_cmdline_processor get_inst()
This function returns a queue with all of the command line arguments that were used to start the simulation.
function void get_args ( output string args[$] )
This function returns a queue with all of the plus arguments that were used to start the simulation.
function void get_plusargs ( output string args[$] )
This function loads a queue with all of the arguments that match the input expression and returns the number of items that matched.
function int get_arg_matches ( string match, ref string args[$] )
This function finds the first argument which matches the match arg and returns the suffix of the argument.
function int get_arg_value ( string match, ref string value )
This function finds all the arguments which matches the match arg and returns the suffix of the arguments in a list of values.
function int get_arg_values ( string match, ref string values[$] )
Returns the simulation tool that is executing the simulation.
function string get_tool_name ()
Returns the version of the simulation tool that is executing the simulation.
function string get_tool_version ()