|Types and Enumerations|
|`UVM_MAX_STREAMBITS||Defines the maximum bit vector size for integral types.|
|`UVM_PACKER_MAX_BYTES||Defines the maximum bytes to allocate for packing an object using the uvm_packer. |
|`UVM_DEFAULT_TIMEOUT||The default timeout for all phases, if not overridden by uvm_root::set_timeout or <+UVM_TIMEOUT>|
|uvm_bitstream_t||The bitstream type is used as a argument type for passing integral values in such methods as set_int_local, get_int_local, get_config_int, report, pack and unpack.|
|uvm_radix_enum||Specifies the radix to print or record in.|
|uvm_recursion_policy_enum||Specifies the policy for copying objects.|
|uvm_active_passive_enum||Convenience value to define whether a component, usually an agent, is in “active” mode or “passive” mode.|
|`uvm_field_* macro flags||Defines what operations a given field should be involved in. |
|uvm_severity||Defines all possible values for report severity.|
|uvm_action||Defines all possible values for report actions. |
|uvm_verbosity||Defines standard verbosity levels for reports.|
|uvm_port_type_e||Specifies the type of port|
|uvm_sequencer_arb_mode||Specifies a sequencer’s arbitration mode|
|uvm_sequence_state_enum||Defines current sequence state|
|uvm_sequence_lib_mode||Specifies the random selection mode of a sequence library|
|uvm_phase_type||This is an attribute of a uvm_phase object which defines the phase type.|
|uvm_phase_state||The set of possible states of a phase. |
|uvm_phase_transition||These are the phase state transition for callbacks which provide additional information that may be useful during callbacks|
|uvm_wait_op||Specifies the operand when using methods like uvm_phase::wait_for_state.|
|uvm_objection_event||Enumerated the possible objection events one could wait on. |
|Default Policy Classes||Policy classes copying, comparing, packing, unpacking, and recording uvm_object-based objects.|
|uvm_default_table_printer||The table printer is a global object that can be used with uvm_object::do_print to get tabular style printing.|
|uvm_default_tree_printer||The tree printer is a global object that can be used with uvm_object::do_print to get multi-line tree style printing.|
|uvm_default_line_printer||The line printer is a global object that can be used with uvm_object::do_print to get single-line style printing.|
|uvm_default_printer||The default printer policy. |
|uvm_default_packer||The default packer policy. |
|uvm_default_comparer||The default compare policy. |
|uvm_default_recorder||The default recording policy. |
Defines the maximum bit vector size for integral types.
The bitstream type is used as a argument type for passing integral values in such methods as set_int_local, get_int_local, get_config_int, report, pack and unpack.
Specifies the radix to print or record in.
|UVM_BIN||Selects binary (%b) format|
|UVM_DEC||Selects decimal (%d) format|
|UVM_UNSIGNED||Selects unsigned decimal (%u) format|
|UVM_OCT||Selects octal (%o) format|
|UVM_HEX||Selects hexidecimal (%h) format|
|UVM_STRING||Selects string (%s) format|
|UVM_TIME||Selects time (%t) format|
|UVM_ENUM||Selects enumeration value (name) format|
Specifies the policy for copying objects.
|UVM_DEEP||Objects are deep copied (object must implement copy method)|
|UVM_SHALLOW||Objects are shallow copied using default SV copy.|
|UVM_REFERENCE||Only object handles are copied.|
Convenience value to define whether a component, usually an agent, is in “active” mode or “passive” mode.
Defines what operations a given field should be involved in. Bitwise OR all that apply.
Defines all possible values for report severity.
|UVM_WARNING||Indicates a potential problem.|
|UVM_ERROR||Indicates a real problem. Simulation continues subject to the configured message action.|
|UVM_FATAL||Indicates a problem from which simulation can not recover. Simulation exits via $finish after a #0 delay.|
Defines all possible values for report actions. Each report is configured to execute one or more actions, determined by the bitwise OR of any or all of the following enumeration constants.
|UVM_NO_ACTION||No action is taken|
|UVM_DISPLAY||Sends the report to the standard output|
|UVM_LOG||Sends the report to the file(s) for this (severity,id) pair|
|UVM_COUNT||Counts the number of reports with the COUNT attribute. When this value reaches max_quit_count, the simulation terminates|
|UVM_EXIT||Terminates the simulation immediately.|
|UVM_CALL_HOOK||Callback the report hook methods|
|UVM_STOP||Causes $stop to be executed, putting the simulation into interactive mode.|
Defines standard verbosity levels for reports.
|UVM_NONE||Report is always printed. Verbosity level setting can not disable it.|
|UVM_LOW||Report is issued if configured verbosity is set to UVM_LOW or above.|
|UVM_MEDIUM||Report is issued if configured verbosity is set to UVM_MEDIUM or above.|
|UVM_HIGH||Report is issued if configured verbosity is set to UVM_HIGH or above.|
|UVM_FULL||Report is issued if configured verbosity is set to UVM_FULL or above.|
Specifies the type of port
|UVM_PORT||The port requires the interface that is its type parameter.|
|UVM_EXPORT||The port provides the interface that is its type parameter via a connection to some other export or implementation.|
|UVM_IMPLEMENTATION||The port provides the interface that is its type parameter, and it is bound to the component that implements the interface.|
Specifies a sequencer’s arbitration mode
|SEQ_ARB_FIFO||Requests are granted in FIFO order (default)|
|SEQ_ARB_WEIGHTED||Requests are granted randomly by weight|
|SEQ_ARB_RANDOM||Requests are granted randomly|
|SEQ_ARB_STRICT_FIFO||Requests at highest priority granted in fifo order|
|SEQ_ARB_STRICT_RANDOM||Requests at highest priority granted in randomly|
|SEQ_ARB_USER||Arbitration is delegated to the user-defined function, user_priority_arbitration. That function will specify the next sequence to grant.|
Defines current sequence state
Specifies the random selection mode of a sequence library
|UVM_SEQ_LIB_RAND||Random sequence selection|
|UVM_SEQ_LIB_RANDC||Random cyclic sequence selection|
|UVM_SEQ_LIB_ITEM||Emit only items, no sequence execution|
|UVM_SEQ_LIB_USER||Apply a user-defined random-selection algorithm|
This is an attribute of a uvm_phase object which defines the phase type.
|UVM_PHASE_IMP||The phase object is used to traverse the component hierarchy and call the component phase method as well as the phase_started and phase_ended callbacks. These nodes are created by the phase macros, `uvm_builtin_task_phase, `uvm_builtin_topdown_phase, and `uvm_builtin_bottomup_phase. These nodes represent the phase type, i.e. uvm_run_phase, uvm_main_phase.|
|UVM_PHASE_NODE||The object represents a simple node instance in the graph. These nodes will contain a reference to their corresponding IMP object.|
|UVM_PHASE_SCHEDULE||The object represents a portion of the phasing graph, typically consisting of several NODE types, in series, parallel, or both.|
|UVM_PHASE_TERMINAL||This internal object serves as the termination NODE for a SCHEDULE phase object.|
|UVM_PHASE_DOMAIN||This object represents an entire graph segment that executes in parallel with the ‘run’ phase. Domains may define any network of NODEs and SCHEDULEs. The built-in domain, uvm, consists of a single schedule of all the run-time phases, starting with pre_reset and ending with post_shutdown.|
The set of possible states of a phase. This is an attribute of a schedule node in the graph, not of a phase, to maintain independent per-domain state
|UVM_PHASE_DORMANT||Nothing has happened with the phase in this domain.|
|UVM_PHASE_SCHEDULED||At least one immediate predecessor has completed. Scheduled phases block until all predecessors complete or until a jump is executed.|
|UVM_PHASE_SYNCING||All predecessors complete, checking that all synced phases (e.g. across domains) are at or beyond this point|
|UVM_PHASE_STARTED||phase ready to execute, running phase_started() callback|
|UVM_PHASE_EXECUTING||An executing phase is one where the phase callbacks are being executed. It’s process is tracked by the phaser.|
|UVM_PHASE_READY_TO_END||no objections remain, awaiting completion of predecessors of its successors. For example, when phase ‘run’ is ready to end, its successor will be ‘extract’, whose predecessors are ‘run’ and ‘post_shutdown’. Therefore, ‘run’ will be waiting for ‘post_shutdown’ to be ready to end.|
|UVM_PHASE_ENDED||phase completed execution, now running phase_ended() callback|
|UVM_PHASE_CLEANUP||all processes related to phase are being killed|
|UVM_PHASE_DONE||A phase is done after it terminated execution. Becoming done may enable a waiting successor phase to execute.|
The state transitions occur as follows
DORMANT -> SCHED -> SYNC -> START -> EXEC -> READY -> END -> CLEAN -> DONE
| <-- jump_to v
These are the phase state transition for callbacks which provide additional information that may be useful during callbacks
|UVM_COMPLETED||the phase completed normally|
|UVM_FORCED_STOP||the phase was forced to terminate prematurely|
|UVM_SKIPPED||the phase was in the path of a forward jump|
|UVM_RERUN||the phase was in the path of a backwards jump|
Specifies the operand when using methods like uvm_phase::wait_for_state.
|UVM_LTE||less than or equal to|
|UVM_GTE||greater than or equal to|
Enumerated the possible objection events one could wait on. See uvm_objection::wait_for.
|UVM_RAISED||an objection was raised|
|UVM_DROPPED||an objection was raised|
|UVM_ALL_DROPPED||all objections have been dropped|
Policy classes copying, comparing, packing, unpacking, and recording uvm_object-based objects.
|uvm_table_printer uvm_default_table_printer = new()|
The table printer is a global object that can be used with uvm_object::do_print to get tabular style printing.
|uvm_tree_printer uvm_default_tree_printer = new()|
The tree printer is a global object that can be used with uvm_object::do_print to get multi-line tree style printing.
|uvm_line_printer uvm_default_line_printer = new()|
The line printer is a global object that can be used with uvm_object::do_print to get single-line style printing.
|uvm_printer uvm_default_printer = uvm_default_table_printer|
The default printer policy. Used when calls to uvm_object::print or uvm_object::sprint do not specify a printer policy.
The default printer may be set to any legal uvm_printer derived type, including the global line, tree, and table printers described above.
|uvm_comparer uvm_default_comparer = new()|
The default compare policy. Used when calls to uvm_object::compare do not specify a comparer policy.
|uvm_recorder uvm_default_recorder = new()|
The default recording policy. Used when calls to uvm_object::record do not specify a recorder policy.