You are on page 1of 11

OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names

Introduction
As you start exploring OVM, there is a danger of getting lost in a mass of detail. In the end, there is
no substitute for gradually building up your understanding concept by concept, and that takes time.
But to try to make things easier, here is an alphabetical dictionary of the more important OVM
names, with a brief description of each.

Abbreviations used in this dictionary


c. class
cp. class property (aka. data member, field)
ext. extends
f. function
h. header file
m. method
ma. macro
pa. parameter
pk. package
sm. static method
t. type
* A wildcard character to abbreviate a family of closely related names

OVM Dictionary
action: t. An enum with the values NO_ACTION, DISPLAY, LOG, COUNT, EXIT, CALL_HOOK.
Used to determine the action taken by the report handler. The values can be combined using the or
operator, |. See ovm_report_object.
add_seq_cons_if: m. of ovm_virtual_sequencer. Adds an object to a virtual sequencer allowing it
to be connected to a downstream sequencer. Call once for each sequencer controlled by the virtual
sequencer.
apply: m. of ovm_sequence. A task to execute an existing sequence item without calling the do
actions pre_do, mid_do, and post_do. The sequence item must already exist and be randomized.
An alternative to `ovm_do. See pre_apply, mid_apply, post_apply.
body: m. of ovm_sequence. Performs the main behavior associated with a sequence. May be
overridden by each user-defined sequence class. See pre_body, post_body.
build: m. of ovm_component. Called following construction and before the export_connections
phase for a component. May be overridden by each user-defined component. Typically used to
instantiate components. Should first call super.build.
check: m. of ovm_component. Called following the extract phase and before the report phase for a
component. May be overridden by each user-defined component. Typically used to perform post-
processing checks dependent to the results of the extract phase.
clone: m. of ovm_object. Virtual method to create a new copy of the current ovm_object. In order to

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

1
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


provide class-specific copying behavior, the user should override the do_copy method, not the
clone method.
compare: m. of ovm_object. Method to compare one ovm_object with another. In order to provide
class-specific behavior, the user should override the do_compare method, not the compare method.
configure: m. of ovm_component. Called following the end_of_elaboration phase and before the
run phase for a component. May be overridden by each user-defined component. Typically used to
perform configuration and initialization actions immediately before simulation.
connect: m. of ovm_component and ovm_port_base. Called following export_connections phase
and before the import_connections phase for a component. May be overridden by each user-
defined component. Typically used to bind ports to exports. For ovm_port_base, creates a binding
between one port or export and another.
connect_if: m. of ovm_seq_item_cons_if and ovm_seq_item_prod_if. Method to connect a
sequence item producer interface to a sequence item consumer interface. The method of either
interface may be called.
convert2string: m. of ovm_transaction. Method to convert a transaction to a string.
copy: m. of ovm_object. Method to copy the properties of the current ovm_object from another. In
order to provide class-specific copying behavior, the user should override the do_copy method, not
the copy method.
count: cp. of ovm_sequencer_base. Property used by ovm_random_sequence to determine how
many sequences to generate. The default value of –1 indicates that between 1 and
max_random_count sequences will be generated. May be set using set_config_int.
create_component: sm. of ovm_factory and m. of ovm_component. Creates an instantiation of a
component that was previously registered using ovm_component_utils and subject to any overrides
set using set_inst_override or set_type_override.
create_object: sm. of ovm_factory and m. of ovm_component. Creates an instantiation of an
ovm_object that was previously registered using ovm_object_utils and subject to any overrides set
using set_inst_override or set_type_override.
current_grabber: m. of ovm_seq_cons_if. A method that returns a reference to the sequence that
is currently grabbing the sequencer connected to the current interface, or null if there is none. Must
not be called for an interface connected to a virtual sequencer.
default_sequence: cp. of ovm_sequencer_base. The name of the sequence that will be started
automatically on the sequencer. May be set using set_config_string.
enable_stop_interrupt: cp. of ovm_component. Set to indicate that a component wishes to have
its stop task called following a call to global_stop_request.
end_of_elaboration: m. of ovm_component. Called following the import_connections phase for a
component. May be overridden by each user-defined component. Typically used to perform actions
that depend on the connections having been hardened.

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

2
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


export_connections: m. of ovm_component. Called following the build phase and before the
connect phase for a component. May be overridden by each user-defined component. Typically
used to bind exports to exports going down the component hierarchy.
extract: m. of ovm_component. Called following the run phase and before the check phase for a
component. May be overridden by each user-defined component. Typically used to extract state
and coverage information from the design-under-test and verification environment prior to post-
process checking.
finish_on_completion: cp. of ovm_env. A flag with default value 1, meaning $finish gets called at
the end of run_test.
generate_stimulus: m. of ovm_random_stimulus. Clones an object of polymorphic type passed as
an argument, randomizes, and sends it out though the blocking port of ovm_random_stimulus.
get_full_name: m. of ovm_object, ovm_component and ovm_sequence_item. Method returns the
full hierarchical instance name of the given object.
get_next_item: m. of ovm_seq_item_prod_if and ovm_sequencer. Blocking method called from a
driver to get the next available transaction from a sequencer.
get_sequence: m. of ovm_sequencer_base and ovm_sequence. Method uses the factory to create
a new sequence object given an integer index into the sequence kind map, and returns a reference
to that sequence.
get_sequencer_type_name: m. of ovm_seq_cons_if. A method that returns the class name of the
sequencer connected to the given sequence consumer interface. If none, returns
“NOT_CONNECTED”.
get_seq_kind: m. of ovm_sequencer_base and ovm_sequence. Method returns an integer index
into the sequence kind map given the string name of a sequence.
get_type: static m. of ovm_object. Returns the type-proxy (wrapper) for this object. The
ovm_factory’s type-based override and creation methods take arguments of ovm_object_wrapper.
This method can be used as convenient means of supplying those arguments. Implemented by the
utility macros.
get_type_name: m. of ovm_object. Method to return the type name of the object as a string. The
type name is set using ovm_object_utils or ovm_component_utils
global_stop_request: sm. of ovm_component. Causes the run phase to be terminated and
simulation to advance to the extract phase, but only after all components with the
enable_stop_interrupt bit set have had their stop methods called.
grab: m. of ovm_seq_cons_if. A blocking task that requests exclusive access to the sequencer
connected to the current interface. Requesting sequences are blocked until exclusive access can
be granted. Must not be called for an interface connected to a virtual sequencer.
import_connections: m. of ovm_component. Called following the connect phase and before the
end_of_elaboration phase for a component. May be overridden by each user-defined component.

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

3
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


Typically used to bind ports to ports going up the component hierarchy.
item_done: m. of ovm_seq_item_prod_if. Method called from a driver to indicate to the sequencer
that it is done processing the current transaction. The item in question may be passed back to the
sequencer as an argument
is_connected: m. of ovm_seq_cons_if. A method that returns true if and only if the interface is
connected to a sequence consumer.
is_grabbed: m. of ovm_seq_cons_if. A method that returns true if and only if the sequencer
connected to the current interface has been grabbed by a call to the grab method. Must not be
called for an interface connected to a virtual sequencer.
is_virtual_sequencer: m. of ovm_seq_cons_if. A method that returns true if and only if the
interface is connected to a virtual sequencer, as opposed to a non-virtual sequencer. Do not call
unless is_connected returns true.
max_random_count: cp. of ovm_sequencer_base. Property used by ovm_random_sequence to
determine the upper limit of the number of sequences to be generated, the actual number being
chosen at random between 1 and max_random_count. Only used when count = -1. See count.
mid_apply: m. of ovm_sequence. A task called by the apply task of a sequence after pre_apply
and before executing the item or sending it to the consumer. See apply.
mid_do: m. of ovm_sequence. A task called in the middle of the do actions for a sequence, that is,
after the sequence item has been randomized and before executing the body method in the case of
a sequence, or after passing the item to a consumer in the case of a transaction. May be overridden
by each user-defined sequence class. See ovm_do, pre_do, post_do.
ovm.svh: h. Contains all OVM definitions. Either include this file or import ovm_pkg.
ovm_active_passive_enum: t. Enum type intended for use when defining a field within an
ovm_agent to indicate whether or not the sequencer and driver components are enabled. See
ovm_agent.
ovm_agent: c. ext. ovm_component. A methodology base class serving as the base class for
agents. An agent typically contains a sequencer, a driver and a monitor and thus encapsulates the
stimulus generation, checking and coverage functions for a specific interface at a specific level in a
protocol stack. By convention, an agent has a configuration flag, specifying whether the agent is
active or passive, passive meaning that the sequencer and driver are disabled. See
ovm_active_passive_enum.
ovm_analysis_port: c. ext. ovm_report_object. A port that may be registered with multiple
subscribers. A call to the write method of the analysis port is automatically propagated to every
registered subscriber.
ovm_analysis_export: c. ext. ovm_report_object. An export with the same functionality as an
analysis port.
OVM_ALL_ON: pa. Field macro flag to indicate that all options are to be turned on.

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

4
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


ovm_barrier: c. ext. ovm_object. A synchronization primitive that causes processes to block until
every process in a given set has reached the barrier.
ovm_barrier_pool: c. ext. ovm_object. An associative array of ovm_barrier objects.
ovm_blocking_get_port: c. A port that forwards the blocking get method. Typically, would be
connected to a tlm_fifo.
ovm_blocking_put_port: c. A port that forwards the blocking put method. Typically, would be
connected to a tlm_fifo.
ovm_component: c. ext. ovm_report_object. The base class for structural building blocks. A
component has a name and a position in the hierarchy of the verification environment. Provides the
configuration interface set_config_* and get_config_*. Can contain a run() method implementing a
concurrent thread.
ovm_component_utils: ma. Provides automation for ovm_components such that they can be
instantiated by factories. Placed within a component class.
ovm_component_utils_begin, ovm_component_utils_end: ma. Provides automation for
ovm_components where there are specific fields to be defined using enclosed ovm_field_* macros.
OVM_DEC: pa. Field macro flag to indicate decimal radix is to be used for an integral field.
OVM_DEFAULT: pa. Field macro flag to indicate default settings.
ovm_do: ma. A macro that creates a sequence item, randomizes the item, executes the pre_do,
mid_do and post_do action methods, and executes the body method in the case of a sequence, or
handshakes with the consumer in the case of a transaction.
ovm_do_seq: ma. A sequence action used within the body method of a virtual sequence to
execute a sequence on another sequencer. The first argument is a variable name that will refer to
the sequence item created by the macro, the second argument is an element of the seq_cons_if
associative array of the virtual sequencer.
ovm_do_with: ma. As for ovm_do, except that the randomize step uses a constraint passed in-line
as the second argument.
ovm_do_seq_with: ma. As for ovm_do_seq, except that the randomize step uses a constraint
passed in-line as the third argument.
ovm_driver: c. ext. ovm_component. A methodology base class serving as the base class for
drivers. A driver communicates with a sequencer (or other means of generating transactions) and
with the design-under-test, typically through an interface. Has a built-in sequence item producer
interface.
ovm_env: c. ext. ovm_component. A methodology base class representing a hierarchical
verification environment. May instantiate ovm_components. May be the top-level of the verification
environment, or may be instantiated within another ovm_env.
ovm_event: c. ext. ovm_object. A wrapper around a Verilog named event, providing additional

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

5
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


services such as callbacks and level sensitivity.
ovm_event_pool: c. ext. ovm_object. An associative array of ovm_event objects.
ovm_exhaustive_sequence: c. ext. ovm_sequence. Built-in sequence that selects and executes
every sequence in a sequencer’s list exactly once, but excluding ovm_random_sequence and
ovm_exhaustive_sequence itself.
ovm_factory: c. ext. ovm_object. A class that creates polymorphic transactions and components
using the string name with which they were registered. Each simulation contains a singleton factory
instance. Use in preference to new.
ovm_field_int: ma. Provides automation for integral fields. Used between ovm_*_utils_begin and
ovm_*_utils_end.
ovm_field_enum: ma. Provides automation for enum fields. Used between ovm_*_utils_begin and
ovm_*_utils_end.
ovm_field_object: ma. Provides automation for fields derived from ovm_object. Used between
ovm_*_utils_begin and ovm_*_utils_end.
ovm_field_string: ma. Provides automation for string fields. Used between ovm_*_utils_begin and
ovm_*_utils_end.
ovm_get_port: c. A port that forwards the get, try_get and can_get methods. Typically, would be
connected to a tlm_fifo.
ovm_*_imp: c. A class that provides an implementation of the appropriate TLM interface for
convenience when using an export. The intent is to create a local instance of the imp class, then
bind the export to the imp.
ovm_in_order_comparator: c. ext. ovm_component. A utility class that compares two transaction
streams for equality. Uses ovm_report_object to report matches and mismatches.
ovm_macros.svh: h. Contains the OVM macro definitions. Include in any file that uses an OVM
macro.
ovm_monitor: c. ext. ovm_component. A methodology base class serving as the base class for
monitors. A monitor is a passive component that performs checking and functional coverage
collection.
ovm_nonblocking_get_port: c. A port that forwards the try_get and can_get methods. Typically,
would be connected to a tlm_fifo.
ovm_nonblocking_put_port: c. A port that forwards the try_put and can_put methods. Typically,
would be connected to a tlm_fifo.
ovm_object: c. ext. ovm_void. The base class for many other OVM classes, including ovm_event,
ovm_report_object, ovm_component and ovm_transaction. Has a name, and has methods to copy,
compare, pack, unpack and print values.
ovm_object_utils: ma. Provides automation for ovm_objects such that they can be instantiated by

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

6
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


factories.
ovm_object_utils_begin, ovm_object_utils_end: ma. Provides automation for ovm_objects
where there are specific fields to be defined using enclosed ovm_field_* macros.
ovm_pkg: pk. Contains all OVM definitions. Either import ovm_pkg or include ovm.svh.
ovm_printer: c. The base class for tree, line and table printers. Used to control the formatting of
ovm_objects when they are printed. Contains an ovm_printer_knobs object. Unrelated to
ovm_report_object.
ovm_printer_knobs: c. Class containing a set of variables that may be modified to control the
formatting of the output from class ovm_printer.
ovm_put_port: c. A port that forwards the put, try_put and can_put methods. Typically, would be
connected to a tlm_fifo.
ovm_random_sequence: c. ext. ovm_sequence. Built-in sequence that selects at random and
executes a number of sequences from a sequencer’s list, but excluding ovm_exhaustive_sequence
and ovm_random_sequence itself. The number of sequences is given by the count property of
ovm_sequencer_base.
ovm_random_stimulus: c. ext. ovm_component. A utility class that generates a stream of random
transactions, where the full flexibility of the ovm_factory mechanism is not required. Has a blocking
put port. See generate_stimulus.
ovm_recorder: c. Used to control how an object is recorded when calling the record method of
ovm_object.
ovm_report_error: f. Generates a report with severity error.
ovm_report_fatal: f. Generates a report with severity fatal.
ovm_report_handler: c. Implements the state information related to defining custom report actions.
Applications should generally use ovm_report_object as the public interface to the report handler.
ovm_report_info: f. Generates a report with severity info.
ovm_report_warning: f. Generates a report with severity warning.
ovm_report_object: c. ext. ovm_object. A class that provides a set of methods for reporting,
including ovm_report_error and so on, and giving the ability to customize the behavior of the report
handler. Unrelated to ovm_printer, which is specifically concerned with formatting ovm_objects.
ovm_top: object of singleton class ovm_root. In OVM 2.0, the container for methods such as
ovm_scenario: c. ext. ovm_sequence_item. A stream of sequence items or other scenarios.
Scenarios may execute other scenarios in series or in parallel, and scenarios may be interleaved
using the scenario controller.
ovm_scenario_controller: c. ext. ovm_component. Placed between multiple scenarios and a
scenario driver to arbitrate between parallel scenarios.

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

7
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


ovm_scenario_driver: c. ext. ovm_component. Plays a similar role to an ovm_driver, but must be
connected to a scenario controller. Receives requests from and sends responses to the scenario
controller, and drives pin-level signals on the design-under-test.
ovm_scoreboard: c. ext. ovm_component. A methodology base class serving as the base class for
scoreboards. A scoreboard performs end-to-end functional checking and coverage analysis,
typically combining expected and actual transaction streams.
ovm_sequence: c. ext. ovm_sequence_item. The base class for user-defined sequences. Has a
set of hook methods that can be overridden to specify the generation of sequences consisting of
multiple sequence items.
ovm_sequence_item: c. ext. ovm_transaction. The base class for the individual items of a user-
defined sequence. Each item is either a transaction or another sequence.
ovm_sequence_utils: ma. Registers a given sequence with a given sequencer, and declares a
variable p_sequencer for use by the methods of a sequence. Placed within a sequence class.
ovm_sequencer: c. ext. ovm_component. The base class for user-defined sequencer components
that are able to generate a sequence of items.
ovm_simple_sequence: c. ext. ovm_sequence. Built-in sequence that executes a single
transaction as registered with the sequencer.
ovm_subscriber: c. ext. ovm_component. The methodology base class for subscribers. Provides
an analysis export. Each subclass must define a write method.
ovm_test: c. ext. ovm_component. A methodology base class serving as the base class for tests. A
test is selected using an argument to run_test or the +OVM_TESTNAME command line argument.
OVM_TESTNAME: command line plusarg to set the name of the test, that is, the name of a class
derived from ovm_test.
ovm_transaction: c. ext. ovm_object. The base class for transactions. A user-defined transaction
class should invoke the ovm_object_utils macro.
ovm_update_sequence_lib: ma. Populates the sequence list of a virtual sequencer with a minimal
set of sequences, that is, ovm_random_sequence and ovm_exhaustive_sequence. Place in the
constructor of the virtual sequencer.
ovm_update_sequence_lib_and_item: ma. Populates the sequence list of a sequencer with a
minimal set of sequences, that is, ovm_random_sequence, ovm_exhaustive_sequence, and
ovm_simple_sequence. Place in the constructor of the sequencer.
ovm_virtual_sequencer: c. ext. ovm_component. The base class for user-defined virtual
sequencers. A virtual sequencer is able to control the execution of other sequencers or virtual
sequencers, possibly having them generate sequences in parallel.
ovm_void: c. The base class for ovm_object and for any user-defined types that are to be treated
as objects. Permits user-defined objects to be manipulated in a similar way to ovm_objects, for

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

8
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


example, to be packed and printed.
pack: m. of ovm_object. Method to pack an ovm_object into a stream of bits. In order to provide
class-specific packing behavior, the user should override the do_pack method, not the pack
method.
pack_bytes: m. of ovm_object. Method to pack an ovm_object into a stream of bytes. In order to
provide class-specific packing behavior, the user should override the do_pack method, not the
pack_bytes method.
post_apply: m. of ovm_sequence. A task called by the apply task of a sequence after getting a
response back from the consumer. See apply.
post_body: m. of ovm_sequence. Task called after the body task of a sequence is executed. Only
called for sequences started by start_sequence, including the default sequence. May be overridden
by each user-defined sequence class. See body.
post_do: m. of ovm_sequence. A method called at the end of the do actions for a sequence item,
that is, after executing the body method in the case of a sequence, or the consumer finishing with
the item in the case of a transaction. May be overridden by each user-defined sequence class. See
ovm_do, pre_do, mid_do.
pre_apply: m. of ovm_sequence. A task called by the apply task of a sequence after selecting the
item to be applied and before mid_apply. See apply.
pre_body: m. of ovm_sequence. A task called before the body task of a sequence is executed.
Only called for sequences started by start_sequence, including the default sequence. May be
overridden by each user-defined sequence class. See body.
pre_do: m. of ovm_sequence. A task called at the start of the do actions for a sequence, before
randomizing the sequence variable. May be overridden by each user-defined sequence class. See
ovm_do, mid_do, post_do.
print: m. of ovm_object. Method to print an ovm_object. Formatting may be controlled by passing
an argument of type ovm_printer. In order to provide class-specific printing behavior, the user
should override the do_print method, not the print method.
record: m. of ovm_object. Method to record an ovm_object using an ovm_recorder. In order to
provide class-specific recording behavior, the user should override the do_record method, not the
record method.
report: m. of ovm_component. Called following the extract and check phases for a component. May
be overridden by each user-defined component. Typically used to report the results of the previous
phases back to the user.
run: m. of ovm_component. Called after the configure phase and before the extract phase for a
component. May be overridden by each user-defined component. Typically used to implement the
main behavior of a component.
run_test: f. & m. of ovm_env. Runs the test with the name given as an argument, or if the argument

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

9
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


is null, by the +OVM_TESTNAME command line argument. See ovm_test.
seq_item_export: cp. of ovm_sequencer. The sequence item consumer interface. Connected to
the sequence item producer interface of the corresponding ovm_driver.
seq_item_port: cp. of ovm_driver. The sequence item producer interface. Allows a driver to
communicate with a sequencer by getting items and putting responses.
seq_kind: cp. of ovm_sequencer_base and ovm_sequence. Variable that may be constrained
when selecting a sequence at random from an array of sequences.
set_config_int: f. & m. of ovm_component. Sets configuration information for a field of an integral
type. The information is copied to the field itself when the field’s parent object is created by the
factory.
set_config_object: f. & m. of ovm_component. Sets configuration information for a field of a type
derived from ovm_object. The information is copied to the field itself when the field’s parent object is
created by the factory.
set_config_string: f. & m. of ovm_component. Sets configuration information for a string field. The
information is copied to the field itself when the field’s parent object is created by the factory.
set_global_timeout: sm of ovm_component. Sets a global watchdog timer that will cause every
run method to return, even if those processes are suffering event starvation, and thus allow the later
simulation phases to run.
set_inst_override: m. of ovm_factory. Causes the factory to generate an object of a given subtype
when a given instance of a given supertype are requested, in components at this level of hierarchy
or below. Uses arguments of type string.
set_inst_override_by_type: sm. of ovm_factory. Causes the factory to generate an object of a
given subtype when a given instance of a given supertype are requested. Uses arguments of
ovm_object_wrapper, usually obtained using ovm_object::get_type();
set_report_id_action: m. of ovm_report_object. Associates an action with a given report id.
set_type_override: m. of ovm_factory. Causes the factory to generate objects of a given subtype
whenever objects of a given supertype are requested, in components at this level of hierarchy or
below.
set_type_override_by_type: sm. of ovm_factory. Causes the factory to generate an object of a
given subtype when a given instance of a given supertype are requested. Uses arguments of
ovm_object_wrapper, usually obtained using ovm_object::get_type();
severity: t. An enum with the four values OVM_INFO, OVM_WARNING, OVM_ERROR,
OVM_FATAL, used by the report handler.
start: m. of ovm_sequence. Blocking method which takes a sequencer reference as an argument,
and starts the sequence on the given sequencer.
start_sequence: m. of ovm_sequencer_base and ovm_seq_cons_if. Non-blocking method to start

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

10
OVM Dictionary Doulos, October 2008

A Dictionary of the most commonly used OVM names


a given sequence on a sequencer manually. The sequence passed as an argument must already
have been created and randomized.
stop: m. of ovm_component. Task called following a call to global_stop_request and before leaving
the run phase. May block until the component is ready for the run phase to end.
tlm_fifo: c. ext. ovm_component. A transaction-level FIFO that provides the put, try_put, can_put,
get, try_get and can_get methods.
ungrab: m. of ovm_seq_cons_if. A method that removes the effect of a previous call to grab for the
sequencer connected to the current interface. Must not be called for an interface connected to a
virtual sequencer.
unpack: m. of ovm_object. Method to unpack an ovm_object from a stream of bits. In order to
provide class-specific unpacking behavior, the user should override the do_unpack method, not the
unpack method.
unpack_bytes: m. of ovm_object. Method to unpack an ovm_object from a stream of bytes. In
order to provide class-specific unpacking behavior, the user should override the do_unpack method,
not the unpack_bytes method.
write: m. of ovm_analysis_port and ovm_subscriber. Non-blocking method called through an
analysis port and implemented by an ovm_subscriber.

Visit www.doulos.com/OVM for full details of Doulos OVM training and resources
Copyright  2008 by Doulos Ltd. All rights reserved. All information is provided “as is” without warranty of any kind

11

You might also like