blob: 376b0dce84374e5051ba8eb5e4fcd14dff936176 [file] [log] [blame]
<html><head><title>ovm_test</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
<!-- Generated by Natural Docs, version Development Release 01-12-2008 (1.35 base) -->
<!-- http://www.naturaldocs.org -->
<!-- saved from url=(0026)http://www.naturaldocs.org -->
<!--TOP - START OF CONTENT-->
<div id=Content>
<!--CONTENT index=0 -->
<div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="ovm_test" href="../../../../src/methodology/ovm_test.svh">ovm_test</a></h1><div class=CBody><p>This class is the virtual base class for the user-defined tests.</p><p>The ovm_test virtual class should be used as the base class for user-defined tests.&nbsp; Doing so provides the ability to select which test to execute using the OVM_TESTNAME command line or argument to the <a href="../base/ovm_root-svh.html#ovm_root.run_test" class=LMethod id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">ovm_root::run_test</a> task.</p><p>For example</p><blockquote><pre>prompt&gt; SIM_COMMAND +OVM_TESTNAME=test_bus_retry</pre></blockquote><p>The global run_test() task should be specified inside an initial block such as</p><blockquote><pre>initial run_test();</pre></blockquote><p>Multiple tests, identified by their type name, are compiled in and then selected for execution from the command line without need for recompilation.&nbsp; Random seed selection is also available on the command line.</p><p>If +OVM_TESTNAME=test_name is specified, then an object of type &lsquo;test_name&rsquo; is created by factory and phasing begins.&nbsp; 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().</p><p>If the specified test_name cannot be created by the <a href="../base/ovm_factory-svh.html#ovm_factory" class=LClass id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">ovm_factory</a>, then a fatal error occurs.&nbsp; 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.</p><p>Deriving from ovm_test will allow you to distinguish tests from other component types that inherit from ovm_component directly.&nbsp; Such tests will automatically inherit features that may be added to ovm_test in the future.</p>
<!--START_ND_SUMMARY index=0-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=0 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_test" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">ovm_test</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>This class is the virtual base class for the user-defined tests.</td></tr>
<tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td><tr><tr class="SPrototype SIndent1"><td colspan=2 class=SDescription><div class=ClassHierarchy>
<table border=0 cellspacing=0 cellpadding=0>
<tr><td><div class=CHParent><div class=CHEntry><a href="../base/ovm_object-svh.html#ovm_object" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_object</a></div></div></td></tr>
<tr><td><div class=CHParent><div class=CHEntry><a href="../base/ovm_report_object-svh.html#ovm_report_object" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">ovm_report_object</a></div></div></td></tr>
<tr><td><div class=CHParent><div class=CHEntry><a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">ovm_component</a></div></div></td></tr>
<tr><td><div class=CHCurrent><div class=CHEntry>ovm_test</div></div></td></tr></table>
</div></td></tr>
<tr class="SPrototype SIndent1">
<td colspan=2 class="SEntry SIndent1">Class Declaration</td><tr><tr class="SPrototype SIndent1"><td colspan=2 class=SDescription><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_test extends ovm_component</td></tr></table></blockquote></td></tr>
<!-- index=1 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_test.Methods" >Methods</a></td><td class=SDescription></td></tr>
<!-- index=2 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_test.new" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">new</a></td><td class=SDescription>Creates and initializes an instance of this class using the normal constructor arguments for <a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link6 onMouseOver="ShowTip(event, 'tt3', 'link6')" onMouseOut="HideTip('tt3')">ovm_component</a>: <i>name</i> is the name of the instance, and <i>parent</i> is the handle to the hierarchical parent, if any.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=1 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_test.Methods" href="../../../../src/methodology/ovm_test.svh">Methods</a></h3></div></div>
<!--CONTENT index=2 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_test.new" href="../../../../src/methodology/ovm_test.svh">new</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function new (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>name,</td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Creates and initializes an instance of this class using the normal constructor arguments for <a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link9 onMouseOver="ShowTip(event, 'tt3', 'link9')" onMouseOut="HideTip('tt3')">ovm_component</a>: <i>name</i> is the name of the instance, and <i>parent</i> is the handle to the hierarchical parent, if any.</p></div></div></div>
</div><!--Content-->
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_object extends ovm_void</td></tr></table></blockquote>The ovm_object class is the base class for all OVM data and hierarchical classes. </div></div><div class=CToolTip id="tt2"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_report_object extends ovm_object</td></tr></table></blockquote>The ovm_report_object provides an interface to the OVM reporting facility. </div></div><div class=CToolTip id="tt3"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_component extends ovm_report_object</td></tr></table></blockquote>The ovm_component class is the root base class for OVM components. </div></div><div class=CToolTip id="tt4"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_test extends ovm_component</td></tr></table></blockquote>This class is the virtual base class for the user-defined tests.</div></div><div class=CToolTip id="tt5"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function new (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>name,</td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>parent</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates and initializes an instance of this class using the normal constructor arguments for ovm_component: <i>name</i> is the name of the instance, and <i>parent</i> is the handle to the hierarchical parent, if any.</div></div><div class=CToolTip id="tt6"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual task run_test (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>test_name</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>&quot;&quot;</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Phases all components through all registered phases. </div></div><div class=CToolTip id="tt7"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_factory</td></tr></table></blockquote>As the name implies, ovm_factory is used to manufacture (create) OVM objects and components. </div></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>