blob: 48eb26fa7ac2569e289994c50cfed09bfb662373 [file] [log] [blame]
<html><head><title>/home/jrefice/UVM/git_dev_0/uvm-core/src/base/uvm_globals.svh</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="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="uvm_globals.svh" href="../../../../src/base/uvm_globals.svh">uvm_globals.svh</a></h1><div class=CBody>
<!--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="SMain"><td colspan=2 class=SEntry><a href="#uvm_globals.svh" >uvm_globals.svh</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription></td></tr>
<!-- index=1 -->
<tr class="SGroup"><td class=SEntry><a href="#Miscellaneous" >Miscellaneous</a></td><td class=SDescription>The library implements the following public API at the package level beyond what is documented in IEEE 1800.2.</td></tr>
<!-- index=2 -->
<tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#uvm_init" >uvm_init</a></td><td class=SDescription>Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2017.</td></tr>
<!-- index=3 -->
<tr class="SMethod SIndent1"><td class=SEntry><a href="#uvm_wait_for_nba_region" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">uvm_wait_for_nba_region</a></td><td class=SDescription>This task will block until SystemVerilog&rsquo;s NBA region (or Re-NBA region if called from a program context). </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="Miscellaneous" href="../../../../src/base/uvm_globals.svh">Miscellaneous</a></h3><div class=CBody><p>The library implements the following public API at the package level beyond what is documented in IEEE 1800.2.</p></div></div></div>
<!--CONTENT index=2 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_init" href="../../../../src/base/uvm_globals.svh">uvm_init</a></h3><div class=CBody><p>Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2017.</p><p><b>Note:</b> The LRM states that subsequent calls to <a href="#uvm_init" class=LMethod id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">uvm_init</a> after the first are silently ignored, however there are scenarios wherein the implementation breaks this requirement.</p><p>If the core state (see &lt;get_core_state&gt;) is <i>UVM_CORE_PRE_INIT</i> when <a href="#uvm_init" class=LMethod id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">uvm_init</a>, is called, then the library can not determine the appropriate core service.&nbsp; As such, the default core service will be constructed and a fatal message shall be generated.</p><p>If the core state is past <i>UVM_CORE_PRE_INIT</i>, and <i>cs</i> is a non-null core service instance different than the value passed to the first <a href="#uvm_init" class=LMethod id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">uvm_init</a> call, then the library will generate a warning message to alert the user that this call to <a href="#uvm_init" class=LMethod id=link5 onMouseOver="ShowTip(event, 'tt2', 'link5')" onMouseOut="HideTip('tt2')">uvm_init</a> is being ignored.</p><p>@uvm-contrib This API represents a potential contribution to IEEE 1800.2</p></div></div></div>
<!--CONTENT index=3 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_wait_for_nba_region" href="../../../../src/base/uvm_globals.svh">uvm_wait_for_nba_region</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>task uvm_wait_for_nba_region
</td></tr></table></blockquote><div class=CBody><p>This task will block until SystemVerilog&rsquo;s NBA region (or Re-NBA region if called from a program context).&nbsp; The purpose is to continue the calling process only after allowing other processes any number of delta cycles (#0) to settle out.</p><p>@uvm-accellera The details of this API are specific to the Accellera implementation, and are not being considered for contribution to 1800.2</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>task uvm_wait_for_nba_region
</td></tr></table></blockquote>This task will block until SystemVerilog&rsquo;s NBA region (or Re-NBA region if called from a program context). </div></div><div class=CToolTip id="tt2"><div class=CMethod>Implementation of uvm_init, as defined in section F.3.1.3 in 1800.2-2017.</div></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>