Removes any locks or grabs obtained by this sequence on the specified sequencer.
function void ungrab( uvm_sequencer_base sequencer = null )
Removes any locks or grabs obtained by this sequence on the specified sequencer.
function void unlock( uvm_sequencer_base sequencer = null )
Unlocks the data value
function void unlock()
function int unpack ( ref bit bitstream[], input uvm_packer packer = null )
function int unpack_bytes ( ref byte unsigned bytestream[], input uvm_packer packer = null )
Unpacks bits from the pack array and returns the bit-stream that was unpacked.
virtual function uvm_bitstream_t unpack_field ( 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 )
The unpack methods extract property values from an array of bits, bytes, or ints.
function int unpack_ints ( ref int unsigned intstream[], input uvm_packer packer = null )
Unpacks an object and stores the result into value.
virtual function void unpack_object ( uvm_object value )
Unpacks the next 64 bits of the pack array and places them into a real variable.
virtual function real unpack_real ()
Unpacks a string.
virtual function string unpack_string ()
Unpacks the next 64 bits of the pack array and places them into a time variable.
virtual function time unpack_time ()
This is the string which should be prepended to the value of an integral type when a radix of UVM_UNSIGNED is used for the radix of the integral object.
string unsigned_radix = "'d"
Batch update of register.
virtual task update( output uvm_status_e status, input uvm_door_e path = UVM_DEFAULT_DOOR, input uvm_sequence_base parent = null, input int prior = -1, input uvm_object extension = null, input string fname = "", input int lineno = 0 )
Returns 1 if the component should call apply_config_settings in the build_phase; otherwise, returns 0.
virtual function bit use_automatic_config()
When called with enable set to 1, responses will be sent to the response handler.
function void use_response_handler( bit enable )
Returns the number of entries put into the FIFO.
virtual function int used()
The uvm_agent virtual class should be used as the base class for the user- defined agents.
virtual class uvm_agent extends uvm_component
Compares two streams of data objects of different types, BEFORE and AFTER.
class uvm_algorithmic_comparator #( type BEFORE = int, type AFTER = int, type TRANSFORMER = int ) extends uvm_component
Exports a lower-level uvm_analysis_imp to its parent.
class uvm_analysis_export #( type T = int ) extends uvm_port_base #(uvm_tlm_if_base #(T,T))
Receives all transactions broadcasted by a uvm_analysis_port.
class uvm_analysis_imp #( type T = int, type IMP = int ) extends uvm_port_base #(uvm_tlm_if_base #(T,T))
Broadcasts a value to all subscribers implementing a uvm_analysis_imp.
class uvm_analysis_port # ( type T = int ) extends uvm_port_base # (uvm_tlm_if_base #(T,T))
The uvm_barrier class provides a multiprocess synchronization mechanism.
class uvm_barrier extends uvm_object
Converts an input bit-vector to its string equivalent.
function string uvm_bits_to_string( logic [UVM_LARGE_STRING:0] str )
This uvm_bottom_up_visitor_adapter traverses the STRUCTURE s (and will invoke the visitor) in a hierarchical fashion.
class uvm_bottom_up_visitor_adapter#( type STRUCTURE = uvm_component, VISITOR = uvm_visitor#(STRUCTURE) ) extends uvm_visitor_adapter#(STRUCTURE,VISITOR)
Virtual base class for function phases that operate bottom-up.
virtual class uvm_bottomup_phase extends uvm_phase
Create and configure of testbench structure
class uvm_build_phase extends uvm_topdown_phase
This policy class is used to clone built-in types via the = operator.
class uvm_built_in_clone #( type T = int )
This policy class is used to compare built-in types.
class uvm_built_in_comp #( type T = int )
This policy class is used to convert built-in types to strings.
class uvm_built_in_converter #( type T = int )
Container holding two variables of built-in types (int, string, etc.)
class uvm_built_in_pair #( type T1 = int, T2 = T1 ) extends uvm_object
This uvm_by_level_visitor_adapter traverses the STRUCTURE s (and will invoke the visitor) in a hierarchical fashion.
class uvm_by_level_visitor_adapter#( type STRUCTURE = uvm_component, VISITOR = uvm_visitor#(STRUCTURE) ) extends uvm_visitor_adapter#(STRUCTURE,VISITOR)
The uvm_callback class is the base class for user-defined callback classes.
class uvm_callback extends uvm_object
The uvm_callback_iter class is an iterator class for iterating over callback queues of a specific callback type.
class uvm_callback_iter#( type T = uvm_object, type CB = uvm_callback )
The uvm_cause_effect_link is used to represent a Cause/Effect relationship between two objects.
class uvm_cause_effect_link extends uvm_link_base
This policy class is used to clone class objects.
class uvm_class_clone #( type T = int )
This policy class is used to compare two objects of the same type.
class uvm_class_comp #( type T = int )
This policy class is used to convert a class object to a string.
class uvm_class_converter #( type T = int )
Container holding handles to two objects whose types are specified by the type parameters, T1 and T2.
class uvm_class_pair #( type T1 = int, T2 = T1 ) 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
The uvm_comparer class provides a policy object for doing comparisons.
class uvm_comparer extends uvm_policy
The library implements the following public API beyond what is documented in 1800.2.
virtual class uvm_component extends uvm_report_object
This specialized visitor analyze the naming of the current component.
class uvm_component_name_check_visitor extends uvm_visitor#( uvm_component )
The class is providing the proxy to extract the direct subcomponents of s
class uvm_component_proxy extends uvm_structure_proxy#( uvm_component )
This class contains static functions for manipulating and retrieving options that control the behavior of the configuration DB facility.
class uvm_config_db_options
Establish cross-component connections.
class uvm_connect_phase extends uvm_bottomup_phase
The library implements the following public API in addition to what is documented in IEEE 1800.2.
virtual class uvm_coreservice_t
Implementation of the uvm_default_coreservice_t as defined in section F.4.2.1 of 1800.2-2020.
class uvm_default_coreservice_t extends uvm_coreservice_t
Default implementation of the UVM factory.
class uvm_default_factory extends uvm_factory
Default implementation of the UVM report server, as defined in section 6.5.2 of 1800.2-2020
class uvm_default_report_server extends uvm_report_server
Phasing schedule node representing an independent branch of the schedule.
class uvm_domain extends uvm_phase
The base class for drivers that initiate requests for new transactions via a uvm_seq_item_pull_port.
class uvm_driver #( type REQ = uvm_sequence_item, type RSP = REQ ) extends uvm_component
Fine-tune the testbench.
class uvm_end_of_elaboration_phase extends uvm_bottomup_phase
The uvm_enum_wrapper#(T) class is a utility mechanism provided as a convenience to the end user.
class uvm_enum_wrapper#( type T = uvm_active_passive_enum )
The base class for hierarchical containers of other components that together comprise a complete environment.
virtual class uvm_env extends uvm_component
This is an implementation of uvm_event#(T) as described in 1800.2 with the addition of API described below.
class uvm_event#( type T = uvm_object ) extends uvm_event_base
The uvm_event_base class is an abstract wrapper class around the SystemVerilog event construct.
virtual class uvm_event_base extends uvm_object
The uvm_event_callback class is an abstract class that is used to create callback objects which may be attached to uvm_event#(T)s.
virtual class uvm_event_callback#( type T = uvm_object ) extends uvm_callback
As the name implies, uvm_factory is used to manufacture (create) UVM objects and components.
virtual class uvm_factory
Tie up loose ends.
class uvm_final_phase extends uvm_topdown_phase
Returns the nearest uvm_report_object when called.
function uvm_report_object uvm_get_report_object()
Provides a ‘Get-To-Lock’ Data Access Policy.
class uvm_get_to_lock_dap#( type T = int ) extends uvm_set_get_dap_base#(T)
Checks that the given HDL path exists.
import "DPI-C" context function int uvm_hdl_check_path( string path )
Sets the given HDL path to the specified value.
import "DPI-C" context function int uvm_hdl_deposit( string path, uvm_hdl_data_t value )
Forces the value on the given path.
import "DPI-C" context function int uvm_hdl_force( string path, uvm_hdl_data_t value )
Forces the value on the given path for the specified amount of force_time.
task uvm_hdl_force_time( string path, uvm_hdl_data_t value, time force_time = 0 )
Sets the maximum size bit vector for backdoor access.
parameter int UVM_HDL_MAX_WIDTH = `UVM_HDL_MAX_WIDTH
Concatenation of HDL variables
class uvm_hdl_path_concat
Gets the value at the given path.
import "DPI-C" context function int uvm_hdl_read( string path, output uvm_hdl_data_t value )
Releases a value previously set with uvm_hdl_force.
import "DPI-C" context function int uvm_hdl_release( string path )
Releases a value previously set with uvm_hdl_force.
import "DPI-C" context function int uvm_hdl_release_and_read( string path, inout uvm_hdl_data_t value )
This class uses the uvm_built_in_* comparison, converter, and pair classes.
class uvm_in_order_built_in_comparator #( type T = int ) extends uvm_in_order_comparator #(T)
This class uses the uvm_class_* comparison, converter, and pair classes.
class uvm_in_order_class_comparator #( type T = int ) extends uvm_in_order_comparator #( T , uvm_class_comp #( T ) , uvm_class_converter #( T ) , uvm_class_pair #( T, T ) )
Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2020.
function void uvm_init( uvm_coreservice_t cs = null )
The line printer prints output in a line format.
class uvm_line_printer extends uvm_tree_printer
Memory abstraction base class
class uvm_mem extends uvm_object
Verify the accessibility of all memories in a block by executing the uvm_mem_single_access_seq sequence on every memory within it.
class uvm_mem_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Memory allocation manager
class uvm_mem_mam
An instance of this class is randomized to determine the starting offset of a randomly allocated memory region.
class uvm_mem_mam_policy
Allocated memory region descriptor
class uvm_mem_region
Verify the accessibility of a shared memory by writing through each address map then reading it via every other address maps in which the memory is readable and the backdoor, making sure that the resulting value matches the written value.
class uvm_mem_shared_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Verify the accessibility of a memory by writing through its default address map then reading it via the backdoor, then reversing the process, making sure that the resulting value matches the written value.
class uvm_mem_single_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Runs the walking-ones algorithm on the memory given by the mem property, which must be assigned prior to starting this sequence.
class uvm_mem_single_walk_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Verifies the all memories in a block by executing the uvm_mem_single_walk_seq sequence on every memory within it.
class uvm_mem_walk_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
This class should be used as the base class for user-defined monitors.
virtual class uvm_monitor extends uvm_component
The uvm_object class is the base class for all UVM data and hierarchical classes.
virtual class uvm_object extends uvm_void
This provides a specialization of the generic uvm_pool #(KEY,T) class for an associative array of uvm_object-based objects indexed by string.
class uvm_object_string_pool #( type T = uvm_object ) extends uvm_pool #(string,T)
The uvm_object_wrapper provides an abstract interface for creating object and component proxies.
virtual class uvm_object_wrapper
Objections provide a facility for coordinating status information between two or more participating components, objects, and even module-based IP.
class uvm_objection extends uvm_report_object
The uvm_objection is the callback type that defines the callback implementations for an objection callback.
class uvm_objection_callback extends uvm_callback
The uvm_parent_child_link is used to represent a Parent/Child relationship between two objects.
class uvm_parent_child_link extends uvm_link_base
This base class defines everything about a phase: behavior, state, and context.
class uvm_phase extends uvm_object
This class defines a callback method that is invoked by the phaser during the execution of a specific node in the phase graph or all phase nodes.
class uvm_phase_cb extends uvm_callback
Phase state transition descriptor.
class uvm_phase_state_change extends uvm_object
The abstract uvm_policy class provides a common base from which all UVM policy classes derive Implementation as per Section 16.1 UVM Policy
virtual class uvm_policy extends uvm_object
Implements a class-based dynamic associative array.
class uvm_pool #( type KEY = int, T = uvm_void ) extends uvm_object
The library implements the following public API beyond what is documented in 1800.2.
virtual class uvm_port_base #( type IF = uvm_void ) extends IF
This implementation of uvm_port_component class from IEEE 1800.2 declares all the API described in the LRM, plus it inherits from uvm_port_component_base for the purpose of providing the get_connected_to() method.
class uvm_port_component #( type PORT = uvm_object ) extends uvm_port_component_base
This class defines an interface for obtaining a port’s connectivity lists after or during the end_of_elaboration phase.
virtual class uvm_port_component_base extends uvm_component
Associative array of uvm_port_component_base class handles, indexed by string
typedef uvm_port_component_base uvm_port_list[string]
This method, defined in package scope, is a convenience function that delegate to the corresponding component method in uvm_top.
function void uvm_process_report_message( uvm_report_message report_message )
This method takes a preformed uvm_report_message, populates it with the report object and passes it to the report handler for processing.
virtual function void uvm_process_report_message( uvm_report_message report_message )
Base class for a driver that passively receives transactions, i.e.
class uvm_push_driver #( type REQ = uvm_sequence_item, type RSP = REQ ) extends uvm_component
class uvm_push_sequencer #( type REQ = uvm_sequence_item, RSP = REQ ) extends uvm_sequencer_param_base #(REQ, RSP)
Implements a class-based dynamic queue.
class uvm_queue #( type T = int ) extends uvm_object
A general purpose unidirectional random stimulus class.
`ifdef UVM_ENABLE_DEPRECATED_API class uvm_random_stimulus #( type T = uvm_transaction ) extends uvm_component
Abstract class which defines the recorder API.
virtual class uvm_recorder extends uvm_policy
This is an implementation of uvm_reg as described in 1800.2 with the addition of API described below.
class uvm_reg extends uvm_object
Verify the accessibility of all registers in a block by executing the uvm_reg_single_access_seq sequence on every register within it.
class uvm_reg_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
This class defines an interface for converting between uvm_reg_bus_op and a specific bus transaction.
virtual class uvm_reg_adapter extends uvm_object
Base class for user-defined back-door register and memory access.
virtual class uvm_reg_backdoor extends uvm_object
Verify the implementation of all registers in a block by executing the uvm_reg_single_bit_bash_seq sequence on it.
class uvm_reg_bit_bash_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Facade class for field, register, memory and backdoor access callback methods.
class uvm_reg_cbs extends uvm_callback
This is an implementation of uvm_reg_field as described in 1800.2 with the addition of API described below.
class uvm_reg_field extends uvm_object
This special register models a DUT FIFO accessed via write/read, where writes push to the FIFO and reads pop from it.
class uvm_reg_fifo extends uvm_reg
Test the hard reset values of registers
class uvm_reg_hw_reset_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Indirect data access abstraction class
class uvm_reg_indirect_data extends uvm_reg
Defines an abstract register transaction item.
class uvm_reg_item extends uvm_sequence_item
class uvm_reg_map extends uvm_object
Verify the accessibility of all registers and memories in a block by executing the uvm_reg_access_seq and uvm_mem_access_seq sequence respectively on every register and memory within it.
class uvm_reg_mem_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Sequence that executes a user-defined selection of pre-defined register and memory test sequences.
class uvm_reg_mem_built_in_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Verify the correctness of HDL paths specified for registers and memories.
class uvm_reg_mem_hdl_paths_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Verify the accessibility of all shared registers and memories in a block by executing the uvm_reg_shared_access_seq and uvm_mem_shared_access_seq sequence respectively on every register and memory within it.
class uvm_reg_mem_shared_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Updates the register model mirror based on observed bus transactions
class uvm_reg_predictor #( type BUSTYPE = int ) extends uvm_component
General register random value generator.
class uvm_reg_randval
Pre-defined register callback method for read-only registers that will issue an error if a write() operation is attempted.
class uvm_reg_read_only_cbs extends uvm_reg_cbs
This class provides base functionality for both user-defined RegModel test sequences and “register translation sequences”.
class uvm_reg_sequence #( type BASE = uvm_sequence #(uvm_reg_item) ) extends BASE
Verify the accessibility of a shared register by writing through each address map then reading it via every other address maps in which the register is readable and the backdoor, making sure that the resulting value matches the mirrored value.
class uvm_reg_shared_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Verify the accessibility of a register by writing through its default address map then reading it via the backdoor, then reversing the process, making sure that the resulting value matches the mirrored value.
class uvm_reg_single_access_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
Verify the implementation of a single register by attempting to write 1’s and 0’s to every bit in it, via every address map in which the register is mapped, making sure that the resulting value matches the mirrored value.
class uvm_reg_single_bit_bash_seq extends uvm_reg_sequence #( uvm_sequence #(uvm_reg_item) )
For converting between uvm_reg_bus_op and uvm_tlm_gp items.
class uvm_reg_tlm_adapter extends uvm_reg_adapter
Pre-defined register callback method for write-only registers that will issue an error if a read() operation is attempted.
class uvm_reg_write_only_cbs extends uvm_reg_cbs
This is a helper class which implements the functioanlity that is identical between uvm_component_registry and uvm_abstract_component_registry.
class uvm_registry_common #( type Tregistry = int, type Tcreator = int, type Tcreated = int, string Tname = "<unknown>" )
The uvm_related_link is used to represent a generic “is related” link between two objects.
class uvm_related_link extends uvm_link_base
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 )
Issues a message using the current message’s report object.
protected function void uvm_report( uvm_severity severity, string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
virtual function void uvm_report( uvm_severity severity, string id, string message,
virtual class uvm_report_catcher extends uvm_callback
Returns 1 if the configured verbosity in uvm_top for this severity/id is greater than or equal to verbosity else returns 0.
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.
function int uvm_report_enabled( int verbosity, uvm_severity severity = UVM_INFO, string id = "" )
function void uvm_report_error( string id, string message, int verbosity = UVM_NONE, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues an error message using the current message’s report object.
protected function void uvm_report_error( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
virtual function void uvm_report_error( string id, string message, int verbosity = UVM_NONE, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
virtual function void uvm_report_error( 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_report_fatal( string id, string message, int verbosity = UVM_NONE, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Issues a fatal message using the current message’s report object.
protected function void uvm_report_fatal( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
These are the primary reporting methods in the UVM.
virtual 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 are the primary reporting methods in the UVM.
virtual 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 )
The uvm_report_handler is the class to which most methods in uvm_report_object delegate.
class uvm_report_handler extends uvm_object
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 )
Issues a info message using the current message’s report object.
protected function void uvm_report_info( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
virtual 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 )
virtual 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 )
The uvm_report_message is the basic UVM object message class.
class uvm_report_message extends uvm_object
Base class for report message element.
virtual class uvm_report_message_element_base
A container used by report message to contain the dynamically added elements, with APIs to add and delete the elements.
class uvm_report_message_element_container extends uvm_object
Message element class for integral type
class uvm_report_message_int_element extends uvm_report_message_element_base
Message element class for object type
class uvm_report_message_object_element extends uvm_report_message_element_base
Message element class for string type
class uvm_report_message_string_element extends uvm_report_message_element_base
The uvm_report_object provides an interface to the UVM reporting facility.
class uvm_report_object extends uvm_object
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 )
Issues a warning message using the current message’s report object.
protected function void uvm_report_warning( string id, string message, int verbosity, string fname = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
virtual function void uvm_report_warning( string id, string message, int verbosity = UVM_NONE, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
virtual function void uvm_report_warning( string id, string message, int verbosity = UVM_NONE, string filename = "", int line = 0, string context_name = "", bit report_enabled_checked = 0 )
Implementation of uvm_resource#(T) as defined in section C.2.5.1 of 1800.2-2020.
class uvm_resource #( type T = int ) extends uvm_resource_base
Implementation of uvm_resource_db, as defined in section C.3.2.1 of 1800.2-2020.
class uvm_resource_db #( type T = uvm_object )
This class contains static functions for manipulating and retrieving options that control the behavior of the resources DB facility.
class uvm_resource_db_options
The global (singleton) resource database.
class uvm_resource_pool
Provides typedefs and enums used throughout the resources facility.
class uvm_resource_types
The uvm_scoreboard virtual class should be used as the base class for user-defined scoreboards.
virtual class uvm_scoreboard extends uvm_component
This export type is used in sequencer-driver communication.
class uvm_seq_item_pull_export #( type REQ = int, type RSP = REQ ) extends uvm_port_base #(uvm_sqr_if_base #(REQ, RSP))
This imp type is used in sequencer-driver communication.
class uvm_seq_item_pull_imp #( type REQ = int, type RSP = REQ, type IMP = int ) extends uvm_port_base #(uvm_sqr_if_base #(REQ, RSP))
UVM provides a port, export, and imp connector for use in sequencer-driver communication.
class uvm_seq_item_pull_port #( type REQ = int, type RSP = REQ ) extends uvm_port_base #(uvm_sqr_if_base #(REQ, RSP))
The uvm_sequence class provides the interfaces necessary in order to create streams of sequence items and/or other sequences.
virtual class uvm_sequence #( type REQ = uvm_sequence_item, type RSP = REQ ) extends uvm_sequence_base
The uvm_sequence_base class provides the interfaces needed to create streams of sequence items and/or other sequences.
virtual class uvm_sequence_base extends uvm_sequence_item
The base class for user-defined sequence items and also the base class for the uvm_sequence class.
class uvm_sequence_item extends uvm_transaction
The uvm_sequence_library is a sequence that contains a list of registered sequence types.
class uvm_sequence_library #( type REQ = uvm_sequence_item, RSP = REQ ) extends uvm_sequence #(REQ,RSP)
A convenient container class for configuring all the sequence library parameters using a single set command.
class uvm_sequence_library_cfg extends uvm_object
class uvm_sequencer #( type REQ = uvm_sequence_item, RSP = REQ ) extends uvm_sequencer_param_base #(REQ, RSP)
The library implements some public API beyond what is documented in 1800.2.
virtual class uvm_sequencer_base extends uvm_component
Extends uvm_sequencer_base with an API depending on specific request (REQ) and response (RSP) types.
virtual class uvm_sequencer_param_base #( type REQ = uvm_sequence_item, type RSP = REQ ) extends uvm_sequencer_base
Provides a ‘Set Before Get’ Data Access Policy.
class uvm_set_before_get_dap#( type T = int ) extends uvm_set_get_dap_base#(T)
Provides the ‘set’ and ‘get’ interface for Data Access Policies (DAPs)
virtual class uvm_set_get_dap_base#( type T = int ) extends uvm_object
Provides a ‘Simple Lock’ Data Access Policy.
class uvm_simple_lock_dap#( type T = int ) extends uvm_set_get_dap_base#(T)
Returns a queue of strings, values, that is the result of the str split based on the sep.
function automatic void uvm_split_string ( string str, byte sep, ref string values[$] )
This class defines an interface for sequence drivers to communicate with sequencers.
virtual class uvm_sqr_if_base #( type T1 = uvm_object, T2 = T1 )
Get ready for DUT to be simulated.
class uvm_start_of_simulation_phase extends uvm_bottomup_phase
Returns a queue of strings, values, that is the result of the str split based on the sep.
function automatic void uvm_string_split ( string str, byte sep, ref string values[$] )
Converts an input string to its bit-vector equivalent.
function logic[UVM_LARGE_STRING:0] uvm_string_to_bits( string str )
This class provides an analysis export for receiving transactions from a connected analysis export.
virtual class uvm_subscriber #( type T = int ) extends uvm_component
The table printer prints output in a tabular format.
class uvm_table_printer extends uvm_printer
Base class for all task phases.
virtual class uvm_task_phase extends uvm_phase
This class is the virtual base class for the user-defined tests.
virtual class uvm_test extends uvm_component
The uvm_text_recorder is the default recorder implementation for the uvm_text_tr_database.
class uvm_text_recorder extends uvm_recorder
The uvm_text_tr_database is the default implementation for the uvm_tr_database.
class uvm_text_tr_database extends uvm_tr_database
The uvm_text_tr_stream is the default stream implementation for the uvm_text_tr_database.
class uvm_text_tr_stream extends uvm_tr_stream
IS-A forward port; has no backward path except via the payload contents
class uvm_tlm_b_initiator_socket #( type T = uvm_tlm_generic_payload ) extends uvm_tlm_b_initiator_socket_base #(T)
IS-A forward port; has no backward path except via the payload contents
virtual class uvm_tlm_b_initiator_socket_base #( type T = uvm_tlm_generic_payload ) extends uvm_port_base #(uvm_tlm_if #(T))
IS-A forward port;
class uvm_tlm_b_passthrough_initiator_socket #( type T = uvm_tlm_generic_payload ) extends uvm_tlm_b_passthrough_initiator_socket_base #(T)
IS-A forward port
virtual class uvm_tlm_b_passthrough_initiator_socket_base #( type T = uvm_tlm_generic_payload ) extends uvm_port_base #(uvm_tlm_if #(T))
IS-A forward export
virtual class uvm_tlm_b_passthrough_target_socket_base #( type T = uvm_tlm_generic_payload ) extends uvm_port_base #(uvm_tlm_if #(T))
IS-A forward imp; has no backward path except via the payload contents.
class uvm_tlm_b_target_socket #( type IMP = int, type T = uvm_tlm_generic_payload ) extends uvm_tlm_b_target_socket_base #(T)
IS-A forward imp; has no backward path except via the payload contents.
virtual class uvm_tlm_b_target_socket_base #( type T = uvm_tlm_generic_payload ) extends uvm_port_base #(uvm_tlm_if #(T))
Blocking transport export class.
class uvm_tlm_b_transport_export #( type T = uvm_tlm_generic_payload ) extends uvm_port_base #(uvm_tlm_if #(T))
Used like exports, except an additional class parameter specifies the type of the implementation object.
class uvm_tlm_b_transport_imp #( type T = uvm_tlm_generic_payload, type IMP = int ) extends uvm_port_base #(uvm_tlm_if #(T))
Class providing the blocking transport port.
class uvm_tlm_b_transport_port #( type T = uvm_tlm_generic_payload ) extends uvm_port_base #(uvm_tlm_if #(T))
UVM TLM extension class.
class uvm_tlm_extension #( type T = int ) extends uvm_tlm_extension_base
This class is the base for uvm_tlm_fifo#(T).
virtual class uvm_tlm_fifo_base #( type T = int ) extends uvm_component
Implementation of uvm_tlm_generic_payload, as described in section 12.3.4.2.1 of 1800.2-2020.
class uvm_tlm_generic_payload extends uvm_sequence_item
This typedef provides a short, more convenient name for the uvm_tlm_generic_payload type.
typedef uvm_tlm_generic_payload uvm_tlm_gp
Base class type to define the transport functions.
class uvm_tlm_if #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e )
This class declares all of the methods of the UVM TLM API.
virtual class uvm_tlm_if_base #( type T1 = int, type T2 = int )
IS-A forward port; HAS-A backward imp
class uvm_tlm_nb_initiator_socket #( type IMP = int, type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_tlm_nb_initiator_socket_base #(T,P)
IS-A forward port; HAS-A backward imp
virtual class uvm_tlm_nb_initiator_socket_base #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
IS-A forward port; HAS-A backward export
class uvm_tlm_nb_passthrough_initiator_socket #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_tlm_nb_passthrough_initiator_socket_base #(T,P)
IS-A forward port; HAS-A backward export
virtual class uvm_tlm_nb_passthrough_initiator_socket_base #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
IS-A forward export; HAS-A backward port
class uvm_tlm_nb_passthrough_target_socket #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_tlm_nb_passthrough_target_socket_base #(T,P)
IS-A forward export; HAS-A backward port
virtual class uvm_tlm_nb_passthrough_target_socket_base #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
IS-A forward imp; HAS-A backward port
class uvm_tlm_nb_target_socket #( type IMP = int, type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_tlm_nb_target_socket_base #(T,P)
IS-A forward imp; HAS-A backward port
virtual class uvm_tlm_nb_target_socket_base #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
Non-blocking backward transport export class
class uvm_tlm_nb_transport_bw_export #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
Used like exports, except an additional class parameter specifies the type of the implementation object.
class uvm_tlm_nb_transport_bw_imp #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e, type IMP = int ) extends uvm_port_base #(uvm_tlm_if #(T,P))
Class providing the non-blocking backward transport port.
class uvm_tlm_nb_transport_bw_port #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
Non-blocking forward transport export class
class uvm_tlm_nb_transport_fw_export #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
Used like exports, except an additional class parameter specifies the type of the implementation object.
class uvm_tlm_nb_transport_fw_imp #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e, type IMP = int ) extends uvm_port_base #(uvm_tlm_if #(T,P))
Class providing the non-blocking backward transport port.
class uvm_tlm_nb_transport_fw_port #( type T = uvm_tlm_generic_payload, type P = uvm_tlm_phase_e ) extends uvm_port_base #(uvm_tlm_if #(T,P))
The uvm_tlm_req_rsp_channel contains a request FIFO of type REQ and a response FIFO of type RSP.
class uvm_tlm_req_rsp_channel #( type REQ = int, type RSP = REQ ) extends uvm_component
A uvm_tlm_transport_channel is a uvm_tlm_req_rsp_channel #(REQ,RSP) that implements the transport interface.
class uvm_tlm_transport_channel #( type REQ = int, type RSP = REQ ) extends uvm_tlm_req_rsp_channel #(REQ, RSP)
This uvm_top_down_visitor_adapter traverses the STRUCTURE s (and will invoke the visitor) in a hierarchical fashion.
class uvm_top_down_visitor_adapter#( type STRUCTURE = uvm_component, VISITOR = uvm_visitor#(STRUCTURE) ) extends uvm_visitor_adapter#(STRUCTURE,VISITOR)
Virtual base class for function phases that operate top-down.
virtual class uvm_topdown_phase extends uvm_phase
The uvm_tr_database class is intended to hide the underlying database implementation from the end user, as these details are often vendor or tool-specific.
virtual class uvm_tr_database extends uvm_object
The uvm_transaction class is the root base class for UVM transactions.
virtual class uvm_transaction extends uvm_object
By overriding various methods of the uvm_printer super class, the tree printer prints output in a tree format.
class uvm_tree_printer extends uvm_printer
The uvm_void class is the base class for all UVM classes.
virtual class uvm_void
Virtual register abstraction base class
class uvm_vreg extends uvm_object
Pre/post read/write callback facade class
virtual class uvm_vreg_cbs extends uvm_callback
Virtual field abstraction class
class uvm_vreg_field extends uvm_object
Pre/post read/write callback facade class
virtual class uvm_vreg_field_cbs extends uvm_callback
This task will block until SystemVerilog’s NBA region (or Re-NBA region if called from a program context).
task uvm_wait_for_nba_region