Types and Enumerations | |
Field automation | |
uvm_bitstream_t | The bitstream type is used as a argument type for passing integral values in such methods as uvm_object::set_int_local, uvm_config_int, uvm_printer::print_field, uvm_recorder::record_field, uvm_packer::pack_field and uvm_packer::unpack_field. |
uvm_integral_t | The integral type is used as a argument type for passing integral values of 64 bits or less in such methods as uvm_printer::print_field_int, uvm_recorder::record_field_int, uvm_packer::pack_field_int and uvm_packer::unpack_field_int. |
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. |
Reporting | |
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. |
Port Type | |
uvm_port_type_e | Specifies the type of port |
Sequences | |
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 |
Phasing | |
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_wait_op | Specifies the operand when using methods like uvm_phase::wait_for_state. |
Objections | |
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. |
The bitstream type is used as a argument type for passing integral values in such methods as uvm_object::set_int_local, uvm_config_int, uvm_printer::print_field, uvm_recorder::record_field, uvm_packer::pack_field and uvm_packer::unpack_field.
The integral type is used as a argument type for passing integral values of 64 bits or less in such methods as uvm_printer::print_field_int, uvm_recorder::record_field_int, uvm_packer::pack_field_int and uvm_packer::unpack_field_int.
Specifies the radix to print or record in.
Specifies the policy for copying objects.
UVM_DEEP | Objects are deep copied (object must implement uvm_object::copy method) |
UVM_SHALLOW | Objects are shallow copied using default SV copy. |
UVM_REFERENCE | Only object handles are copied. |
Defines what operations a given field should be involved in. Bitwise OR all that apply.
UVM_DEFAULT | All field operations turned on |
UVM_COPY | Field will participate in uvm_object::copy |
UVM_COMPARE | Field will participate in uvm_object::compare |
UVM_PRINT | Field will participate in uvm_object::print |
UVM_RECORD | Field will participate in uvm_object::record |
UVM_PACK | Field will participate in uvm_object::pack |
UVM_NOCOPY | Field will not participate in uvm_object::copy |
UVM_NOCOMPARE | Field will not participate in uvm_object::compare |
UVM_NOPRINT | Field will not participate in uvm_object::print |
UVM_NORECORD | Field will not participate in uvm_object::record |
UVM_NOPACK | Field will not participate in uvm_object::pack |
UVM_DEEP | Object field will be deep copied |
UVM_SHALLOW | Object field will be shallow copied |
UVM_REFERENCE | Object field will copied by reference |
UVM_READONLY | Object field will NOT be automatically configured. |
Defines all possible values for report severity.
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.
Defines standard verbosity levels for reports.
Specifies the type of port
Specifies a sequencer’s arbitration mode
Defines current sequence state
UVM_CREATED | The sequence has been allocated. |
UVM_PRE_START | The sequence is started and the uvm_sequence_base::pre_start() task is being executed. |
UVM_PRE_BODY | The sequence is started and the uvm_sequence_base::pre_body() task is being executed. |
UVM_BODY | The sequence is started and the uvm_sequence_base::body() task is being executed. |
UVM_ENDED | The sequence has completed the execution of the uvm_sequence_base::body() task. |
UVM_POST_BODY | The sequence is started and the uvm_sequence_base::post_body() task is being executed. |
UVM_POST_START | The sequence is started and the uvm_sequence_base::post_start() task is being executed. |
UVM_STOPPED | The sequence has been forcibly ended by issuing a uvm_sequence_base::kill() on the sequence. |
UVM_FINISHED | The sequence is completely finished executing. |
This is an attribute of a uvm_phase object which defines the phase type.
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
UNINITIALIZED -> DORMANT -> SCHED -> SYNC -> START -> EXEC -> READY -> END -+-> CLEAN -> DONE ^ | | <-- jump_to | +-------------------------------------------- JUMPING< -+
Specifies the operand when using methods like uvm_phase::wait_for_state.
UVM_EQ | equal |
UVM_NE | not equal |
UVM_LT | less than |
UVM_LTE | less than or equal to |
UVM_GT | greater than |
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_packer uvm_default_packer = new()
The default packer policy. Used when calls to uvm_object::pack and uvm_object::unpack do not specify a packer policy.
uvm_comparer uvm_default_comparer = new()
The default compare policy. Used when calls to uvm_object::compare do not specify a comparer policy.
virtual function void set_int_local ( string field_name, uvm_bitstream_t value, bit recurse = 1 )
Prints an integral field (up to 4096 bits).
virtual function void print_field ( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix = UVM_NORADIX, byte scope_separator = ".", string type_name = "" )
Records an integral field (less than or equal to 4096 bits).
function void record_field( string name, uvm_bitstream_t value, int size, uvm_radix_enum radix = UVM_NORADIX )
Packs an integral value (less than or equal to 4096 bits) into the packed array.
virtual function void pack_field ( uvm_bitstream_t value, int size )
Unpacks bits from the pack array and returns the bit-stream that was unpacked.
virtual function uvm_bitstream_t unpack_field ( int size )
Prints an integral field (up to 64 bits).
virtual function void print_field_int ( string name, uvm_integral_t value, int size, uvm_radix_enum radix = UVM_NORADIX, byte scope_separator = ".", string type_name = "" )
Records an integral field (less than or equal to 64 bits).
function void record_field_int( string name, uvm_integral_t value, int size, uvm_radix_enum radix = UVM_NORADIX )
Packs the integral value (less than or equal to 64 bits) into the pack array.
virtual function void pack_field_int ( uvm_integral_t value, int size )
Unpacks bits from the pack array and returns the bit-stream that was unpacked.
virtual function uvm_integral_t unpack_field_int ( int size )
This base class defines everything about a phase: behavior, state, and context.
class uvm_phase extends uvm_object
Wait until this phase compares with the given state and op operand.
task wait_for_state( uvm_phase_state state, uvm_wait_op op = UVM_EQ )
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
The table printer is a global object that can be used with uvm_object::do_print to get tabular style printing.
uvm_table_printer uvm_default_table_printer = new()
The do_print method is the user-definable hook called by print and sprint that allows users to customize what gets printed or sprinted beyond the field information provided by the `uvm_field_* macros, Utility and Field Macros for Components and Objects.
virtual function void do_print ( uvm_printer 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_tree_printer uvm_default_tree_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_line_printer uvm_default_line_printer = new()
The default printer policy.
uvm_printer uvm_default_printer = uvm_default_table_printer
The default packer policy.
uvm_packer uvm_default_packer = new()
The default compare policy.
uvm_comparer uvm_default_comparer = new()
The copy makes this object a copy of the specified object.
function void copy ( uvm_object rhs )
Deep compares members of this data object with those of the object provided in the rhs (right-hand side) argument, returning 1 on a match, 0 otherwise.
function bit compare ( uvm_object rhs, uvm_comparer comparer = null )
The print method deep-prints this object’s properties in a format and manner governed by the given printer argument; if the printer argument is not provided, the global uvm_default_printer is used.
function void print ( uvm_printer printer = null )
The record method deep-records this object’s properties according to an optional recorder policy.
function void record ( uvm_recorder recorder = null )
function int pack ( ref bit bitstream[], input uvm_packer packer = null )
This task is a user-definable callback that is called before the optional execution of pre_body.
virtual task pre_start()
This task is a user-definable callback that is called before the execution of body only when the sequence is started with start.
virtual task pre_body()
This is the user-defined task where the main sequence code resides.
virtual task body()
This task is a user-definable callback task that is called after the execution of body only when the sequence is started with start.
virtual task post_body()
This task is a user-definable callback that is called after the optional execution of post_body.
virtual task post_start()
This function will kill the sequence, and cause all current locks and requests in the sequence’s default sequencer to be removed.
function void kill()
Waits for the raised, dropped, or all_dropped event to occur in the given obj.
task wait_for( uvm_objection_event objt_event, uvm_object obj = null )
The sprint method works just like the print method, except the output is returned in a string rather than displayed.
function string sprint ( uvm_printer printer = null )
The uvm_printer class provides an interface for printing uvm_objects in various formats.
virtual class uvm_printer
function int unpack ( ref bit bitstream[], input uvm_packer packer = null )