Debug command line plusargs that are available in the Accellera reference implementation but not documented in the IEEE UVM 1800.2-2020 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-2020 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
The following argument is provided in addition to those required by IEEE UVM 1800.2-2020.
Command line configuration | The following argument is provided in addition to those required by IEEE UVM 1800.2-2020. |
Variables | |
+uvm_set_config_bitstream | +uvm_set_config_bitstream=<comp>,<field>,<value> works like its procedural counterpart <uvm_config_db#(uvm_bitstream_t)::set()>. |
+uvm_set_config_bitstream=<comp>,<field>,<value> works like its procedural counterpart <uvm_config_db#(uvm_bitstream_t)::set()>. The string value is processed as:
[sign][radix]value
Where `[sign]` is an optional sign character, either “+” or “-”, and `[radix]` is an optional radix specifier.
”’b”, “0b”: Binary “’o”: Octal “’d”: Decimal “’h”, “’x”, “0x”: Hexidecimal
If the optional radix is omitted, then the value shall be treated as decimal.
As the <uvm_bitstream_t> is a 4-state value, the characters “X”, “x”, “Z”, “z”, and “?” are legal within the value string. Additionally, the underscore character (“_”) is ignored.
Note that unlike <+uvm_set_config_int>, the Accellera implementation of +uvm_set_config_bitstream is capable storing values that exceed 32 bits in size. This means the two yield different results for 32 bit values when bit 32 is set, as <+uvm_set_config_int> treats bit 32 as the sign bit.
// +uvm_set_config_int=uvm_test_top.soc_env,valA,'hFFFF_FFFF // +uvm_set_config_bitstream=uvm_test_top.soc_env,valB,'hFFFF_FFFF longint valA, valB; uvm_config_int::get(uvm_test_top.soc_env, "", "valA", valA); // 64'hFFFF_FFFF_FFFF_FFFF uvm_config_int::get(uvm_test_top.soc_env, "", "valB", valB); // 64'h0000_0000_FFFF_FFFF
Additionally, note that if the value passed on the command line is larger than the maximum value that can be stored in a <uvm_bitstream_t> then truncation without warning may occur.