This class uses the ovm_built_in_* comparison, converter, and pair classes.
class ovm_in_order_built_in_comparator #( type T = int ) extends ovm_in_order_comparator #(T)
This class uses the ovm_class_* comparison, converter, and pair classes.
class ovm_in_order_class_comparator #( type T = int ) extends ovm_in_order_comparator #( T , ovm_class_comp #( T ) , ovm_class_converter #( T ) , ovm_class_pair #( T, T ) )
The ovm_agent virtual class should be used as the base class for the user- defined agents.
virtual class ovm_agent extends ovm_component
Compares two streams of data objects of different types, BEFORE and AFTER.
class ovm_algorithmic_comparator #( type BEFORE = int, type AFTER = int, type TRANSFORMER = int ) extends ovm_component
The ovm_barrier class provides a multiprocess synchronization mechanism.
class ovm_barrier extends ovm_object
This policy class is used to clone built-in types via the = operator.
class ovm_built_in_clone #( type T = int )
This policy class is used to compare built-in types.
class ovm_built_in_comp #( type T = int )
This policy class is used to convert built-in types to strings.
class ovm_built_in_converter #( type T = int )
Container holding two variables of built-in types (int, string, etc.)
class ovm_built_in_pair #( type T1 = int, T2 = T1 ) extends ovm_transaction
The ovm_callback class is the base class for user-defined callback classes.
class ovm_callback extends ovm_object
The ovm_callbacks class provides a base class for implementing callbacks, which are typically used to modify or augment component behavior without changing the component class.
class ovm_callbacks #( type T = int, CB = int ) extends ovm_pool #(T,ovm_queue #(CB))
This policy class is used to clone class objects.
class ovm_class_clone #( type T = int )
This policy class is used to compare two objects of the same type.
class ovm_class_comp #( type T = int )
This policy class is used to convert a class object to a string.
class ovm_class_converter #( type T = int )
The ovm_comparer class provides a policy object for doing comparisons.
The ovm_component class is the root base class for OVM components.
virtual class ovm_component extends ovm_report_object
The ovm_component_registry serves as a lightweight proxy for a component of type T and type name Tname, a string.
class ovm_component_registry #( type T = ovm_component, string Tname = "<unknown>" ) extends ovm_object_wrapper
The base class for drivers that initiate requests for new transactions via a ovm_seq_item_pull_port.
class ovm_driver #( type REQ = ovm_sequence_item, type RSP = REQ ) extends ovm_component
The base class for hierarchical containers of other components that together comprise a complete environment.
virtual class ovm_env extends ovm_component
The ovm_event class is a wrapper class around the SystemVerilog event construct.
class ovm_event extends ovm_object
The ovm_event_callback class is an abstract class that is used to create callback objects which may be attached to ovm_events.
virtual class ovm_event_callback extends ovm_object
This sequence randomly selects and executes each sequence from the sequencer’s sequence library once, excluding itself and ovm_random_sequence.
class ovm_exhaustive_sequence extends ovm_sequence #( ovm_sequence_item )
As the name implies, ovm_factory is used to manufacture (create) OVM objects and components.
The ovm_hier_printer_knobs is a simple container class that extends ovm_printer::ovm_printer_knobs with settings for printing information hierarchically.
class ovm_hier_printer_knobs extends ovm_printer_knobs
The line printer prints output in a line format.
class ovm_line_printer extends ovm_tree_printer
This class should be used as the base class for user-defined monitors.
virtual class ovm_monitor extends ovm_component
The ovm_object class is the base class for all OVM data and hierarchical classes.
virtual class ovm_object extends ovm_void
The ovm_object_registry serves as a lightweight proxy for an ovm_object of type T and type name Tname, a string.
class ovm_object_registry #( type T = ovm_object, string Tname = "<unknown>" ) extends ovm_object_wrapper
This provides a specialization of the generic ovm_pool #(KEY,T) class for an associative array of ovm_object-based objects indexed by string.
class ovm_object_string_pool #( type T = ovm_object ) extends ovm_pool #(string,T)
The ovm_object_wrapper provides an abstract interface for creating object and component proxies.
virtual class ovm_object_wrapper
Objections provide a facility for coordinating status information between two or more participating components, objects, and even module-based IP.
class ovm_objection extends ovm_report_object
The ovm_phase class is used for defining phases for ovm_component and its subclasses.
virtual class ovm_phase
Implements a class-based dynamic associative array.
class ovm_pool #( type KEY = int, T = ovm_void ) extends ovm_object
Transaction-level communication between components is handled via its ports, exports, and imps, all of which derive from this class.
virtual class ovm_port_base #( type IF = ovm_void ) extends IF
The ovm_printer class provides an interface for printing ovm_objects in various formats.
The ovm_printer_knobs class defines the printer settings available to all printer subtypes.
Base class for a driver that passively receives transactions, i.e.
class ovm_push_driver #( type REQ = ovm_sequence_item, type RSP = REQ ) extends ovm_component
class ovm_push_sequencer #( type REQ = ovm_sequence_item, type RSP = REQ ) extends ovm_sequencer_param_base #(REQ, RSP)
Implements a class-based dynamic queue.
class ovm_queue #( type T = int ) extends ovm_object
This sequence randomly selects and executes a sequence from the sequencer¿s sequence library, excluding ovm_random_sequence itself, and ovm_exhaustive_sequence.
class ovm_random_sequence extends ovm_sequence #( ovm_sequence_item )
A general purpose unidirectional random stimulus class.
class ovm_random_stimulus #( type T = ovm_transaction ) extends ovm_component
The ovm_recorder class provides a policy object for recording ovm_objects.
The ovm_report_handler is the class to which most methods in ovm_report_object delegate.
The ovm_report_object provides an interface to the OVM reporting facility.
class ovm_report_object extends ovm_object
ovm_report_server is a global server that processes all of the reports generated by an ovm_report_handler.
The ovm_root class serves as the implicit top-level and phase controller for all OVM components.
class ovm_root extends ovm_component
The ovm_scoreboard virtual class should be used as the base class for user-defined scoreboards.
virtual class ovm_scoreboard extends ovm_component
This export type is used in sequencer-driver communication.
class ovm_seq_item_pull_export #( type REQ = int, type RSP = REQ ) extends ovm_port_base #(sqr_if_base #(REQ, RSP))
This imp type is used in sequencer-driver communication.
class ovm_seq_item_pull_imp #( type REQ = int, type RSP = REQ, type IMP = int ) extends ovm_port_base #(sqr_if_base #(REQ, RSP))
OVM provides a port, export, and imp connector for use in sequencer-driver communication.
class ovm_seq_item_pull_port #( type REQ = int, type RSP = REQ ) extends ovm_port_base #(sqr_if_base #(REQ, RSP))
The ovm_sequence class provides the interfaces necessary in order to create streams of sequence items and/or other sequences.
virtual class ovm_sequence #( type REQ = ovm_sequence_item, type RSP = REQ ) extends ovm_sequence_base
The ovm_sequence_base class provides the interfaces needed to create streams of sequence items and/or other sequences.
class ovm_sequence_base extends ovm_sequence_item
The base class for user-defined sequence items and also the base class for the ovm_sequence class.
class ovm_sequence_item extends ovm_transaction
class ovm_sequencer #( type REQ = ovm_sequence_item, type RSP = REQ ) extends ovm_sequencer_param_base #(REQ, RSP)
Controls the flow of sequences, which generate the stimulus (sequence item transactions) that is passed on to drivers for execution.
class ovm_sequencer_base extends ovm_component
Provides base functionality used by the ovm_sequencer and ovm_push_sequencer.
class ovm_sequencer_param_base #( type REQ = ovm_sequence_item, type RSP = REQ ) extends ovm_sequencer_base
This sequence simply executes a single sequence item.
class ovm_simple_sequence extends ovm_sequence #( ovm_sequence_item )
This class provides an analysis export for receiving transactions from a connected analysis export.
virtual class ovm_subscriber #( type T = int ) extends ovm_component
The table printer prints output in a tabular format.
class ovm_table_printer extends ovm_printer
The ovm_table_printer_knobs is a simple container class that extends ovm_printer::ovm_hier_printer_knobs with settings specific to printing in table format.
class ovm_table_printer_knobs extends ovm_hier_printer_knobs
This class is the virtual base class for the user-defined tests.
virtual class ovm_test extends ovm_component
Built-in end-of-test coordination
class ovm_test_done_objection extends ovm_objection
The ovm_transaction class is the root base class for OVM transactions.
virtual class ovm_transaction extends ovm_object
By overriding various methods of the ovm_printer super class, the tree printer prints output in a tree format.
class ovm_tree_printer extends ovm_printer
The ovm_tree_printer_knobs is a simple container class that extends ovm_printer::ovm_hier_printer_knobs with settings specific to printing in tree format.
class ovm_tree_printer_knobs extends ovm_hier_printer_knobs
This class defines an interface for sequence drivers to communicate with sequencers.
virtual class sqr_if_base #( type T1 = ovm_object, T2 = T1 )
An analysis_fifo is a tlm_fifo with an unbounded size and a write interface.
class tlm_analysis_fifo #( type T = int ) extends tlm_fifo #(T)
This class provides storage of transactions between two independently running processes.
class tlm_fifo #( type T = int ) extends tlm_fifo_base #(T)
This class is the base for tlm_fifo #(T).
virtual class tlm_fifo_base #( type T = int ) extends ovm_component
This class declares all of the methods of the TLM API.
virtual class tlm_if_base #( type T1 = int, type T2 = int )
The tlm_req_rsp_channel contains a request FIFO of type REQ and a response FIFO of type RSP.
class tlm_req_rsp_channel #( type REQ = int, type RSP = REQ ) extends ovm_component
A tlm_transport_channel is a tlm_req_rsp_channel #(REQ,RSP) that implements the transport interface.
class tlm_transport_channel #( type REQ = int, type RSP = REQ ) extends tlm_req_rsp_channel #(REQ, RSP)