ovm_test

This class is the virtual base class for the user-defined tests.

The ovm_test virtual class should be used as the base class for user-defined tests.  Doing so provides the ability to select which test to execute using the OVM_TESTNAME command line or argument to the ovm_root::run_test task.

For example

prompt> SIM_COMMAND +OVM_TESTNAME=test_bus_retry

The global run_test() task should be specified inside an initial block such as

initial run_test();

Multiple tests, identified by their type name, are compiled in and then selected for execution from the command line without need for recompilation.  Random seed selection is also available on the command line.

If +OVM_TESTNAME=test_name is specified, then an object of type ‘test_name’ is created by factory and phasing begins.  Here, it is presumed that the test will instantiate the test environment, or the test environment will have already been instantiated before the call to run_test().

If the specified test_name cannot be created by the ovm_factory, then a fatal error occurs.  If run_test() is called without OVM_TESTNAME being specified, then all components constructed before the call to run_test will be cycled through their simulation phases.

Deriving from ovm_test will allow you to distinguish tests from other component types that inherit from ovm_component directly.  Such tests will automatically inherit features that may be added to ovm_test in the future.

Summary
ovm_test
This class is the virtual base class for the user-defined tests.
Class Hierarchy
Class Declaration
virtual class ovm_test extends ovm_component
Methods
newCreates and initializes an instance of this class using the normal constructor arguments for ovm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

new

function new (string name,
ovm_component parent)

Creates and initializes an instance of this class using the normal constructor arguments for ovm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

virtual class ovm_object extends ovm_void
The ovm_object class is the base class for all OVM data and hierarchical classes.
class ovm_report_object extends ovm_object
The ovm_report_object provides an interface to the OVM reporting facility.
virtual class ovm_component extends ovm_report_object
The ovm_component class is the root base class for OVM components.
virtual class ovm_test extends ovm_component
This class is the virtual base class for the user-defined tests.
function new (string name,
ovm_component parent)
Creates and initializes an instance of this class using the normal constructor arguments for ovm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.
virtual task run_test (string test_name = "")
Phases all components through all registered phases.
class ovm_factory
As the name implies, ovm_factory is used to manufacture (create) OVM objects and components.