blob: fc762014ab3c52e2c1760d9992da9d32101a8ae0 [file] [log] [blame]
<html><head><title>ovm_root</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_root" href="../../../../src/base/ovm_root.svh">ovm_root</a></h1><div class=CBody><p>The <i>ovm_root</i> class serves as the implicit top-level and phase controller for all OVM components.&nbsp; Users do not directly instantiate <i>ovm_root</i>.&nbsp; The OVM automatically creates a single instance of <a href="#ovm_root" class=LClass id=link20 onMouseOver="ShowTip(event, 'tt4', 'link20')" onMouseOut="HideTip('tt4')">ovm_root</a> that users can access via the global (ovm_pkg-scope) variable, <i>ovm_top</i>.</p><img src="../../files2/nd/Images/ovm_ref_root.gif" width="253" height="92"><p>The <i>ovm_top</i> instance of <i>ovm_root</i> plays several key roles in the OVM.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Implicit top-level</td><td class=CDLDescription>The <i>ovm_top</i> serves as an implicit top-level component.&nbsp; Any component whose parent is specified as NULL becomes a child of <i>ovm_top</i>.&nbsp; Thus, all OVM components in simulation are descendants of <i>ovm_top</i>.</td></tr><tr><td class=CDLEntry>Phase control</td><td class=CDLDescription><i>ovm_top</i> manages the phasing for all components.&nbsp; There are eight phases predefined in every component: build, connect, end_of_elaboration, start_of_simulation, run, extract, check, and report.&nbsp; Of these, only the run phase is a task.&nbsp; All others are functions.&nbsp; OVM&rsquo;s flexible phasing mechanism allows users to insert any number of custom function and task-based phases.&nbsp; See <a href="#ovm_root.run_test" class=LMethod id=link21 onMouseOver="ShowTip(event, 'tt5', 'link21')" onMouseOut="HideTip('tt5')">run_test</a>, <a href="#ovm_root.insert_phase" class=LMethod id=link22 onMouseOver="ShowTip(event, 'tt8', 'link22')" onMouseOut="HideTip('tt8')">insert_phase</a>, and <a href="#ovm_root.stop_request" class=LMethod id=link23 onMouseOver="ShowTip(event, 'tt6', 'link23')" onMouseOut="HideTip('tt6')">stop_request</a>, and others.</td></tr><tr><td class=CDLEntry>Search</td><td class=CDLDescription>Use <i>ovm_top</i> to search for components based on their hierarchical name.&nbsp; See <a href="#ovm_root.find" class=LMethod id=link24 onMouseOver="ShowTip(event, 'tt9', 'link24')" onMouseOut="HideTip('tt9')">find</a> and <a href="#ovm_root.find_all" class=LMethod id=link25 onMouseOver="ShowTip(event, 'tt10', 'link25')" onMouseOut="HideTip('tt10')">find_all</a>.</td></tr><tr><td class=CDLEntry>Report configuration</td><td class=CDLDescription>Use <i>ovm_top</i> to globally configure report verbosity, log files, and actions.&nbsp; For example, <i>ovm_top.set_report_verbosity_level_hier(OVM_FULL)</i> would set full verbosity for all components in simulation.</td></tr><tr><td class=CDLEntry>Global reporter</td><td class=CDLDescription>Because <i>ovm_top</i> is globally accessible (in ovm_pkg scope), OVM&rsquo;s reporting mechanism is accessible from anywhere outside <i>ovm_component</i>, such as in modules and sequences.&nbsp; See <a href="ovm_globals-svh.html#ovm_report_error" class=LMethod id=link26 onMouseOver="ShowTip(event, 'tt20', 'link26')" onMouseOut="HideTip('tt20')">ovm_report_error</a>, <a href="ovm_globals-svh.html#ovm_report_warning" class=LMethod id=link27 onMouseOver="ShowTip(event, 'tt21', 'link27')" onMouseOut="HideTip('tt21')">ovm_report_warning</a>, and other global methods.</td></tr></table>
<!--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_root" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">ovm_root</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>The <i>ovm_root</i> class serves as the implicit top-level and phase controller for all OVM components. </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="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="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="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_root</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>class ovm_root extends ovm_component</td></tr></table></blockquote></td></tr>
<!-- index=1 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_root.Methods" >Methods</a></td><td class=SDescription></td></tr>
<!-- index=2 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_root.run_test" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">run_test</a></td><td class=SDescription>Phases all components through all registered phases. </td></tr>
<!-- index=3 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_root.stop_request" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">stop_request</a></td><td class=SDescription>Calling this function triggers the process of shutting down the currently running task-based phase. </td></tr>
<!-- index=4 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_root.in_stop_request" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">in_stop_request</a></td><td class=SDescription>This function returns 1 if a stop request is currently active, and 0 otherwise.</td></tr>
<!-- index=5 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_root.insert_phase" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">insert_phase</a></td><td class=SDescription>Inserts a new phase given by new_phase <u>after</u> the existing phase given by exist_phase. </td></tr>
<!-- index=6 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_root.find" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">find</a></td><td class=SDescription></td></tr>
<!-- index=7 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_root.find_all" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">find_all</a></td><td class=SDescription>Returns the component handle (find) or list of components handles (find_all) matching a given string. </td></tr>
<!-- index=8 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_root.get_current_phase" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">get_current_phase</a></td><td class=SDescription>Returns the handle of the currently executing phase.</td></tr>
<!-- index=9 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_root.get_phase_by_name" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">get_phase_by_name</a></td><td class=SDescription>Returns the handle of the phase having the given <i>name</i>.</td></tr>
<!-- index=10 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_root.Variables" >Variables</a></td><td class=SDescription></td></tr>
<!-- index=11 -->
<tr class="SVariable SIndent2"><td class=SEntry><a href="#ovm_root.phase_timeout" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">phase_timeout</a></td><td class=SDescription></td></tr>
<!-- index=12 -->
<tr class="SVariable SIndent2"><td class=SEntry><a href="#ovm_root.stop_timeout" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">stop_timeout</a></td><td class=SDescription>These set watchdog timers for task-based phases and stop tasks. </td></tr>
<!-- index=13 -->
<tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#ovm_root.enable_print_topology" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">enable_print_topology</a></td><td class=SDescription>If set, then the entire testbench topology is printed just after completion of the end_of_elaboration phase.</td></tr>
<!-- index=14 -->
<tr class="SVariable SIndent2"><td class=SEntry><a href="#ovm_root.finish_on_completion" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">finish_on_completion</a></td><td class=SDescription>If set, then run_test will call $finish after all phases are executed.</td></tr>
<!-- index=15 -->
<tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#ovm_root.ovm_top" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">ovm_top</a></td><td class=SDescription>This is the top-level that governs phase execution and provides component search interface. </td></tr>
<!-- index=16 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_root.Methods" >Methods</a></td><td class=SDescription></td></tr>
<!-- index=17 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_root.raised" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">raised</a></td><td class=SDescription></td></tr>
<!-- index=18 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_root.all_dropped" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">all_dropped</a></td><td class=SDescription></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_root.Methods" href="../../../../src/base/ovm_root.svh">Methods</a></h3></div></div>
<!--CONTENT index=2 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.run_test" href="../../../../src/base/ovm_root.svh">run_test</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>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><div class=CBody><p>Phases all components through all registered phases.&nbsp; If the optional test_name argument is provided, or if a command-line plusarg, +OVM_TESTNAME=TEST_NAME, is found, then the specified component is created just prior to phasing.&nbsp; The test may contain new verification components or the entire testbench, in which case the test and testbench can be chosen from the command line without forcing recompilation.&nbsp; If the global (package) variable, finish_on_completion, is set, then $finish is called after phasing completes.</p></div></div></div>
<!--CONTENT index=3 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.stop_request" href="../../../../src/base/ovm_root.svh">stop_request</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function void stop_request()</td></tr></table></blockquote><div class=CBody><p>Calling this function triggers the process of shutting down the currently running task-based phase.&nbsp; This process involves calling all components&rsquo; stop tasks for those components whose enable_stop_interrupt bit is set.&nbsp; Once all stop tasks return, or once the optional global_stop_timeout expires, all components&rsquo; kill method is called, effectively ending the current phase.&nbsp; The ovm_top will then begin execution of the next phase, if any.</p></div></div></div>
<!--CONTENT index=4 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.in_stop_request" href="../../../../src/base/ovm_root.svh">in_stop_request</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit in_stop_request()</td></tr></table></blockquote><div class=CBody><p>This function returns 1 if a stop request is currently active, and 0 otherwise.</p></div></div></div>
<!--CONTENT index=5 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.insert_phase" href="../../../../src/base/ovm_root.svh">insert_phase</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 void insert_phase (</td><td class=PType nowrap>ovm_phase&nbsp;</td><td class=PParameter nowrap>new_phase,</td></tr><tr><td></td><td class=PType nowrap>ovm_phase&nbsp;</td><td class=PParameter nowrap>exist_phase</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Inserts a new phase given by new_phase <u>after</u> the existing phase given by exist_phase.&nbsp; The ovm_top maintains a queue of phases executed in consecutive order.&nbsp; If exist_phase is null, then new_phase is inserted at the head of the queue, i.e., it becomes the first phase.</p></div></div></div>
<!--CONTENT index=6 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.find" href="../../../../src/base/ovm_root.svh">find</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 ovm_component find (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>comp_match</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody></div></div></div>
<!--CONTENT index=7 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.find_all" href="../../../../src/base/ovm_root.svh">find_all</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 void find_all (</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>comp_match,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PTypePrefix nowrap>ref&nbsp;</td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>comps[$],</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PTypePrefix nowrap>input&nbsp;</td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>comp</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Returns the component handle (find) or list of components handles (find_all) matching a given string.&nbsp; The string may contain the wildcards,</p><ul><li>and ?.&nbsp; Strings beginning with &lsquo;.&rsquo; are absolute path names.&nbsp; If optional comp arg is provided, then search begins from that component down (default=all components).</li></ul></div></div></div>
<!--CONTENT index=8 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.get_current_phase" href="../../../../src/base/ovm_root.svh">get_current_phase</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function ovm_phase get_current_phase ()</td></tr></table></blockquote><div class=CBody><p>Returns the handle of the currently executing phase.</p></div></div></div>
<!--CONTENT index=9 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.get_phase_by_name" href="../../../../src/base/ovm_root.svh">get_phase_by_name</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 ovm_phase get_phase_by_name (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Returns the handle of the phase having the given <i>name</i>.</p></div></div></div>
<!--CONTENT index=10 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_root.Variables" href="../../../../src/base/ovm_root.svh">Variables</a></h3></div></div>
<!--CONTENT index=11 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="ovm_root.phase_timeout" href="../../../../src/base/ovm_root.svh">phase_timeout</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>time phase_timeout = `OVM_DEFAULT_TIMEOUT</td></tr></table></blockquote><div class=CBody></div></div></div>
<!--CONTENT index=12 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="ovm_root.stop_timeout" href="../../../../src/base/ovm_root.svh">stop_timeout</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>time stop_timeout = `OVM_DEFAULT_TIMEOUT</td></tr></table></blockquote><div class=CBody><p>These set watchdog timers for task-based phases and stop tasks.&nbsp; The timeout is specified in absolute time.&nbsp; The default timeout is set by the OVM_DEFAULT_TIMEOUT define.&nbsp; A timeout at this value usually indicates a problem with your testbench, or failure to call <a href="ovm_globals-svh.html#global_stop_request" class=LMethod id=link28 onMouseOver="ShowTip(event, 'tt22', 'link28')" onMouseOut="HideTip('tt22')">global_stop_request</a>.&nbsp; When set to 0, the timeout is disabled.</p></div></div></div>
<!--CONTENT index=13 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="ovm_root.enable_print_topology" href="../../../../src/base/ovm_root.svh">enable_print_topology</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>bit enable_print_topology = 0</td></tr></table></blockquote><div class=CBody><p>If set, then the entire testbench topology is printed just after completion of the end_of_elaboration phase.</p></div></div></div>
<!--CONTENT index=14 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="ovm_root.finish_on_completion" href="../../../../src/base/ovm_root.svh">finish_on_completion</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>bit finish_on_completion = 1</td></tr></table></blockquote><div class=CBody><p>If set, then run_test will call $finish after all phases are executed.</p></div></div></div>
<!--CONTENT index=15 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="ovm_root.ovm_top" href="../../../../src/base/ovm_root.svh">ovm_top</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>`const ovm_root ovm_top = ovm_root::get()</td></tr></table></blockquote><div class=CBody><p>This is the top-level that governs phase execution and provides component search interface.&nbsp; See <a href="#ovm_root" class=LClass id=link29 onMouseOver="ShowTip(event, 'tt4', 'link29')" onMouseOut="HideTip('tt4')">ovm_root</a> for more information.</p></div></div></div>
<!--CONTENT index=16 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_root.Methods" href="../../../../src/base/ovm_root.svh">Methods</a></h3></div></div>
<!--CONTENT index=17 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.raised" href="../../../../src/base/ovm_root.svh">raised</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 void ovm_root::raised (</td><td class=PType nowrap>ovm_objection&nbsp;</td><td class=PParameter nowrap>objection,</td></tr><tr><td></td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody></div></div></div>
<!--CONTENT index=18 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_root.all_dropped" href="../../../../src/base/ovm_root.svh">all_dropped</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>task ovm_root::all_dropped (</td><td class=PType nowrap>ovm_objection&nbsp;</td><td class=PParameter nowrap>objection,</td></tr><tr><td></td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody></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>class ovm_root extends ovm_component</td></tr></table></blockquote>The <i>ovm_root</i> class serves as the implicit top-level and phase controller for all OVM components. </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>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="tt6"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function void stop_request()</td></tr></table></blockquote>Calling this function triggers the process of shutting down the currently running task-based phase. </div></div><div class=CToolTip id="tt7"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit in_stop_request()</td></tr></table></blockquote>This function returns 1 if a stop request is currently active, and 0 otherwise.</div></div><div class=CToolTip id="tt8"><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 void insert_phase (</td><td class=PType nowrap>ovm_phase&nbsp;</td><td class=PParameter nowrap>new_phase,</td></tr><tr><td></td><td class=PType nowrap>ovm_phase&nbsp;</td><td class=PParameter nowrap>exist_phase</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Inserts a new phase given by new_phase <u>after</u> the existing phase given by exist_phase. </div></div><div class=CToolTip id="tt9"><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 ovm_component find (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>comp_match</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt10"><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 void find_all (</td><td class=PTypePrefix nowrap></td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>comp_match,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PTypePrefix nowrap>ref&nbsp;</td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>comps[$],</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PTypePrefix nowrap>input&nbsp;</td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>comp</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the component handle (find) or list of components handles (find_all) matching a given string. </div></div><div class=CToolTip id="tt11"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function ovm_phase get_current_phase ()</td></tr></table></blockquote>Returns the handle of the currently executing phase.</div></div><div class=CToolTip id="tt12"><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 ovm_phase get_phase_by_name (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>name</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the handle of the phase having the given <i>name</i>.</div></div><div class=CToolTip id="tt13"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>time phase_timeout = `OVM_DEFAULT_TIMEOUT</td></tr></table></blockquote></div></div><div class=CToolTip id="tt14"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>time stop_timeout = `OVM_DEFAULT_TIMEOUT</td></tr></table></blockquote>These set watchdog timers for task-based phases and stop tasks. </div></div><div class=CToolTip id="tt15"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>bit enable_print_topology = 0</td></tr></table></blockquote>If set, then the entire testbench topology is printed just after completion of the end_of_elaboration phase.</div></div><div class=CToolTip id="tt16"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>bit finish_on_completion = 1</td></tr></table></blockquote>If set, then run_test will call $finish after all phases are executed.</div></div><div class=CToolTip id="tt17"><div class=CVariable><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>`const ovm_root ovm_top = ovm_root::get()</td></tr></table></blockquote>This is the top-level that governs phase execution and provides component search interface. </div></div><div class=CToolTip id="tt18"><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 void ovm_root::raised (</td><td class=PType nowrap>ovm_objection&nbsp;</td><td class=PParameter nowrap>objection,</td></tr><tr><td></td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt19"><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>task ovm_root::all_dropped (</td><td class=PType nowrap>ovm_objection&nbsp;</td><td class=PParameter nowrap>objection,</td></tr><tr><td></td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt20"><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 void ovm_report_error(</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>id,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>message,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>verbosity</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> OVM_LOW,</td></tr><tr><td></td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>filename</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> &quot;&quot;,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>line</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> 0</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt21"><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 void ovm_report_warning(</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>id,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>message,</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>verbosity</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> OVM_MEDIUM,</td></tr><tr><td></td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>filename</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> &quot;&quot;,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>line</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%> 0</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></div></div><div class=CToolTip id="tt22"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function void global_stop_request()</td></tr></table></blockquote>Convenience function for ovm_top.stop_request(). </div></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>