Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
$#!
 `ovm_analysis_imp_decl
 `ovm_blocking_get_imp_decl
 `ovm_blocking_get_peek_imp_decl
 `ovm_blocking_master_imp_decl
 `ovm_blocking_peek_imp_decl
 `ovm_blocking_put_imp_decl
 `ovm_blocking_slave_imp_decl
 `ovm_blocking_transport_imp_decl
 `ovm_component_end
 `ovm_component_param_utils
 `ovm_component_param_utils_begin
 `ovm_component_utils
 `ovm_component_utils_begin
 `ovm_create
 `ovm_create_on
 `ovm_declare_p_sequencer
 `ovm_do
 `ovm_do_callbacks
 `ovm_do_callbacks_exit_on
 `ovm_do_ext_task_callbacks
 `ovm_do_obj_callbacks
 `ovm_do_obj_callbacks_exit_on
 `ovm_do_on
 `ovm_do_on_pri
 `ovm_do_on_pri_with
 `ovm_do_on_with
 `ovm_do_pri
 `ovm_do_pri_with
 `ovm_do_task_callbacks
 `ovm_do_with
 `ovm_error
 `ovm_fatal
 `ovm_field_*macros
 `ovm_field_aa_*_int macros
 `ovm_field_aa_*_string macros
 `ovm_field_aa_int_byte
 `ovm_field_aa_int_byte_unsigned
 `ovm_field_aa_int_enumkey
 `ovm_field_aa_int_int
 `ovm_field_aa_int_int_unsigned
 `ovm_field_aa_int_integer
 `ovm_field_aa_int_integer_unsigned
 `ovm_field_aa_int_key
 `ovm_field_aa_int_longint
 `ovm_field_aa_int_longint_unsigned
 `ovm_field_aa_int_shortint
 `ovm_field_aa_int_shortint_unsigned
 `ovm_field_aa_int_string
 `ovm_field_aa_object_int
 `ovm_field_aa_object_string
 `ovm_field_aa_string_string
 `ovm_field_array_*macros
 `ovm_field_array_enum
 `ovm_field_array_int
 `ovm_field_array_object
 `ovm_field_array_string
 `ovm_field_enum
 `ovm_field_event
 `ovm_field_int
 `ovm_field_object
 `ovm_field_queue_*macros
 `ovm_field_queue_enum
 `ovm_field_queue_int
 `ovm_field_queue_object
 `ovm_field_queue_string
 `ovm_field_real
 `ovm_field_sarray_*macros
 `ovm_field_sarray_enum
 `ovm_field_sarray_int
 `ovm_field_sarray_object
 `ovm_field_sarray_string
 `ovm_field_string
 `ovm_field_utils_begin
 `ovm_field_utils_end
 `ovm_get_imp_decl
 `ovm_get_peek_imp_decl
 `ovm_info
 `ovm_master_imp_decl
 `ovm_nonblocking_get_imp_decl
 `ovm_nonblocking_get_peek_imp_decl
 `ovm_nonblocking_master_imp_decl
 `ovm_nonblocking_peek_imp_decl
 `ovm_nonblocking_put_imp_decl
 `ovm_nonblocking_slave_imp_decl
 `ovm_nonblocking_transport_imp_decl
 `ovm_object_param_utils
 `ovm_object_param_utils_begin
 `ovm_object_utils
 `ovm_object_utils_begin
 `ovm_object_utils_end
 `ovm_peek_imp_decl
 `ovm_phase_func_bottomup_decl
 `ovm_phase_func_decl
 `ovm_phase_func_topdown_decl
 `ovm_phase_task_bottomup_decl
 `ovm_phase_task_decl
 `ovm_phase_task_topdown_decl
 `ovm_put_imp_decl
 `ovm_rand_send
 `ovm_rand_send_pri
 `ovm_rand_send_pri_with
 `ovm_rand_send_with
 `ovm_send
 `ovm_send_pri
 `ovm_sequence_utils
 `ovm_sequence_utils_begin
 `ovm_sequence_utils_end
 `ovm_sequencer_param_utils
 `ovm_sequencer_param_utils_begin
 `ovm_sequencer_utils
 `ovm_sequencer_utils_begin
 `ovm_sequencer_utils_end
 `ovm_slave_imp_decl
 `ovm_transport_imp_decl
 `ovm_update_sequence_lib
 `ovm_update_sequence_lib_and_item
 `ovm_warning
A
 abstract
 accept_tr
 add
 add_callback
 add_cb
 add_sequence
 after_export
 all_dropped
 Analysis
 analysis_export
 analysis_port#(T)
 apply_config_settings
B
 before_export
 begin_child_tr
 begin_elements
 begin_tr
 Bidirectional Interfaces&Ports
 big_endian
 bin_radix
 Blocking get
 Blocking peek
 Blocking put
 Blocking transport
 blocking_put_port
 body
 BODY
 build
C
 call_func
 call_task
 Callback Hooks
 Callback Macros
 callback_mode
 Callbacks
 can_get
 can_peek
 can_put
 cancel
 CB
 check
 check_config_usage
 check_type
 clear_response_queue
 clone
 Comparators
 compare
 compare_field
 compare_field_int
 compare_field_real
 compare_object
 compare_string
 Comparing
 compose_message
 Configuration
 Configuration Interface
 connect
 convert2string
 copy
 Copying
 Core Base Classes
 count
 create
 create_component
 create_component_by_name
 create_component_by_type
 create_item
 create_object
 create_object_by_name
 create_object_by_type
 CREATED
 Creation
 current_grabber
D
 Debug
 debug_connected_to
 debug_create_by_name
 debug_create_by_type
 debug_provided_to
 dec_radix
 Default Policy Classes
 default_radix
 default_sequence
 delete
 delete_callback
 delete_cb
 depth
 die
 disable_recording
 display_cbs
 display_objections
 do_accept_tr
 do_begin_tr
 do_compare
 do_copy
 do_end_tr
 do_kill_all
 do_pack
 do_print
 do_record
 do_sequence_kind
 do_unpack
 drop
 drop_objection
 dropped
 dump_report_state
 dump_server_state
E
 enable_print_topology
 enable_recording
 enable_stop_interrupt
 end
 end_elements
 end_of_elaboration
 end_tr
 ENDED
 execute_item
 exists
 extract
F
 Factory Classes
 Factory Interface
 Field Macros
 Fields declared in<`ovm_field_*>macros,if used,will not
 find
 find_all
 find_override_by_name
 find_override_by_type
 finish_item
 finish_on_completion
 FINISHED
 first
 flush
 footer
 force_stop
 format_action
 full_name
G
 generate_stimulus
 get
 Get and Peek
 get_accept_time
 get_action
 get_ap
 get_begin_time
 get_child
 get_comp
 get_config_int
 get_config_object
 get_config_string
 get_count
 get_current_item
 get_current_phase
 get_depth
 get_drain_time
 get_end_time
 get_event_pool
 get_file_handle
 get_first_child
 get_full_name
 get_global
 get_global_cbs
 get_global_pool
 get_global_queue
 get_id_count
 get_if
 get_initiator
 get_inst_count
 get_inst_id
 get_max_quit_count
 get_name
 get_next_child
 get_next_item
 get_num_children
 get_num_last_reqs
 get_num_last_rsps
 get_num_reqs_sent
 get_num_rsps_received
 get_num_waiters
 get_object_type
 get_objection_count
 get_objection_total
 get_packed_size
 get_parent
 get_parent_sequence
 get_peek_export
 get_peek_request_export
 get_peek_response_export
 get_phase_by_name
 get_priority
 get_quit_count
 get_radix_str
 get_report_action
 get_report_file_handle
 get_report_handler
 get_report_server
 get_report_verbosity_level
 get_response
 get_response_queue_depth
 get_response_queue_error_report_disabled
 get_root_sequence
 get_root_sequence_name
 get_seq_kind
 get_sequence
 get_sequence_by_name
 get_sequence_id
 get_sequence_path
 get_sequence_state
 get_sequencer
 get_server
 get_severity_count
 get_threshold
 get_tr_handle
 get_transaction_id
 get_trigger_data
 get_trigger_time
 get_type
 get_type_name
 get_use_response_handler
 get_use_sequence_info
 get_verbosity_level
 global_indent
 global_stop_request
 Globals
 grab
Define the class ovm_analysis_impSFX for providing an analysis implementation.
Define the class ovm_blocking_get_impSFX for providing blocking get implementations.
Define the class ovm_blocking_get_peek_impSFX for providing the blocking get_peek implemenation.
Define the class ovm_blocking_master_impSFX for providing the blocking master implemenation.
Define the class ovm_blocking_peek_impSFX for providing blocking peek implementations.
Define the class ovm_blocking_put_impSFX for providing blocking put implementations.
Define the class ovm_blocking_slave_impSFX for providing the blocking slave implemenation.
Define the class ovm_blocking_transport_impSFX for providing the blocking transport implemenation.
ovm_component-based class declarations may contain one of the above forms of utility macros.
This action creates the item or sequence using the factory.
This is the same as `ovm_create except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQUENCER_REF argument.
This macro is used to set up a specific sequencer type with the sequence type the macro is placed in.
This macro takes as an argument a ovm_sequence_item variable or object.
Calls the given METHOD of all callbacks of type CB registered with the calling object (i.e.
Calls the given METHOD of all callbacks of type CB registered with the calling object (i.e.
This macro is identical to ovm_do_task_callbacks macro except there is an additional OBJ argument that allows the user to execute callbacks associated with an external object instance OBJ instead of the calling (this) object.
Calls the given METHOD of all callbacks based on type CB registered with the given object, OBJ, which is or is based on type T.
Calls the given METHOD of all callbacks of type CB registered with the given object OBJ, which must be or be based on type T, and returns upon the first callback that returns the bit value given by VAL.
This is the same as `ovm_do except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQUENCER_REF argument.
This is the same as `ovm_do_pri except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQUENCER_REF argument.
This is the same as `ovm_do_pri_with except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQUENCER_REF argument.
This is the same as `ovm_do_with except that it also sets the parent sequence to the sequence in which the macro is invoked, and it sets the sequencer to the specified SEQUENCER_REF argument.
This is the same as `ovm_do except that the sequene item or sequence is executed with the priority specified in the argument
This is the same as `ovm_do_pri except that the given constraint block is applied to the item or sequence in a randomize with statement before execution.
Calls the given METHOD of all callbacks of type CB registered with the calling object (i.e.
This is the same as `ovm_do except that the constraint block in the 2nd argument is applied to the item or sequence in a randomize with statement before execution.
Calls ovm_report_error with a verbosity of OVM_NONE.
Calls ovm_report_fatal with a verbosity of OVM_NONE.
Macros that implement data operations for scalar properties.
Macros that implement data operations for associative arrays indexed by an integral type.
Macros that implement data operations for associative arrays indexed by string.
Implements the data operations for an associative array of integral types indexed by the byte data type.
Implements the data operations for an associative array of integral types indexed by the byte unsigned data type.
Implements the data operations for an associative array of integral types indexed by any enumeration key data type.
Implements the data operations for an associative array of integral types indexed by the int data type.
Implements the data operations for an associative array of integral types indexed by the int unsigned data type.
Implements the data operations for an associative array of integral types indexed by the integer data type.
Implements the data operations for an associative array of integral types indexed by the integer unsigned data type.
Implements the data operations for an associative array of integral types indexed by any integral key data type.
Implements the data operations for an associative array of integral types indexed by the longint data type.
Implements the data operations for an associative array of integral types indexed by the longint unsigned data type.
Implements the data operations for an associative array of integral types indexed by the shortint data type.
Implements the data operations for an associative array of integral types indexed by the shortint unsigned data type.
Implements the data operations for an associative array of integrals indexed by string.
Implements the data operations for an associative array of ovm_object-based objects indexed by the int data type.
Implements the data operations for an associative array of ovm_object-based objects indexed by string.
Implements the data operations for an associative array of strings indexed by string.
Macros that implement data operations for one-dimensional dynamic array properties.
Implements the data operations for a one-dimensional dynamic array of enums.
Implements the data operations for a one-dimensional dynamic array of integrals.
Implements the data operations for a one-dimensional dynamic array of ovm_object-based objects.
Implements the data operations for a one-dimensional dynamic array of strings.
Implements the data operations for an enumerated property.
Implements the data operations for an event property.
Implements the data operations for any packed integral property.
Implements the data operations for an ovm_object-based property.
Macros that implement data operations for dynamic queues.
Implements the data operations for a one-dimensional queue of enums.
Implements the data operations for a queue of integrals.
Implements the data operations for a queue of ovm_object-based objects.
Implements the data operations for a queue of strings.
Implements the data operations for any real property.
Macros that implement data operations for one-dimensional static array properties.
Implements the data operations for a one-dimensional static array of enums.
Implements the data operations for a one-dimensional static array of integrals.
Implements the data operations for a one-dimensional static array of ovm_object-based objects.
Implements the data operations for a one-dimensional static array of strings.
Implements the data operations for a string property.
These macros form a block in which `ovm_field_* macros can be placed.
Define the class ovm_get_impSFX for providing both blocking and non-blocking get implementations.
Define the class ovm_get_peek_impSFX for providing both blocking and non-blocking get_peek implementations.
Calls ovm_report_info if VERBOSITY is lower than the configured verbosity of the associated reporter.
Define the class ovm_master_impSFX for providing both blocking and non-blocking master implementations.
Define the class ovm_nonblocking_get_impSFX for providing non-blocking get implementations.
Define the class ovm_nonblocking_get_peek_impSFX for providing non-blocking get_peek implemenation.
Define the class ovm_nonblocking_master_impSFX for providing the non-blocking master implemenation.
Define the class ovm_nonblocking_peek_impSFX for providing non-blocking peek implementations.
Define the class ovm_nonblocking_put_impSFX for providing non-blocking put implementations.
Define the class ovm_nonblocking_slave_impSFX for providing the non-blocking slave implemenation.
Define the class ovm_nonblocking_transport_impSFX for providing the non-blocking transport implemenation.
ovm_object-based class declarations may contain one of the above forms of utility macros.
Define the class ovm_peek_impSFX for providing both blocking and non-blocking peek implementations.
`ovm_phase_func_decl (PHASE_NAME, TOP_DOWN)
These alternative macros have a single phase name argument.
Define the class ovm_put_impSFX for providing both blocking and non-blocking put implementations.
This macro processes the item or sequence that has been already been allocated (possibly with `ovm_create).
This is the same as `ovm_rand_send except that the sequene item or sequence is executed with the priority specified in the argument.
This is the same as `ovm_rand_send_pri except that the given constraint block is applied to the item or sequence in a randomize with statement before execution.
This is the same as `ovm_rand_send except that the given constraint block is applied to the item or sequence in a randomize with statement before execution.
This macro processes the item or sequence that has been created using `ovm_create.
This is the same as `ovm_send except that the sequene item or sequence is executed with the priority specified in the argument.
The sequence macros can be used in non-parameterized ovm_sequence extensions to pre-register the sequence with a given ovm_sequencer type.
The sequencer macros are used in ovm_sequencer-based class declarations in one of four ways.
Define the class ovm_slave_impSFX for providing both blocking and non-blocking slave implementations.
Define the class ovm_transport_impSFX for providing both blocking and non-blocking transport implementations.
This macro populates the instance-specific sequence library for a sequencer.
This macro populates the instance specific sequence library for a sequencer, and it registers the given USER_ITEM as an instance override for the simple sequence’s item variable.
Calls ovm_report_warning with a verbosity of OVM_NONE.
bit abstract = 1
This bit provides a filtering mechanism for fields.
bit abstract = 0
This bit provides a filtering mechanism for fields.
bit abstract = 1
This bit provides a filtering mechanism for fields.
function void accept_tr (ovm_transaction tr,  
time accept_time = )
This function marks the acceptance of a transaction, tr, by this component.
function void accept_tr (time accept_time = )
Calling accept_tr indicates that the transaction has been accepted for processing by a consumer component, such as an ovm_driver.
virtual function void add (KEY key,
item)
Adds the given (key, item) pair to the pool.
virtual function void add_callback (ovm_event_callback cb,  
bit append = 1)
Registers a callback object, cb, with this event.
virtual function void add_cb(obj,  
CB cb,  
bit append = 1)
Registers the given callback object, cb, with the given obj handle.
function void add_sequence(string type_name)
Adds a sequence of type specified in the type_name paramter to the sequencer’s sequence library.
The export to which a data stream of type AFTER is sent via a connected analysis port.
The export to which the other stream of data is written.
virtual task all_dropped (ovm_objection objection,
ovm_object source_obj,
int count)
The all_dropped callback is called when a decendant of the component instance raises the specfied objection.
virtual task all_dropped (ovm_object obj,
ovm_object source_obj,
int count)
Objection callback that is called when a drop_objection has reached obj, and the total count for obj goes to zero.
task ovm_root::all_dropped (ovm_objection objection,
ovm_object source_obj,
int count)
virtual task all_dropped (ovm_object obj,
ovm_object source_obj,
int count)
This callback is called when the given object’s objection count reaches zero; if the object is the implicit top-level, ovm_top then it means there are no more objections raised for the ovm_test_done objection.
The analysis interface is used to perform non-blocking broadcasts of transactions to connected components.
This export provides access to the write method, which derived subscribers must implement.
The analysis_export provides the write method to all connected analysis ports and parent exports:
virtual function void apply_config_settings (bit verbose = )
Searches for all config settings matching this component’s instance path.
The export to which a data stream of type BEFORE is sent via a connected analysis port.
The export to which one stream of data is written.
function integer begin_child_tr (ovm_transaction tr,  
integer parent_handle = 0,
string stream_name = "main",
string label = "",
string desc = "",
time begin_time = 0)
This function marks the start of a child transaction, tr, by this component.
function integer begin_child_tr (time begin_time = 0,
integer parent_handle = 0)
This function indicates that the transaction has been started as a child of a parent transaction given by parent_handle.
int begin_elements = 5
Defines the number of elements at the head of a list to print.
function integer begin_tr (ovm_transaction tr,  
string stream_name = "main",
string label = "",
string desc = "",
time begin_time = 0)
This function marks the start of a transaction, tr, by this component.
function integer begin_tr (time begin_time = )
This function indicates that the transaction has been started and is not the child of another transaction.
The bidirectional interfaces consist of blocking, non-blocking, and combined blocking and non-blocking variants of the transport, master, and slave interfaces.
bit big_endian = 1
This bit determines the order that integral data is packed (using pack_field, pack_field_int, pack_time, or pack_real) and how the data is unpacked from the pack array (using unpack_field, unpack_field_int, unpack_time, or unpack_real).
string bin_radix = "'b"
This string should be prepended to the value of an integral type when a radix of OVM_BIN is used for the radix of the integral object.
The blocking_put_port is used to send the generated stimulus to the rest of the testbench.
virtual task body()
This is the user-defined task where the main sequence code resides.
The sequence is started and the body task is being executed.
virtual function void build ()
The build phase callback is the first of several methods automatically called during the course of simulation.
virtual function void call_func (ovm_component parent)
Calls the function-based phase of the component given by parent.
virtual task call_task (ovm_component parent)
Calls the task-based phase of the component given by parent, which must be derived from ovm_component.
function void callback_mode(bit on)
Enable/disable callbacks (modeled like rand_mode and constraint_mode).
virtual function bit can_get()
Returns 1 if a new transaction can be provided immediately upon request, 0 otherwise.
virtual function bit can_peek()
Returns 1 if a new transaction is available; 0 otherwise.
virtual function bit can_put()
Returns 1 if the component is ready to accept the transaction; 0 otherwise.
virtual function void cancel ()
Decrements the waiter count by one.
virtual function void cancel ()
Decrements the number of waiters on the event.
This type parameter specifies the base callback type that will be managed by this callback class.
virtual function void check ()
The check phase callback is one of several methods automatically called during the course of simulation.
function void check_config_usage (bit recurse = 1)
Check all configuration settings in a components configuration table to determine if the setting has been used, overridden or not used.
bit check_type = 1
This bit determines whether the type, given by ovm_object::get_type_name, is used to verify that the types of two objects are the same.
virtual function void clear_response_queue()
Empties the response queue for this sequence.
virtual function ovm_object clone ()
The clone method creates and returns an exact copy of this object.
A common function of testbenches is to compare streams of transactions for equivalence.
function bit compare (ovm_object rhs,  
ovm_comparer comparer = null)
The compare method deep compares this data object with the object provided in the rhs (right-hand side) argument.
virtual function bit compare_field (string name,  
ovm_bitstream_t lhs,  
ovm_bitstream_t rhs,  
int size,  
ovm_radix_enum radix = OVM_NORADIX)
Compares two integral values.
virtual function bit compare_field_int (string name,  
logic[63:0] lhs,  
logic[63:0] rhs,  
int size,  
ovm_radix_enum radix = OVM_NORADIX)
This method is the same as compare_field except that the arguments are small integers, less than or equal to 64 bits.
virtual function bit compare_field_real (string name,
real lhs,
real rhs)
This method is the same as compare_field except that the arguments are real numbers.
virtual function bit compare_object (string name,
ovm_object lhs,
ovm_object rhs)
Compares two class objects using the policy knob to determine whether the comparison should be deep, shallow, or reference.
virtual function bit compare_string (string name,
string lhs,
string rhs)
Compares two string variables.
virtual function string compose_message(ovm_severity severity,
string name,
string id,
string message,
string filename,
int line)
Constructs the actual string sent to the file or command line from the severity, component name, report id, and the message itself.
Components can be designed to be user-configurable in terms of its topology (the type and number of children it has), mode of operation, and run-time parameters (knobs).
virtual function void connect ()
The connect phase callback is one of several methods automatically called during the course of simulation.
virtual function void connect (this_type provider)
Connects this port to the given provider port.
This virtual function is a user-definable hook, called directly by the user, that allows users to provide object information in the form of a string.
function void copy (ovm_object rhs)
The copy method returns a deep copy of this object.
The OVM library defines a set of base classes and utilities that facilitate the design of modular, scalable, reusable verification environments.
int count = -1
Sets the number of items to execute.
static function T create(string name,  
ovm_component parent,  
string contxt = "")
Returns an instance of the component type, T, represented by this proxy, subject to any factory overrides based on the context provided by the parent’s full name.
virtual function ovm_object create (string name = "")
The create method allocates a new object of the same type as this object and returns it via a base ovm_object handle.
static function T create (string name = "",
ovm_component parent = null,
string contxt = "")
Returns an instance of the object type, T, represented by this proxy, subject to any factory overrides based on the context provided by the parent’s full name.
function ovm_component create_component (string requested_type_name,
string name)
A convenience function for ovm_factory::create_component_by_name, this method calls upon the factory to create a new child component whose type corresponds to the preregistered type name, requested_type_name, and instance name, name.
virtual function ovm_component create_component (string name,
ovm_component parent)
Creates a component of type T having the provided name and parent.
virtual function ovm_component create_component (string name,
ovm_component parent)
Creates a new component, passing to its constructor the given name and parent.
function ovm_component create_component_by_name (string requested_type_name,  
string parent_inst_path = "",
string name,  
ovm_component parent  )
Creates and returns a component or object of the requested type, which may be specified by type or by name.
function ovm_component create_component_by_type (
   ovm_object_wrapper requested_type,  
   string parent_inst_path = "",
   string name,  
   ovm_component parent  
)
protected function ovm_sequence_item create_item(
   ovm_object_wrapper type_var,
   ovm_sequencer_base l_sequencer,
   string name
)
Create_item will create and initialize a sequence_item or sequence using the factory.
function ovm_object create_object (string requested_type_name,  
string name = "")
A convenience function for ovm_factory::create_object_by_name, this method calls upon the factory to create a new object whose type corresponds to the preregistered type name, requested_type_name, and instance name, name.
virtual function ovm_object create_object(string name = "")
Creates an object of type T and returns it as a handle to an ovm_object.
virtual function ovm_object create_object (string name = "")
Creates a new object with the optional name.
function ovm_object create_object_by_name (string requested_type_name,  
string parent_inst_path = "",
string name = "")
function ovm_object create_object_by_type (ovm_object_wrapper requested_type,  
string parent_inst_path = "",
string name = "")
The sequence has been allocated.
virtual function ovm_sequence_base current_grabber()
Returns a reference to the sequence that currently has a lock or grab on the sequence.
function void debug_connected_to (int level = 0,
int max_level = -1)
The debug_connected_to method outputs a visual text display of the port/export/imp network to which this port connects (i.e., the port’s fanout).
function void debug_create_by_name (string requested_type_name,  
string parent_inst_path = "",
string name = "")
These methods perform the same search algorithm as the create_* methods, but they do not create new objects.
function void debug_create_by_type (ovm_object_wrapper requested_type,  
string parent_inst_path = "",
string name = "")
function void debug_provided_to (int level = 0,
int max_level = -1)
The debug_provided_to method outputs a visual display of the port/export network that ultimately connect to this port (i.e., the port’s fanin).
string dec_radix = "'d"
This string should be prepended to the value of an integral type when a radix of OVM_DEC is used for the radix of the integral object.
Policy classes for ovm_object basic functions, ovm_object::copy, ovm_object::compare, ovm_object::pack, ovm_object::unpack, and ovm_object::record.
ovm_radix_enum default_radix = OVM_HEX
This knob sets the default radix to use for integral values when no radix enum is explicitly supplied to the print_field() method.
ovm_radix_enum default_radix = OVM_HEX
This is the default radix setting if record_field is called without a radix.
protected string default_sequence = "ovm_random_sequence"
This property defines the sequence type (by name) that will be auto-started.
virtual function void delete (string key)
Removes the item with the given string key from the pool.
virtual function void delete (KEY key)
Removes the item with the given key from the pool.
virtual function void delete (int index = -1)
Removes the item at the given index from the queue; if index is not provided, the entire contents of the queue are deleted.
virtual function void delete_callback (ovm_event_callback cb)
Unregisters the given callback, cb, from this event.
virtual function void delete_cb(obj,
CB cb)
Removes a previously registered callback, cb, for the given object, obj.
int depth = -1
Indicates how deep to recurse when printing objects.
virtual function void die()
This method is called by the report server if a report reaches the maximum quit count or has an OVM_EXIT action associated with it, e.g., as with fatal errors.
function void disable_recording ()
Turns off recording for the transaction stream.
function void display_cbs(obj = null)
Displays information about all registered callbacks for the given obj handle.
protected function string m_display_objections(ovm_object obj = null,
bit show_header = 1)
Displays objection information about the given object.
virtual protected function void do_accept_tr (ovm_transaction tr)
The accept_tr method calls this function to accommodate any user-defined post-accept action.
virtual protected function void do_accept_tr ()
This user-definable callback is called by accept_tr just before the accept event is triggered.
virtual protected function void do_begin_tr (ovm_transaction tr,
string stream_name,
integer tr_handle)
The begin_tr and begin_child_tr methods call this function to accommodate any user-defined post-begin action.
virtual protected function void do_begin_tr ()
This user-definable callback is called by begin_tr and begin_child_tr just before the begin event is triggered.
virtual function bit do_compare (ovm_object rhs,
ovm_comparer comparer)
The do_compare method is the user-definable hook called by the compare method.
virtual function void do_copy (ovm_object rhs)
The do_copy method is the user-definable hook called by the copy method.
virtual protected function void do_end_tr (ovm_transaction tr,
integer tr_handle)
The end_tr method calls this function to accommodate any user-defined post-end action.
virtual protected function void do_end_tr ()
This user-definable callback is called by end_tr just before the end event is triggered.
virtual function void do_kill_all ()
Recursively calls kill on this component and all its descendants, which abruptly ends the currently running task-based phase, e.g., run.
virtual function void do_pack (ovm_packer packer)
The do_pack method is the user-definable hook called by the pack methods.
virtual function void do_print (ovm_printer printer)
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 `ovm_field_* macros.
virtual function void do_record (ovm_recorder recorder)
The do_record method is the user-definable hook called by the record method.
task do_sequence_kind(int unsigned req_kind)
This task will start a sequence of kind specified by req_kind, which can be obtained using the get_seq_kind method.
virtual function void do_unpack (ovm_packer packer)
The do_unpack method is the user-definable hook called by the unpack method.
virtual function void drop_objection (ovm_object obj = null,
int count = 1)
Calls ovm_objection::drop_objection after calling qualify.
function void drop_objection (ovm_object obj = null,
int count = 1)
Drops the number of objections for the source object by count, which defaults to 1.
virtual function void dropped (ovm_objection objection,
ovm_object source_obj,
int count)
The dropped callback is called when a decendant of the component instance raises the specfied objection.
virtual function void dropped (ovm_object obj,
ovm_object source_obj,
int count)
Objection callback that is called when a drop_objection has reached obj.
function void dump_report_state()
This method dumps the internal state of the report handler.
function void dump_server_state()
Dumps server state information.
bit enable_print_topology = 0
If set, then the entire testbench topology is printed just after completion of the end_of_elaboration phase.
function void enable_recording (string stream)
Turns on recording to the stream specified by stream, whose interpretation is implementation specific.
protected int enable_stop_interrupt = 0
This bit allows a component to raise an objection to the stopping of the current phase.
int end_elements = 5
This defines the number of elements at the end of a list that should be printed.
virtual function void end_of_elaboration ()
The end_of_elaboration phase callback is one of several methods automatically called during the course of simulation.
function void end_tr (ovm_transaction tr,  
time end_time = 0,
bit free_handle = 1)
This function marks the end of a transaction, tr, by this component.
function void end_tr (time end_time = 0,
bit free_handle = 1)
This function indicates that the transaction execution has ended.
The sequence has ended by the completion of the body task.
virtual task execute_item(ovm_sequence_item item)
This task allows the user to supply an item or sequence to the sequencer and have it be executed procedurally.
virtual function int exists (KEY key)
Returns 1 if a item with the given key exists in the pool, 0 otherwise.
virtual function void extract ()
The extract phase callback is one of several methods automatically called during the course of simulation.
As the name implies, the ovm_factory is used to manufacture (create) OVM objects and components.
The factory interface provides convenient access to a portion of OVM’s ovm_factory interface.
The `ovm_field_* macros are invoked inside of the `ovm_*_utils_begin and `ovm_*_utils_end macro blocks to form “automatic” implementations of the core data methods: copy, compare, pack, unpack, record, print, and sprint.
automatically appear in calls to convert2string.
function ovm_component find (string comp_match)
function void find_all (string comp_match,  
ref ovm_component comps[$],  
input ovm_component comp = null)
Returns the component handle (find) or list of components handles (find_all) matching a given string.
function ovm_object_wrapper find_override_by_name (string requested_type_name,
string full_inst_path)
These methods return the proxy to the object that would be created given the arguments.
function ovm_object_wrapper find_override_by_type (
   ovm_object_wrapper requested_type,
   string full_inst_path
)
finish_item, together with start_item together will initiate operation of either a sequence_item or sequence object.
virtual task finish_item(ovm_sequence_item item,  
int set_priority =  -1)
finish_item, together with start_item together will initiate operation of either a sequence_item or sequence object.
bit finish_on_completion = 1
If set, then run_test will call $finish after all phases are executed.
The sequence is completely finished executing.
virtual function int first (ref KEY key)
Returns the key of the first item stored in the pool.
virtual function void flush()
This method sets m_matches and m_mismatches back to zero.
virtual function void flush()
Removes all entries from the FIFO, after which used returns 0 and is_empty returns 1.
bit footer = 1
Indicates whether the print_footer function should be called when printing an object.
virtual task force_stop(ovm_object obj = null)
function string format_action(ovm_action action)
Returns a string representation of the action, e.g., “DISPLAY”.
bit full_name = 1
Indicates whether print_id should print the full name of an identifier or just the leaf name.
virtual task generate_stimulus(t = null,
int max_count = 0)
Generate up to max_count transactions of type T.
static function this_type get()
Returns the singleton instance of this type.
static function this_type get()
Returns the singleton instance of this type.
virtual function T get (string key)
Returns the object item at the given string key.
virtual function T get (KEY key)
Returns the item with the given key.
virtual function T get (int index)
Returns the item at the given index.
virtual task get(output T1 t)
Retrieves the next available item from a sequence.
virtual task get(output T2 t)
Provides a new transaction of type T.
The get interfaces are used to retrieve transactions from other components.
function time get_accept_time ()
function ovm_action get_action(ovm_severity severity,
string id)
Returns the action associated with the given severity and id.
Transactions passed via get, try_get, peek, or try_peek (via any port connected to the get_peek_export) are sent out this port via its write method.
function time get_begin_time ()
function ovm_component get_child (string name)
virtual function ovm_port_component_base get_comp()
Returns a handle to the internal proxy component representing this port.
virtual function bit get_config_int (string field_name,
inout ovm_bitstream_t value)
virtual function bit get_config_object (string field_name,  
inout ovm_object value,  
input bit clone = 1)
These methods retrieve configuration settings made by previous calls to their set_config_* counterparts.
virtual function bit get_config_string (string field_name,
inout string value)
function int unsigned get_count()
Returns the count of the number of sub-sequences which are randomly generated.
function REQ get_current_item()
Returns the request item currently being executed by the sequencer.
function REQ get_current_item()
Returns the request_item currently being executed by the sequencer.
function ovm_phase get_current_phase ()
Returns the handle of the currently executing phase.
function int get_depth()
Returns the depth of a sequence from it’s parent.
function time get_drain_time (ovm_object obj)
Returns the current drain time set for the given object (default: 0 ns).
function time get_end_time ()
Returns the time at which this transaction was accepted, begun, or ended, as by a previous call to accept_tr, begin_tr, begin_child_tr, or end_tr.
function ovm_event_pool get_event_pool ()
Returns the event pool associated with this transaction.
function OVM_FILE get_file_handle(ovm_severity severity,
string id)
Returns the file descriptor associated with the given severity and id.
function int get_first_child (ref string name)
These methods are used to iterate through this component’s children, if any.
virtual function string get_full_name ()
Returns the full hierarchical name of this object.
virtual function string get_full_name ()
Returns the full hierarchical name of this object.
virtual function string get_full_name()
Returns the full hierarchical name of this port.
static function T get_global (string key)
Returns the specified item instance from the global item pool.
static function T get_global (KEY key)
Returns the specified item instance from the global item pool.
static function T get_global (int index)
Returns the specified item instance from the global item queue.
Returns the global callback pool for this type.
static function this_type get_global_pool ()
Returns the singleton global pool for the item type, T.
static function this_type get_global_pool ()
Returns the singleton global pool for the item type, T.
static function this_type get_global_queue ()
Returns the singleton global queue for the item type, T.
function int get_id_count(string id)
function ovm_port_base #(IF) get_if(int index=0)
Returns the implementation (imp) port at the given index from the array of imps this port is connected to.
function ovm_component get_initiator ()
Returns the component that produced or started the transaction, as set by a previous call to set_initiator.
static function int get_inst_count()
Returns the current value of the instance counter, which represents the total number of ovm_object-based objects that have been allocated in simulation.
virtual function int get_inst_id ()
Returns the object’s unique, numeric instance identifier.
function int get_max_quit_count()
Get or set the maximum number of COUNT actions that can be tolerated before an OVM_EXIT action is taken.
virtual function string get_name ()
Returns the name of the object, as provided by the name argument in the new constructor or set_name method.
function string get_name ()
Returns the name of the phase object as supplied in the constructor.
function string get_name()
Returns the leaf name of this port.
function int get_next_child (ref string name)
virtual task get_next_item(output T1 t)
Retrieves the next available item from a sequence.
function int get_num_children ()
Returns the number of this component’s children.
function int unsigned get_num_last_reqs()
Returns the size of the last requests buffer, as set by set_num_last_reqs.
function int unsigned get_num_last_rsps()
Returns the max size of the last responses buffer, as set by set_num_last_rsps.
function int get_num_reqs_sent()
Returns the number of requests that have been sent by this sequencer.
function int get_num_rsps_received()
Returns the number of responses received thus far by this sequencer.
virtual function int get_num_waiters ()
Returns the number of processes currently waiting at the barrier.
virtual function int get_num_waiters ()
Returns the number of processes waiting on the event.
virtual function ovm_object_wrapper get_object_type ()
Returns the type-proxy (wrapper) for this object.
function int get_objection_count (ovm_object obj)
Returns the current number of objections raised by the given object.
function int get_objection_total (ovm_object obj = null)
Returns the current number of objections raised by the given object and all descendants.
virtual function int get_packed_size()
Returns the number of bits that were packed.
virtual function ovm_component get_parent ()
Returns a handle to this component’s parent, or null if it has no parent.
virtual function ovm_component get_parent()
Returns the handle to this port’s parent, or null if it has no parent.
function ovm_sequence_base get_parent_sequence()
Returns a reference to the parent sequence of any sequence on which this method was called.
The get_peek_export provides all the blocking and non-blocking get and peek interface methods:
The get_peek_export provides all the blocking and non-blocking get and peek interface methods to the response FIFO:
The get_peek_response_export provides all the blocking and non-blocking get and peek interface methods to the response FIFO:
function ovm_phase get_phase_by_name (string name)
Returns the handle of the phase having the given name.
function int get_priority()
This function returns the current priority of the sequence.
function int get_quit_count()
function string get_radix_str (ovm_radix_enum radix)
Converts the radix from an enumerated to a printable radix according to the radix printing knobs (bin_radix, and so on).
function int get_report_action(ovm_severity severity,
string id)
Gets the action associated with reports having the given severity and id.
function int get_report_file_handle(ovm_severity severity,
string id)
Gets the file descriptor associated with reports having the given severity and id.
function ovm_report_handler get_report_handler()
Returns the underlying report handler to which most reporting tasks are delegated.
function ovm_report_server get_report_server()
Returns the ovm_report_server instance associated with this report object.
function int get_report_verbosity_level()
Gets the verbosity level in effect for this object.
task get_response(output RSP response,  
input int transaction_id =  -1)
By default, sequences must retrieve responses by calling get_response.
function int get_response_queue_depth()
Returns the current depth setting for the response queue.
function bit get_response_queue_error_report_disabled()
When this bit is 0 (default value), error reports are generated when the response queue overflows.
function ovm_sequence_base get_root_sequence()
Provides a reference to the root sequence (the top-most parent sequence).
function string get_root_sequence_name()
Provides the name of the root sequence (the top-most parent sequence).
function int get_seq_kind(string type_name)
This function returns an int representing the sequence kind that has been registerd with the sequencer.
function int get_seq_kind(string type_name)
Returns an int seq_kind correlating to the sequence of type type_name in the sequencer¿s sequence library.
function ovm_sequence_base get_sequence(int unsigned req_kind)
This function returns a reference to a sequence specified by req_kind, which can be obtained using the get_seq_kind method.
function ovm_sequence_base get_sequence(int req_kind)
Returns a reference to a sequence specified by the seq_kind int.
function ovm_sequence_base get_sequence_by_name(string seq_name)
Internal method.
function int get_sequence_id()
private
function string get_sequence_path()
Provides a string of names of each sequence in the full hierarchical path.
function ovm_sequence_state_enum get_sequence_state()
Returns the sequence state as an enumerated value.
virtual function ovm_sequencer_base get_sequencer()
Returns a reference to the current default sequencer of the sequence.
function ovm_sequencer_base get_sequencer()
These routines set and get the reference to the sequencer to which this sequence_item communicates.
function ovm_report_server get_server()
Returns a handle to the central report server.
function int get_severity_count(ovm_severity severity)
virtual function int get_threshold ()
Gets the current threshold setting for the barrier.
function integer get_tr_handle ()
Returns the handle associated with the transaction, as set by a previous call to begin_child_tr or begin_tr with transaction recording enabled.
function integer get_transaction_id()
Returns this transaction’s numeric identifier, which is -1 if not set explicitly by set_transaction_id.
virtual function ovm_object get_trigger_data ()
Gets the data, if any, provided by the last call to trigger.
virtual function time get_trigger_time ()
Gets the time that this event was last triggered.
static function ovm_object_wrapper get_type ()
Returns the type-proxy (wrapper) for this object.
virtual function string get_type_name()
Returns the type name of this callback object.
virtual function string get_type_name()
Returns the value given by the string parameter, Tname.
virtual function string get_type_name ()
This function returns the type name of the object, which is typically the type identifier enclosed in quotes.
virtual function string get_type_name()
Returns the value given by the string parameter, Tname.
virtual function string get_type_name()
Returns the type name of this object.
pure virtual function string get_type_name()
Derived classes implement this method to return the type name of the object created by create_component or create_object.
virtual function string get_type_name()
Derived classes should override this method to return the phase type name.
virtual function string get_type_name()
Returns the type name to this port.
function bit get_use_response_handler()
Returns the state of the use_response_handler bit.
function bit get_use_sequence_info()
These methods are used to set and get the status of the use_sequence_info bit.
function int get_verbosity_level()
Returns the configured maximum verbosity level.
int global_indent = 0
Specifies the number of spaces of indentation to add whenever a newline is printed.
function void global_stop_request()
Convenience function for ovm_top.stop_request().
task grab(ovm_sequencer_base sequencer =  null)
Requests a lock on the specified sequencer.
virtual task grab(ovm_sequence_base sequence_ptr)
Requests a lock for the sequence specified by sequence_ptr.