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
P
 pack
 pack_bytes
 pack_field
 pack_field_int
 pack_ints
 pack_object
 pack_real
 pack_string
 pack_time
 Packing
 pair_ap
 Parameters
 peek
 phase_timeout
 Phasing Interface
 physical
 policy
 Policy Classes
 pop_back
 pop_front
 Port Type
 Ports
 Ports,Exports,and Imps
 post_body
 POST_BODY
 post_do
 post_trigger
 pound_zero_count
 pre_body
 PRE_BODY
 pre_do
 pre_trigger
 Predefined Component Classes
 prefix
 prev
 print
 print_array_footer
 print_array_header
 print_array_range
 print_config_matches
 print_config_settings
 print_enabled
 print_field
 print_footer
 print_header
 print_id
 print_msg
 print_newline
 print_object
 print_object_header
 print_override_info
 print_size
 print_string
 print_time
 print_type_name
 print_value
 print_value_array
 print_value_object
 print_value_string
 Printing
 process_report
 push_back
 push_front
 put
 Put
 put_ap
 put_export
 put_request_export
 put_response_export
Q
 qualify
R
 raise_objection
 raised
 record
 record_error_tr
 record_event_tr
 record_field
 record_field_real
 record_generic
 record_object
 record_string
 record_time
 Recording
 Recording Interface
 recursion_policy
 reference
 register
 Registering Types
 report
 Report Macros
 report_error_hook
 report_fatal_hook
 report_header
 report_hook
 report_info_hook
 report_summarize
 report_warning_hook
 Reporting
 Reporting Classes
 req_export
 req_port
 request_ap
 reseed
 reset
 reset_quit_count
 reset_report_handler
 reset_severity_counts
 resolve_bindings
 response_ap
 response_handler
 result
 resume
 rsp_export
 rsp_port
 run
 run_hooks
 run_test
S
 Seeding
 send_request
 separator
 seq_item_export
 seq_item_port
 seq_kind
 Sequence Action Macros
 Sequence and Do Action Macros
 Sequence Classes
 Sequence on Sequencer Action Macros
 Sequence Registration Macros
 Sequencer Classes
 Sequencer Registration Macros
 Sequences
 set_arbitration
 set_auto_reset
 set_config_int
 set_config_object
 set_config_string
 set_default_index
 set_depth
 set_drain_time
 set_global_stop_timeout
 set_global_timeout
 set_id_count
 set_id_info
 set_initiator
 set_inst_override
 set_inst_override_by_name
 set_inst_override_by_type
 set_int_local
 set_max_quit_count
 set_name
 set_num_last_reqs
 set_num_last_rsps
 set_object_local
 set_parent_sequence
 set_priority
 set_quit_count
 set_report_default_file
 set_report_default_file_hier
 set_report_handler
 set_report_id_action
 set_report_id_action_hier
 set_report_id_file
 set_report_id_file_hier
 set_report_max_quit_count
 set_report_severity_action
 set_report_severity_action_hier
 set_report_severity_file
 set_report_severity_file_hier
 set_report_severity_id_action
 set_report_severity_id_action_hier
 set_report_severity_id_file
 set_report_severity_id_file_hier
 set_report_verbosity_level
 set_report_verbosity_level_hier
 set_response_queue_depth
 set_response_queue_error_report_disabled
 set_sequencer
 set_severity_count
 set_string_local
 set_threshold
 set_transaction_id
 set_type_override
 set_type_override_by_name
 set_type_override_by_type
 set_use_sequence_info
 Setup
 sev
 show_max
 show_radix
 show_root
 Simulation Control
 size
 size_width
 slave_export
 sprint
 sqr_if_base#(REQ,RSP)
 start
 start_default_sequence
 start_item
 start_of_simulation
 status
 stop
 stop_request
 stop_sequences
 stop_stimulus_generation
 stop_timeout
 STOPPED
 summarize
 suspend
 Synchronization Classes
T
 T
 TLM Implementation Port Declaration Macros
 TLM Interfaces,Ports,and Exports
 tlm_analysis_fifo#(T)
 tlm_fifo#(T)
 tlm_fifo_base#(T)
 tlm_if_base#(T1,T2)
 tlm_req_rsp_channel#(REQ,RSP)
 tlm_transport_channel#(REQ,RSP)
 tr_handle
 trace_mode
 transport
 Transport
 transport_export
 trigger
 truncation
 try_get
 try_next_item
 try_peek
 try_put
 Type&Instance Overrides
 type_name
 type_width
 Types and Enumerations
U
 ungrab
 Unidirectional Interfaces&Ports
 unlock
 unpack
 unpack_bytes
 unpack_field
 unpack_field_int
 unpack_ints
 unpack_object
 unpack_real
 unpack_string
 unpack_time
 Unpacking
 unsigned_radix
 Usage
 use_metadata
 use_ovm_seeding
 use_response_handler
 used
 user_priority_arbitration
 Utility and Field Macros for Components and Objects
 Utility Macros
V
 value_width
 Variables
 verbosity
 Verbosity is ignored for warnings,errors,and fatals to ensure users
function int pack (ref bit bitstream[],  
input ovm_packer packer = null)
function int pack_bytes (ref byte unsigned bytestream[],  
input ovm_packer packer = null)
virtual function void pack_field (ovm_bitstream_t value,
int size)
Packs an integral value (less than or equal to 4096 bits) into the packed array.
virtual function void pack_field_int (logic[63:0] value,
int size)
Packs the integral value (less than or equal to 64 bits) into the pack array.
function int pack_ints (ref int unsigned intstream[],  
input ovm_packer packer = null)
The pack methods bitwise-concatenate this object’s properties into an array of bits, bytes, or ints.
virtual function void pack_object (ovm_object value)
Packs an object value into the pack array.
virtual function void pack_real (real value)
Packs a real value as 64 bits into the pack array.
virtual function void pack_string (string value)
Packs a string value into the pack array.
virtual function void pack_time (time value)
Packs a time value as 64 bits into the pack array.
The comparator sends out pairs of transactions across this analysis port.
virtual task peek(output T1 t)
Returns the current request item if one is in the sequencer fifo.
virtual task peek(output T2 t)
Obtain a new transaction without consuming it.
time phase_timeout = `OVM_DEFAULT_TIMEOUT
Components execute their behavior in strictly ordered, pre-defined phases.
bit physical = 1
This bit provides a filtering mechanism for fields.
bit physical = 1
This bit provides a filtering mechanism for fields.
bit physical = 1
This bit provides a filtering mechanism for fields.
ovm_recursion_policy_enum policy = OVM_DEFAULT_POLICY
Determines whether comparison is OVM_DEEP, OVM_REFERENCE, or OVM_SHALLOW.
Each of OVM’s policy classes perform a specific task for ovm_object-based objects: printing, comparing, recording, packing, and unpacking.
virtual function T pop_back()
Returns the last element in the queue (index=size()-1), or null if the queue is empty.
virtual function T pop_front()
Returns the first element in the queue (index=0), or null if the queue is empty.
The OVM provides unidirectional ports, exports, and implementation ports for connecting your components via the TLM interfaces.
virtual task post_body()
This task is a user-definable callback task that is called after the execution of the body, unless the sequence is started with call_pre_post=0.
The sequence is started and the post_body task is being executed.
virtual function void post_do(ovm_sequence_item this_item)
This function is a user-definable callback function that is called after the driver has indicated that it has completed the item, using either this item_done or put methods.
virtual function void post_trigger (ovm_event e,  
ovm_object data = null)
This callback is called after triggering the associated event.
int unsigned pound_zero_count = 6
Set this variable via set_config_int to set the number of delta cycles to insert in the wait_for_sequences task.
virtual task pre_body()
This task is a user-definable callback task that is called before the execution of the body, unless the sequence is started with call_pre_post=0.
The sequence is started and the pre_body task is being executed.
virtual task pre_do(bit is_item)
This task is a user-definable callback task that is called after the sequence has issued a wait_for_grant() call and after the sequencer has selected this sequence, and before the item is randomized.
virtual function bit pre_trigger (ovm_event e,  
ovm_object data = null)
This callback is called just before triggering the associated event.
Components form the foundation of the OVM.
string prefix = ""
Specifies the string prepended to each output line
virtual function int prev (ref KEY key)
Returns the key of the previous item in the pool.
function void print (int all_types = 1)
Prints the state of the ovm_factory, including registered types, instance overrides, and type overrides.
function void print (ovm_printer printer = null)
The print method deep-prints this object’s properties in a format and manner governed by the given printer argument; if the printer argument is not provided, the global ovm_default_printer is used.
virtual function void print_array_footer (int size = )
Prints the header of a footer.
virtual function void print_array_header(string name,  
int size,  
string arraytype = "array",
byte scope_separator = ".")
Prints the header of an array.
virtual function void print_array_range (int min,
int max)
Prints a range using ellipses for values.
static bit print_config_matches = 0
Setting this static variable causes get_config_* to print info about matching configuration settings as they are being applied.
function void print_config_settings (string field = "",
ovm_component comp = null,
bit recurse = 0)
Called without arguments, print_config_settings prints all configuration information for this component, as set by previous calls to set_config_*.
bit print_enabled = 1
This bit determines if this component should automatically be printed as a child of its parent object.
virtual function void print_field (string name,  
ovm_bitstream_t value,  
int size,  
ovm_radix_enum radix = OVM_NORADIX,
byte scope_separator = ".",
string type_name = "")
Prints an integral field.
virtual function void print_footer ()
Prints footer information.
virtual function void print_header ()
Prints header information.
virtual protected function void print_id (string id,  
byte scope_separator = ".")
Prints a field’s name, or id, which is the full instance name.
function void print_msg (string msg)
Causes the error count to be incremented and the message, msg, to be appended to the miscompares string (a newline is used to separate messages).
virtual function void print_newline (bit do_global_indent = 1)
Overrides ovm_printer::print_newline to not print a newline, effectively making everything appear on a single line.
virtual protected function void print_newline (bit do_global_indent = 1)
Prints a newline character.
virtual function void print_object (string name,  
ovm_object value,  
byte scope_separator = ".")
Prints an object.
virtual function void print_object_header (string name,  
ovm_object value,  
byte scope_separator = ".")
Prints the header of an object.
function void print_override_info(string requested_type_name,  
string name = "")
This factory debug method performs the same lookup process as create_object and create_component, but instead of creating an object, it prints information about what type of object would be created given the provided arguments.
virtual protected function void print_size (int size = -1)
Prints a field’s size.
virtual function void print_string (string name,  
string value,  
byte scope_separator = ".")
Prints a string field.
virtual function void print_time (string name,  
time value,  
byte scope_separator = ".")
Prints a time value.
virtual protected function void print_type_name (string name,  
bit is_object = )
Prints a field’s type name.
virtual protected function void print_value (ovm_bitstream_t value,  
int size,  
ovm_radix_enum radix = OVM_NORADIX)
Prints an integral field’s value.
virtual function void print_value_array (string value = "",
int size = 0)
Prints an array’s value.
virtual protected function void print_value_object (ovm_object value)
Prints a unique handle identifier for the given object.
virtual protected function void print_value_string (string value)
Prints a string field’s value.
virtual function void process_report(ovm_severity severity,
string name,
string id,
string message,
ovm_action action,
OVM_FILE file,
string filename,
int line,
string composed_message,
int verbosity_level,
ovm_report_object client)
Calls compose_message to construct the actual message to be output.
virtual function void push_back(item)
Inserts the given item at the back of the queue.
virtual function void push_front(item)
Inserts the given item at the front of the queue.
virtual task put(input T2 t)
Sends a response back to the sequence that issued the request.
virtual task put(input T1 t)
Sends a user-defined transaction of type T.
The put interfaces are used to send, or put, transactions to other components.
Transactions passed via put or try_put (via any port connected to the put_export) are sent out this port via its write method.
The put_export provides both the blocking and non-blocking put interface methods to any attached port:
The put_export provides both the blocking and non-blocking put interface methods to the request FIFO:
The put_export provides both the blocking and non-blocking put interface methods to the response FIFO:
virtual function void qualify(ovm_object obj = null,
bit is_raise  )
Checks that the given object is derived from either ovm_component or ovm_sequence_base.
function void raise_objection (ovm_object obj = null,
int count = 1)
Raises the number of objections for the source object by count, which defaults to 1.
virtual function void raise_objection (ovm_object obj = null,
int count = 1)
Calls ovm_objection::raise_objection after calling qualify.
virtual function void raised (ovm_objection objection,
ovm_object source_obj,
int count)
The raised callback is called when a decendant of the component instance raises the specfied objection.
virtual function void raised (ovm_object obj,
ovm_object source_obj,
int count)
Objection callback that is called when a raise_objection has reached obj.
function void ovm_root::raised (ovm_objection objection,
ovm_object source_obj,
int count)
function void record (ovm_recorder recorder = null)
The record method deep-records this object’s properties according to an optional recorder policy.
function integer record_error_tr (string stream_name = "main",
ovm_object info = null,
string label = "error_tr",
string desc = "",
time error_time = 0,
bit keep_active = 0)
This function marks an error transaction by a component.
function integer record_event_tr (string stream_name = "main",
ovm_object info = null,
string label = "event_tr",
string desc = "",
time event_time = 0,
bit keep_active = 0)
This function marks an event transaction by a component.
virtual function void record_field (string name,  
ovm_bitstream_t value,  
int size,  
ovm_radix_enum radix = OVM_NORADIX)
Records an integral field (less than or equal to 4096 bits).
virtual function void record_field_real (string name,
real value)
Records an real field.
virtual function void record_generic (string name,
string value)
Records the name-value pair, where value has been converted to a string, e.g.
virtual function void record_object (string name,
ovm_object value)
Records an object field.
virtual function void record_string (string name,
string value)
Records a string field.
virtual function void record_time (string name,
time value)
Records a time value.
These methods comprise the component-based transaction recording interface.
ovm_recursion_policy_enum policy = OVM_DEFAULT_POLICY
Sets the recursion policy for recording objects.
bit reference = 1
Controls whether to print a unique reference ID for object handles.
function void register (ovm_object_wrapper obj)
Registers the given proxy object, obj, with the factory.
virtual function void report ()
The report phase callback is the last of several predefined phase methods automatically called during the course of simulation.
virtual function void report(ovm_severity severity,
string name,
string id,
string message,
int verbosity_level,
string filename,
int line,
ovm_report_object client)
This is the common handler method used by the four core reporting methods (e.g., ovm_report_error) in ovm_report_object.
This set of macros provides wrappers around the ovm_report_* Reporting functions.
virtual function bit report_error_hook(string id,
string message,
int verbosity,
string filename,
int line)
virtual function bit report_fatal_hook(string id,
string message,
int verbosity,
string filename,
int line)
virtual function void report_header(OVM_FILE file =  0)
Prints version and copyright information.
virtual function bit report_hook(string id,
string message,
int verbosity,
string filename,
int line)
These hook methods can be defined in derived classes to perform additional actions when reports are issued.
virtual function bit report_info_hook(string id,
string message,
int verbosity,
string filename,
int line)
virtual function void report_summarize(OVM_FILE file =  0)
Outputs statistical information on the reports issued by the central report server.
virtual function bit report_warning_hook(string id,
string message,
int verbosity,
string filename,
int line)
The reporting classes provide a facility for issuing reports with consistent formatting.
This export provides the blocking put interface whose default implementation produces an error.
The push sequencer requires access to a blocking put interface.
Transactions passed via put or try_put (via any port connected to the put_request_export) are sent out this port via its write method.
function void reseed ()
Calls srandom on the object to reseed the object using the OVM seeding mechanism, which sets the seed based on type name and instance name instead of based on instance position in a thread.
virtual function void reset (bit wakeup = 1)
Resets the barrier.
virtual function void reset (bit wakeup = )
Resets the event to its off state.
function void reset ()
Resets phase state such that is_done and is_in_progress both return 0.
function void reset_quit_count()
Set, get, increment, or reset to 0 the quit count, i.e., the number of COUNT actions issued.
function void reset_report_handler
Resets the underlying report handler to its default settings.
function void reset_severity_counts()
Set, get, or increment the counter for the given severity, or reset all severity counters to 0.
virtual function void resolve_bindings ()
Processes all port, export, and imp connections.
virtual function void resolve_bindings()
This callback is called just before entering the end_of_elaboration phase.
Transactions passed via put or try_put (via any port connected to the put_response_export) are sent out this port via its write method.
virtual function void response_handler(ovm_sequence_item response)
When the use_reponse_handler bit is set to 1, this virtual task is called by the sequencer for each response that arrives for this sequence.
int unsigned result = 0
This bit stores the number of miscompares for a given compare operation.
virtual task resume ()
Resumes the process tree spawned from this component’s currently executing task-based phase, e.g.
This is the analysis export used by drivers or monitors to send responses to the sequencer.
This port provides an alternate way of sending responses back to the originating sequencer.
This analysis port is used to send response transactions back to the originating sequencer.
virtual task run ()
The run phase callback is the only predefined phase that is time-consuming, i.e., task-based.
task run()
The push sequencer continuously selects from its list of available sequences and sends the next item from the selected sequence out its req_port using req_port.put(item).
virtual function bit run_hooks(ovm_report_object client,
ovm_severity severity,
string id,
string message,
int verbosity,
string filename,
int line)
The run_hooks method is called if the OVM_CALL_HOOK action is set for a report.
task run_test (string test_name = "")
Convenience function for ovm_top.run_test().
virtual task run_test (string test_name = "")
Phases all components through all registered phases.
function void send_request(ovm_sequence_item request,  
bit rerandomize =  0)
This method will send the request item to the sequencer, which will forward it to the driver.
virtual function void send_request(ovm_sequence_item request,  
bit rerandomize =  0)
The send_request function may only be called after a wait_for_grant call.
virtual function void send_request(ovm_sequence_base sequence_ptr,  
ovm_sequence_item t,  
bit rerandomize =  0)
Derived classes implement this function to send a request item to the sequencer, which will forward it to the driver.
virtual function void send_request(ovm_sequence_base sequence_ptr,  
ovm_sequence_item t,  
bit rerandomize =  0)
The send_request function may only be called after a wait_for_grant call.
string separator = "{}"
Determines the opening and closing separators used for nested objects.
ovm_seq_item_pull_imp #(REQ,
RSP,
this_type) seq_item_export
This export provides access to this sequencer’s implementation of the sequencer interface, sqr_if_base #(REQ,RSP), which defines the following methods:
Derived driver classes should use this port to request items from the sequencer.
rand int unsigned seq_kind
Used as an identifier in constraints for a specific sequence type.
These macros are used to start sequences and sequence items that were either registered with a `ovm-sequence_utils macro or whose associated sequencer was already set using the set_sequencer method.
Sequences encapsulate user-defined procedures that generate multiple ovm_sequence_item-based transactions.
These macros are used to start sequences and sequence items on a specific sequencer, given in a macro argument.
The sequence-specific macros perform the same function as the set of `ovm_object_*_utils macros, except they also set the default sequencer type the sequence will run on.
The sequencer serves as an arbiter for controlling transaction flow from multiple stimulus generators.
The sequencer-specific macros perform the same function as the set of `ovm_componenent_*utils macros except that they also declare the plumbing necessary for creating the sequencer’s sequence library.
function void set_arbitration(SEQ_ARB_TYPE val)
Specifies the arbitration mode for the sequencer.
virtual function void set_auto_reset (bit value = 1)
Determines if the barrier should reset itself after the threshold is reached.
function void set_config_int (string inst_name,
string field_name,
ovm_bitstream_t value)
This is the global version of set_config_int in ovm_component.
virtual function void set_config_int (string inst_name,
string field_name,
ovm_bitstream_t value)
function void set_config_object (string inst_name,  
string field_name,  
ovm_object value,  
bit clone = 1)
This is the global version of set_config_object in ovm_component.
virtual function void set_config_object (string inst_name,  
string field_name,  
ovm_object value,  
bit clone = 1)
Calling set_config_* causes configuration settings to be created and placed in a table internal to this component.
function void set_config_string (string inst_name,
string field_name,
string value)
This is the global version of set_config_string in ovm_component.
virtual function void set_config_string (string inst_name,
string field_name,
string value)
function void set_default_index (int index)
Sets the default implementation port to use when calling an interface method.
function void set_depth(int value)
The depth of any sequence is calculated automatically.
function void set_drain_time (ovm_object obj,
time drain)
Sets the drain time on the given object to drain.
function void set_global_stop_timeout(time timeout)
Convenience function for ovm_top.stop_timeout = timeout.
function void set_global_timeout(time timeout)
Convenience function for ovm_top.phase_timeout = timeout.
function void set_id_count(string id,
int count)
function void set_id_info(ovm_sequence_item item)
Copies the sequence_id and transaction_id from the referenced item into the calling item.
function void set_initiator (ovm_component initiator)
Sets initiator as the initiator of this transaction.
function void set_inst_override(string relative_inst_path,
string original_type_name,
string override_type_name)
A convenience function for ovm_factory::set_inst_override_by_type, this method registers a factory override for components created at this level of hierarchy or below.
static function void set_inst_override(ovm_object_wrapper override_type,  
string inst_path,  
ovm_component parent = null)
Configures the factory to create a component of the type represented by override_type whenever a request is made to create an object of the type, T, represented by this proxy, with matching instance paths.
static function void set_inst_override(ovm_object_wrapper override_type,  
string inst_path,  
ovm_component parent = null)
Configures the factory to create an object of the type represented by override_type whenever a request is made to create an object of the type represented by this proxy, with matching instance paths.
function void set_inst_override_by_name (string original_type_name,
string override_type_name,
string full_inst_path)
Configures the factory to create an object of the override’s type whenever a request is made to create an object of the original type using a context that matches full_inst_path.
function void set_inst_override_by_type(string relative_inst_path,
ovm_object_wrapper original_type,
ovm_object_wrapper override_type)
A convenience function for ovm_factory::set_inst_override_by_type, this method registers a factory override for components and objects created at this level of hierarchy or below.
function void set_inst_override_by_type (ovm_object_wrapper original_type,
ovm_object_wrapper override_type,
string full_inst_path)
virtual function void set_int_local (string field_name,  
ovm_bitstream_t value,  
bit recurse = 1)
function void set_max_quit_count(int count)
virtual function void set_name (string name)
Renames this component to name and recalculates all descendants’ full names.
virtual function void set_name (string name)
Sets the instance name of this object, overwriting any previously given name.
function void set_num_last_reqs(int unsigned max)
Sets the size of the last_requests buffer.
function void set_num_last_rsps(int unsigned max)
Sets the size of the last_responses buffer.
virtual function void set_object_local (string field_name,  
ovm_object value,  
bit clone = 1,
bit recurse = 1)
These methods provide write access to integral, string, and ovm_object-based properties indexed by a field_name string.
function void set_parent_sequence(ovm_sequence_base parent)
Sets the parent sequence of this sequence_item.
function void set_priority (int value)
The priority of a sequence may be changed at any point in time.
function void set_quit_count(int quit_count)
function void set_report_default_file (OVM_FILE file)
function void set_report_default_file_hier (OVM_FILE file)
function void set_report_handler(ovm_report_handler handler)
Sets the report handler, overwriting the default instance.
function void set_report_id_action (string id,
ovm_action action)
function void set_report_id_action_hier (string id,
ovm_action action)
function void set_report_id_file (string id,
OVM_FILE file)
function void set_report_id_file_hier (string id,
OVM_FILE file)
function void set_report_max_quit_count(int max_count)
Sets the maximum quit count in the report handler to max_count.
function void set_report_severity_action (ovm_severity severity,
ovm_action action)
function void set_report_severity_action_hier (ovm_severity severity,
ovm_action action)
function void set_report_severity_file (ovm_severity severity,
OVM_FILE file)
function void set_report_severity_file_hier (ovm_severity severity,
OVM_FILE file)
function void set_report_severity_id_action (ovm_severity severity,
string id,
ovm_action action)
These methods associate the specified action or actions with reports of the given severity, id, or severity-id pair.
function void set_report_severity_id_action_hier(ovm_severity severity,
string id,
ovm_action action)
These methods recursively associate the specified action with reports of the given severity, id, or severity-id pair.
function void set_report_severity_id_file (ovm_severity severity,
string id,
OVM_FILE file)
These methods configure the report handler to direct some or all of its output to the given file descriptor.
function void set_report_severity_id_file_hier(ovm_severity severity,
string id,
OVM_FILE file)
These methods recursively associate the specified FILE descriptor with reports of the given severity, id, or severity-id pair.
function void set_report_verbosity_level (int verbosity_level)
This method sets the maximum verbosity level for reports for this component.
function void set_report_verbosity_level_hier (int verbosity)
This method recursively sets the maximum verbosity level for reports for this component and all those below it.
function void set_response_queue_depth(int value)
The default maximum depth of the response queue is 8.
function void set_response_queue_error_report_disabled(bit value)
By default, if the response_queue overflows, an error is reported.
virtual function void set_sequencer(ovm_sequencer_base sequencer)
Sets the default sequencer for the sequence to sequencer.
virtual function void set_sequencer(ovm_sequencer_base sequencer)
Sets the default sequencer for the sequence to run on.
function void set_sequencer(ovm_sequencer_base sequencer)
function void set_severity_count(ovm_severity severity,
int count)
virtual function void set_string_local (string field_name,  
string value,  
bit recurse = 1)
virtual function void set_threshold (int threshold)
Sets the process threshold.
function void set_transaction_id(integer id)
Sets this transaction’s numeric identifier to id.
static function void set_type_override(string original_type_name,  
string override_type_name,  
bit replace = 1)
A convenience function for ovm_factory::set_type_override_by_name, this method configures the factory to create an object of type override_type_name whenever the factory is asked to produce a type represented by original_type_name.
static function void set_type_override (ovm_object_wrapper override_type,  
bit replace = 1)
Configures the factory to create an object of the type represented by override_type whenever a request is made to create an object of the type, T, represented by this proxy, provided no instance override applies.
static function void set_type_override (ovm_object_wrapper override_type,  
bit replace = 1)
Configures the factory to create an object of the type represented by override_type whenever a request is made to create an object of the type represented by this proxy, provided no instance override applies.
function void set_type_override_by_name (string original_type_name,  
string override_type_name,  
bit replace = 1)
Configures the factory to create an object of the override’s type whenever a request is made to create an object of the original type, provided no instance override applies.
static function void set_type_override_by_type (
   ovm_object_wrapper original_type,  
   ovm_object_wrapper override_type,  
   bit replace = 1
)
A convenience function for ovm_factory::set_type_override_by_type, this method registers a factory override for components and objects created at this level of hierarchy or below.
function void set_type_override_by_type (ovm_object_wrapper original_type,  
ovm_object_wrapper override_type,  
bit replace = 1)
function void set_use_sequence_info(bit value)
ovm_severity sev = OVM_INFO
Sets the severity for printed messages.
int unsigned show_max = 1
Sets the maximum number of messages to send to the messager for miscompares of an object.
bit show_radix = 1
Indicates whether the radix string (‘h, and so on) should be prepended to an integral value when one is printed.
bit show_root = 0
This setting indicates whether or not the initial object that is printed (when current depth is 0) prints the full path name.
function int size ()
Gets the number of implementation ports connected to this port.
bit size = 1
Controls whether to print a field’s size.
virtual function int size ()
Returns the number of items stored in the queue.
virtual function int size()
Returns the capacity of the FIFO-- that is, the number of entries the FIFO is capable of holding.
int size_width = 5
Sets the width of the size column.
Exports a single interface that allows a slave to get or peek requests and to put responses.
function string sprint (ovm_printer printer = null)
The sprint method works just like the print method, except the output is returned in a string rather than displayed.
virtual class sqr_if_base #(type T1 = ovm_object,
 T2 = T1)
This class defines an interface for sequence drivers to communicate with sequencers.
virtual task start (ovm_sequencer_base sequencer,  
ovm_sequence_base parent_sequence =  null,
integer this_priority =  100,
bit call_pre_post =  1)
The start task is called to begin execution of a sequence.
virtual task start (ovm_sequencer_base sequencer,  
ovm_sequence_base parent_sequence =  null,
integer this_priority =  100,
bit call_pre_post =  1)
The start task is called to begin execution of a sequence
virtual task start_default_sequence()
Sequencers provide the start_default_sequence task to execute the default sequence in the run phase.
virtual task start_default_sequence()
Called when the run phase begins, this method starts the default sequence, as specified by the default_sequence member variable.
start_item and finish_item together will initiate operation of either a sequence_item or sequence object.
virtual task start_item(ovm_sequence_item item,  
int set_priority =  -1)
start_item and finish_item together will initiate operation of either a sequence_item or sequence object.
virtual function void start_of_simulation ()
The start_of_simulation phase callback is one of several methods automatically called during the course of simulation.
function string status ()
Returns the status of the parent process associated with the currently running task-based phase, e.g., run.
virtual task stop (string ph_name)
The stop task is called when this component’s enable_stop_interrupt bit is set and global_stop_request is called during a task-based phase, e.g., run.
function void stop_request()
Calling this function triggers the process of shutting down the currently running task-based phase.
virtual function void stop_sequences()
Tells the sequencer to kill all sequences and child sequences currently operating on the sequencer, and remove all requests, locks and responses that are currently queued.
virtual function void stop_sequences()
Tells the sequencer to kill all sequences and child sequences currently operating on the sequencer, and remove all requests, locks and responses that are currently queued.
virtual function void stop_stimulus_generation
Stops the generation of stimulus.
time stop_timeout = `OVM_DEFAULT_TIMEOUT
These set watchdog timers for task-based phases and stop tasks.
The sequence has been forcibly ended by issuing a kill() on the sequence.
virtual function void summarize(OVM_FILE file = )
See ovm_report_object::report_summarize method.
virtual task suspend ()
Suspends the process tree spawned from this component’s currently executing task-based phase, e.g.
This type parameter specifies the base object type with which the CB callback objects will be registered.
The TLM implemenation declaration macros provide a way for an implementer to provide multiple implemenation ports of the same implementation interface.
The OVM TLM library defines several abstract, transaction-level interfaces and the ports and exports that facilitate their use.
class tlm_analysis_fifo #(type T =  int) extends tlm_fifo #(T)
An analysis_fifo is a tlm_fifo with an unbounded size and a write interface.
class tlm_fifo #(type T = int) extends tlm_fifo_base #(T)
This class provides storage of transactions between two independently running processes.
virtual class tlm_fifo_base #(type T = int) extends ovm_component
This class is the base for tlm_fifo #(T).
virtual class tlm_if_base #(type T1 = int,
type T2 = int)
This class declares all of the methods of the TLM API.
class tlm_req_rsp_channel #(type REQ = int,
type RSP = REQ) extends ovm_component
The tlm_req_rsp_channel contains a request FIFO of type REQ and a response FIFO of type RSP.
class tlm_transport_channel #(
   type REQ = int,
   type RSP = REQ
) extends tlm_req_rsp_channel #(REQ, RSP)
A tlm_transport_channel is a tlm_req_rsp_channel #(REQ,RSP) that implements the transport interface.
integer tr_handle = 0
This is an integral handle to a transaction object.
function void trace_mode(bit mode)
This function takes a single argument to turn on (1) or off (0) tracing.
virtual task transport(input T1 req ,
output T2 rsp)
Executes the given request and returns the response in the given output argument.
The transport interface sends a request transaction and returns a response transaction in a single task call, thereby enforcing an in-order execution semantic.
The put_export provides both the blocking and non-blocking transport interface methods to the response FIFO:
virtual function void trigger (ovm_object data = null)
Triggers the event, resuming all waiting processes.
string truncation = "+"
Specifies the character to use to indicate a field was truncated.
virtual function bit try_get(output T2 t)
Provides a new transaction of type T.
virtual task try_next_item(output T1 t)
Retrieves the next available item from a sequence if one is available.
virtual function bit try_peek(output T2 t)
Provides a new transaction without consuming it.
virtual function bit try_put(input T1 t)
Sends a transaction of type T, if possible.
bit type_name = 1
Controls whether to print a field’s type name.
int type_width = 20
Sets the width of the type column.
function void ungrab(ovm_sequencer_base sequencer =  null)
Removes any locks or grabs obtained by this sequence on the specified sequencer.
virtual function void ungrab(ovm_sequence_base sequence_ptr)
Removes any locks and grabs obtained by the specified sequence_ptr.
The unidirectional TLM interfaces consist of blocking, non-blocking, and combined blocking and non-blocking variants of the put, get and peek interfaces, plus a non-blocking analysis interface.
function void unlock(ovm_sequencer_base sequencer =  null)
Removes any locks or grabs obtained by this sequence on the specified sequencer.
virtual function void unlock(ovm_sequence_base sequence_ptr)
Removes any locks and grabs obtained by the specified sequence_ptr.
function int unpack (ref bit bitstream[],  
input ovm_packer packer = null)
function int unpack_bytes (ref byte unsigned bytestream[],  
input ovm_packer packer = null)
virtual function ovm_bitstream_t unpack_field (int size)
Unpacks bits from the pack array and returns the bit-stream that was unpacked.
virtual function logic[63:0] unpack_field_int (int size)
Unpacks bits from the pack array and returns the bit-stream that was unpacked.
function int unpack_ints (ref int unsigned intstream[],  
input ovm_packer packer = null)
The unpack methods extract property values from an array of bits, bytes, or ints.
virtual function void unpack_object (ovm_object value)
Unpacks an object and stores the result into value.
virtual function real unpack_real ()
Unpacks the next 64 bits of the pack array and places them into a real variable.
virtual function string unpack_string (int num_chars = -1)
Unpacks a string.
virtual function time unpack_time ()
Unpacks the next 64 bits of the pack array and places them into a time variable.
string unsigned_radix = "'d"
This is the string which should be prepended to the value of an integral type when a radix of OVM_UNSIGNED is used for the radix of the integral object.
We provide an example to illustrate basic TLM connectivity using the blocking put inteface.
Using the factory involves three basic operations
This section describes usage for the ovm_*_registry classes.
bit use_metadata = 0
This flag indicates whether to encode metadata when packing dynamic data, or to decode metadata when unpacking.
static bit use_ovm_seeding = 1
This bit enables or disables the OVM seeding mechanism.
function void use_response_handler(bit enable)
When called with enable set to 1, responses will be sent to the response handler.
virtual function int used()
Returns the number of entries put into the FIFO.
virtual function integer user_priority_arbitration(integer avail_sequences[$])
If the sequencer arbitration mode is set to SEQ_ARB_USER (via the set_arbitration method), then the sequencer will call this function each time that it needs to arbitrate among sequences.
The utility macros provide implementations of the ovm_object::create method, which is needed for cloning, and the ovm_object::get_type_name method, which is needed for a number of debugging features.
int value_width = 20
Sets the width of the value column.
int unsigned verbosity = OVM_LOW
Sets the verbosity for printed messages.
do not inadvertently filter them out.