blob: bd30d5d8a38596a90feeff524065f61837d8f10f [file] [log] [blame]
<html><head><title>uvm_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="uvm_root" href="../../src/base/uvm_root.svh">uvm_root</a></h1><div class=CBody><p>The <i>uvm_root</i> class serves as the implicit top-level and phase controller for all UVM components.&nbsp; Users do not directly instantiate <i>uvm_root</i>.&nbsp; The UVM automatically creates a single instance of <a href="#uvm_root" class=LClass id=link13 onMouseOver="ShowTip(event, 'tt2', 'link13')" onMouseOut="HideTip('tt2')">uvm_root</a> that users can access via the global (uvm_pkg-scope) variable, <i>uvm_top</i>.</p><img src="../../images/uvm_ref_root.gif" width="253" height="92"><p>The <i>uvm_top</i> instance of <i>uvm_root</i> plays several key roles in the UVM.</p><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Implicit top-level</td><td class=CDLDescription>The <i>uvm_top</i> serves as an implicit top-level component.&nbsp; Any component whose parent is specified as <i>null</i> becomes a child of <i>uvm_top</i>.&nbsp; Thus, all UVM components in simulation are descendants of <i>uvm_top</i>.</td></tr><tr><td class=CDLEntry>Phase control</td><td class=CDLDescription><i>uvm_top</i> manages the phasing for all components.</td></tr><tr><td class=CDLEntry>Search</td><td class=CDLDescription>Use <i>uvm_top</i> to search for components based on their hierarchical name.&nbsp; See <a href="#uvm_root.find" class=LMethod id=link14 onMouseOver="ShowTip(event, 'tt8', 'link14')" onMouseOut="HideTip('tt8')">find</a> and <a href="#uvm_root.find_all" class=LMethod id=link15 onMouseOver="ShowTip(event, 'tt9', 'link15')" onMouseOut="HideTip('tt9')">find_all</a>.</td></tr><tr><td class=CDLEntry>Report configuration</td><td class=CDLDescription>Use <i>uvm_top</i> to globally configure report verbosity, log files, and actions.&nbsp; For example, <i>uvm_top.set_report_verbosity_level_hier(UVM_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>uvm_top</i> is globally accessible (in uvm_pkg scope), UVM&rsquo;s reporting mechanism is accessible from anywhere outside <i>uvm_component</i>, such as in modules and sequences.&nbsp; See <a href="uvm_globals-svh.html#uvm_report_error" class=LMethod id=link16 onMouseOver="ShowTip(event, 'tt13', 'link16')" onMouseOut="HideTip('tt13')">uvm_report_error</a>, <a href="uvm_globals-svh.html#uvm_report_warning" class=LMethod id=link17 onMouseOver="ShowTip(event, 'tt14', 'link17')" onMouseOut="HideTip('tt14')">uvm_report_warning</a>, and other global methods.</td></tr></table><p>The <i>uvm_top</i> instance checks during the end_of_elaboration phase if any errors have been generated so far.&nbsp; If errors are found a UVM_FATAL error is being generated as result so that the simulation will not continue to the start_of_simulation_phase.</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="#uvm_root" >uvm_root</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>The <i>uvm_root</i> class serves as the implicit top-level and phase controller for all UVM components. </td></tr>
<!-- index=1 -->
<tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#uvm_root.get" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">get()</a></td><td class=SDescription>Static accessor for <a href="#uvm_root" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">uvm_root</a>.</td></tr>
<!-- index=2 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_root.Simulation_Control" >Simulation Control</a></td><td class=SDescription></td></tr>
<!-- index=3 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_root.run_test" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">run_test</a></td><td class=SDescription>Phases all components through all registered phases. </td></tr>
<!-- index=4 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_root.die" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">die</a></td><td class=SDescription>This method is called by the report server if a report reaches the maximum quit count or has a UVM_EXIT action associated with it, e.g., as with fatal errors.</td></tr>
<!-- index=5 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_root.set_timeout" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">set_timeout</a></td><td class=SDescription>Specifies the timeout for the simulation. </td></tr>
<!-- index=6 -->
<tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#uvm_root.finish_on_completion" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">finish_on_completion</a></td><td class=SDescription>If set, then run_test will call $finish after all phases are executed.</td></tr>
<!-- index=7 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_root.Topology" >Topology</a></td><td class=SDescription></td></tr>
<!-- index=8 -->
<tr class="SVariable SIndent2"><td class=SEntry><a href="#uvm_root.top_levels" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">top_levels</a></td><td class=SDescription>This variable is a list of all of the top level components in UVM. </td></tr>
<!-- index=9 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_root.find" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">find</a></td><td class=SDescription></td></tr>
<!-- index=10 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_root.find_all" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">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=11 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_root.print_topology" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">print_topology</a></td><td class=SDescription>Print the verification environment&rsquo;s component topology. </td></tr>
<!-- index=12 -->
<tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#uvm_root.enable_print_topology" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">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=13 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_root.Global_Variables" >Global Variables</a></td><td class=SDescription></td></tr>
<!-- index=14 -->
<tr class="SVariable SIndent2"><td class=SEntry><a href="#uvm_root.uvm_top" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">uvm_top</a></td><td class=SDescription>This is the top-level that governs phase execution and provides component search interface. </td></tr></table></div></div><!--END_ND_SUMMARY-->
</div></div></div>
<!--CONTENT index=1 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_root.get" href="../../src/base/uvm_root.svh">get()</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function uvm_root get()
</td></tr></table></blockquote><div class=CBody><p>Static accessor for <a href="#uvm_root" class=LClass id=link18 onMouseOver="ShowTip(event, 'tt2', 'link18')" onMouseOut="HideTip('tt2')">uvm_root</a>.</p><p>The static accessor is provided as a convenience wrapper around retrieving the root via the <a href="uvm_coreservice-svh.html#uvm_coreservice_t.get_root" class=LMethod id=link19 onMouseOver="ShowTip(event, 'tt15', 'link19')" onMouseOut="HideTip('tt15')">uvm_coreservice_t::get_root</a> method.</p><blockquote><pre>// Using the uvm_coreservice_t:
uvm_coreservice_t cs;
uvm_root r;
cs = uvm_coreservice_t::get();
r = cs.get_root();
// Not using the uvm_coreservice_t:
uvm_root r;
r = uvm_root::get();</pre></blockquote></div></div></div>
<!--CONTENT index=2 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_root.Simulation_Control" href="../../src/base/uvm_root.svh">Simulation Control</a></h3></div></div>
<!--CONTENT index=3 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_root.run_test" href="../../src/base/uvm_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 colspan=5>virtual task run_test (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</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>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</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, +UVM_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=4 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_root.die" href="../../src/base/uvm_root.svh">die</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function void die()
</td></tr></table></blockquote><div class=CBody><p>This method is called by the report server if a report reaches the maximum quit count or has a UVM_EXIT action associated with it, e.g., as with fatal errors.</p><p>Calls the <a href="uvm_component-svh.html#uvm_component.pre_abort" class=LMethod id=link20 onMouseOver="ShowTip(event, 'tt16', 'link20')" onMouseOut="HideTip('tt16')">uvm_component::pre_abort()</a> method on the entire <a href="uvm_component-svh.html#uvm_component" class=LClass id=link21 onMouseOver="ShowTip(event, 'tt17', 'link21')" onMouseOut="HideTip('tt17')">uvm_component</a> hierarchy in a bottom-up fashion.&nbsp; It then calls <a href="uvm_report_server-svh.html#uvm_report_server.report_summarize" class=LMethod id=link22 onMouseOver="ShowTip(event, 'tt18', 'link22')" onMouseOut="HideTip('tt18')">uvm_report_server::report_summarize</a> and terminates the simulation with <i>$finish</i>.</p></div></div></div>
<!--CONTENT index=5 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_root.set_timeout" href="../../src/base/uvm_root.svh">set_timeout</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 colspan=5>function void set_timeout(</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>time&nbsp;</td>
<td class=PParameter nowrap>timeout,</td>
<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
<td class=PDefaultValue width=100%></td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>bit&nbsp;</td>
<td class=PParameter nowrap>overridable</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>1</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Specifies the timeout for the simulation.&nbsp; Default is <a href="../macros/uvm_global_defines-svh.html#`UVM_DEFAULT_TIMEOUT" class=LMacro id=link23 onMouseOver="ShowTip(event, 'tt19', 'link23')" onMouseOut="HideTip('tt19')">`UVM_DEFAULT_TIMEOUT</a></p><p>The timeout is simply the maximum absolute simulation time allowed before a <i>FATAL</i> occurs.&nbsp; If the timeout is set to 20ns, then the simulation must end before 20ns, or a <i>FATAL</i> timeout will occur.</p><p>This is provided so that the user can prevent the simulation from potentially consuming too many resources (Disk, Memory, CPU, etc) when the testbench is essentially hung.</p></div></div></div>
<!--CONTENT index=6 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="uvm_root.finish_on_completion" href="../../src/base/uvm_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=7 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_root.Topology" href="../../src/base/uvm_root.svh">Topology</a></h3></div></div>
<!--CONTENT index=8 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="uvm_root.top_levels" href="../../src/base/uvm_root.svh">top_levels</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>uvm_component top_levels[$]
</td></tr></table></blockquote><div class=CBody><p>This variable is a list of all of the top level components in UVM.&nbsp; It includes the uvm_test_top component that is created by <a href="#uvm_root.run_test" class=LMethod id=link24 onMouseOver="ShowTip(event, 'tt3', 'link24')" onMouseOut="HideTip('tt3')">run_test</a> as well as any other top level components that have been instantiated anywhere in the hierarchy.</p></div></div></div>
<!--CONTENT index=9 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_root.find" href="../../src/base/uvm_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 colspan=3>function uvm_component find (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap width=100%>comp_match</td>
</tr>
<tr>
<td class=PAfterParameters colspan=3>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody></div></div></div>
<!--CONTENT index=10 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_root.find_all" href="../../src/base/uvm_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 colspan=6>function void find_all (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>uvm_component&nbsp;</td>
<td class=PParameter nowrap>comps[$],</td>
<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
<td class=PDefaultValue width=100%></td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PTypePrefix nowrap>input&nbsp;</td>
<td class=PType nowrap>uvm_component&nbsp;</td>
<td class=PParameter nowrap>comp</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>null</td>
</tr>
<tr>
<td class=PAfterParameters colspan=6>)</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 the optional argument comp is provided, then search begins from that component down (default=all components).</li></ul></div></div></div>
<!--CONTENT index=11 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_root.print_topology" href="../../src/base/uvm_root.svh">print_topology</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 colspan=5>function void print_topology (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>uvm_printer&nbsp;</td>
<td class=PParameter nowrap>printer</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>null</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Print the verification environment&rsquo;s component topology.&nbsp; The <i>printer</i> is a <a href="uvm_printer-svh.html#uvm_printer" class=LClass id=link25 onMouseOver="ShowTip(event, 'tt20', 'link25')" onMouseOut="HideTip('tt20')">uvm_printer</a> object that controls the format of the topology printout; a <i>null</i> printer prints with the default output.</p></div></div></div>
<!--CONTENT index=12 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="uvm_root.enable_print_topology" href="../../src/base/uvm_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=13 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_root.Global_Variables" href="../../src/base/uvm_root.svh">Global Variables</a></h3></div></div>
<!--CONTENT index=14 -->
<div class="CVariable"><div class=CTopic><h3 class=CTitle><a name="uvm_root.uvm_top" href="../../src/base/uvm_root.svh">uvm_top</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const uvm_root uvm_top = uvm_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="#uvm_root" class=LClass id=link26 onMouseOver="ShowTip(event, 'tt2', 'link26')" onMouseOut="HideTip('tt2')">uvm_root</a> for more information.</p></div></div></div>
</div><!--Content-->
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function uvm_root get()
</td></tr></table></blockquote>Static accessor for uvm_root.</div></div><div class=CToolTip id="tt2"><div class=CClass>The <i>uvm_root</i> class serves as the implicit top-level and phase controller for all UVM components. </div></div><div class=CToolTip id="tt3"><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 colspan=5>virtual task run_test (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</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>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
Phases all components through all registered phases. </div></div><div class=CToolTip id="tt4"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function void die()
</td></tr></table></blockquote>This method is called by the report server if a report reaches the maximum quit count or has a UVM_EXIT action associated with it, e.g., as with fatal errors.</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 colspan=5>function void set_timeout(</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>time&nbsp;</td>
<td class=PParameter nowrap>timeout,</td>
<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
<td class=PDefaultValue width=100%></td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>bit&nbsp;</td>
<td class=PParameter nowrap>overridable</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>1</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
Specifies the timeout for the simulation. </div></div><div class=CToolTip id="tt6"><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="tt7"><div class=CVariable>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>uvm_component top_levels[$]
</td></tr></table></blockquote>This variable is a list of all of the top level components in UVM. </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 colspan=3>function uvm_component find (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap width=100%>comp_match</td>
</tr>
<tr>
<td class=PAfterParameters colspan=3>)</td></tr>
</table></td></tr>
</table></blockquote>
</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 colspan=6>function void find_all (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>uvm_component&nbsp;</td>
<td class=PParameter nowrap>comps[$],</td>
<td class=PDefaultValuePrefix>&nbsp;&nbsp;</td>
<td class=PDefaultValue width=100%></td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PTypePrefix nowrap>input&nbsp;</td>
<td class=PType nowrap>uvm_component&nbsp;</td>
<td class=PParameter nowrap>comp</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>null</td>
</tr>
<tr>
<td class=PAfterParameters colspan=6>)</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="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 colspan=5>function void print_topology (</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>uvm_printer&nbsp;</td>
<td class=PParameter nowrap>printer</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>null</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
Print the verification environment&rsquo;s component topology. </div></div><div class=CToolTip id="tt11"><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="tt12"><div class=CVariable>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>const uvm_root uvm_top = uvm_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="tt13"><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 colspan=5>function void uvm_report_error(</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</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%> UVM_LOW,</td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</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>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>context_name</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%> &quot;&quot;,</td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>bit&nbsp;</td>
<td class=PParameter nowrap>report_enabled_checked</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%> 0</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
</div></div><div class=CToolTip id="tt14"><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 colspan=5>function void uvm_report_warning(</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</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%> UVM_MEDIUM,</td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;&nbsp;</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>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>context_name</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%> &quot;&quot;,</td>
</tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>bit&nbsp;</td>
<td class=PParameter nowrap>report_enabled_checked</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%> 0</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
</div></div><div class=CToolTip id="tt15"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>pure virtual function uvm_root get_root()
</td></tr></table></blockquote>returns the uvm_root instance</div></div><div class=CToolTip id="tt16"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function void pre_abort
</td></tr></table></blockquote>This callback is executed when the message system is executing a UVM_EXIT action. </div></div><div class=CToolTip id="tt17"><div class=CClass>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_component extends uvm_report_object
</td></tr></table></blockquote>The uvm_component class is the root base class for UVM components. </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 colspan=5>pure virtual function void report_summarize(</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>UVM_FILE&nbsp;</td>
<td class=PParameter nowrap>file</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%> 0</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>)</td></tr>
</table></td></tr>
</table></blockquote>
Outputs statistical information on the reports issued by this central report server. </div></div><div class=CToolTip id="tt19"><div class=CMacro>The default timeout for simulation, if not overridden by uvm_root::set_timeout or uvm_cmdline_processor::+UVM_TIMEOUT</div></div><div class=CToolTip id="tt20"><div class=CClass>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_printer
</td></tr></table></blockquote>The uvm_printer class provides an interface for printing uvm_objects in various formats. </div></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>