blob: 7a4a9225d3ef6e09bb972c3b9281fb86664b5760 [file] [log] [blame]
<html><head><title>ovm_objection</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_objection" href="../../../../src/base/ovm_objection.svh">ovm_objection</a></h1><div class=CBody><p>Objections provide a facility for coordinating status information between two or more participating components, objects, and even module-based IP.&nbsp; In particular, the <i>ovm_test_done</i> built-in objection provides a means for coordinating when to end a test, i.e. when to call <a href="ovm_globals-svh.html#global_stop_request" class=LMethod id=link18 onMouseOver="ShowTip(event, 'tt15', 'link18')" onMouseOut="HideTip('tt15')">global_stop_request</a> to end the <a href="ovm_component-svh.html#ovm_component.run" class=LMethod id=link19 onMouseOver="ShowTip(event, 'tt16', 'link19')" onMouseOut="HideTip('tt16')">ovm_component::run</a> phase.&nbsp; When all participating components have dropped their raised objections with <i>ovm_test_done</i>, an implicit call to <i>global_stop_request</i> is issued.</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_objection" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">ovm_objection</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>Objections provide a facility for coordinating status information between two or more participating components, objects, and even module-based IP. </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=CHCurrent><div class=CHEntry>ovm_objection</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_objection extends ovm_report_object</td></tr></table></blockquote></td></tr>
<!-- index=1 -->
<tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#ovm_objection.new" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">new</a></td><td class=SDescription>Creates a new objection instance.</td></tr>
<!-- index=2 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_objection.Objection_Control" >Objection Control</a></td><td class=SDescription></td></tr>
<!-- index=3 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_objection.raise_objection" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">raise_objection</a></td><td class=SDescription>Raises the number of objections for the source <i>object</i> by <i>count</i>, which defaults to 1. </td></tr>
<!-- index=4 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_objection.drop_objection" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">drop_objection</a></td><td class=SDescription>Drops the number of objections for the source <i>object</i> by <i>count</i>, which defaults to 1. </td></tr>
<!-- index=5 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_objection.set_drain_time" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">set_drain_time</a></td><td class=SDescription>Sets the drain time on the given <i>object</i> to <i>drain</i>.</td></tr>
<!-- index=6 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_objection.Callback_Hooks" >Callback Hooks</a></td><td class=SDescription></td></tr>
<!-- index=7 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_objection.raised" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">raised</a></td><td class=SDescription>Objection callback that is called when a <a href="#ovm_objection.raise_objection" class=LMethod id=link9 onMouseOver="ShowTip(event, 'tt5', 'link9')" onMouseOut="HideTip('tt5')">raise_objection</a> has reached <i>obj</i>. </td></tr>
<!-- index=8 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_objection.dropped" id=link10 onMouseOver="ShowTip(event, 'tt9', 'link10')" onMouseOut="HideTip('tt9')">dropped</a></td><td class=SDescription>Objection callback that is called when a <a href="#ovm_objection.drop_objection" class=LMethod id=link11 onMouseOver="ShowTip(event, 'tt6', 'link11')" onMouseOut="HideTip('tt6')">drop_objection</a> has reached <i>obj</i>. </td></tr>
<!-- index=9 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_objection.all_dropped" id=link12 onMouseOver="ShowTip(event, 'tt10', 'link12')" onMouseOut="HideTip('tt10')">all_dropped</a></td><td class=SDescription>Objection callback that is called when a <a href="#ovm_objection.drop_objection" class=LMethod id=link13 onMouseOver="ShowTip(event, 'tt6', 'link13')" onMouseOut="HideTip('tt6')">drop_objection</a> has reached <i>obj</i>, and the total count for <i>obj</i> goes to zero. </td></tr>
<!-- index=10 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_objection.Objection_Status" >Objection Status</a></td><td class=SDescription></td></tr>
<!-- index=11 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_objection.get_objection_count" id=link14 onMouseOver="ShowTip(event, 'tt11', 'link14')" onMouseOut="HideTip('tt11')">get_objection_count</a></td><td class=SDescription>Returns the current number of objections raised by the given <i>object</i>.</td></tr>
<!-- index=12 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_objection.get_objection_total" id=link15 onMouseOver="ShowTip(event, 'tt12', 'link15')" onMouseOut="HideTip('tt12')">get_objection_total</a></td><td class=SDescription>Returns the current number of objections raised by the given <i>object</i> and all descendants.</td></tr>
<!-- index=13 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_objection.get_drain_time" id=link16 onMouseOver="ShowTip(event, 'tt13', 'link16')" onMouseOut="HideTip('tt13')">get_drain_time</a></td><td class=SDescription>Returns the current drain time set for the given <i>object</i> (default: 0 ns).</td></tr>
<!-- index=14 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_objection.display_objections" id=link17 onMouseOver="ShowTip(event, 'tt14', 'link17')" onMouseOut="HideTip('tt14')">display_objections</a></td><td class=SDescription>Displays objection information about the given <i>object</i>. </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="ovm_objection.new" href="../../../../src/base/ovm_objection.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><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>Creates a new objection instance.</p></div></div></div>
<!--CONTENT index=2 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.Objection_Control" href="../../../../src/base/ovm_objection.svh">Objection Control</a></h3></div></div>
<!--CONTENT index=3 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.raise_objection" href="../../../../src/base/ovm_objection.svh">raise_objection</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 raise_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Raises the number of objections for the source <i>object</i> by <i>count</i>, which defaults to 1.&nbsp; The <i>object</i> is usually the <i>this</i> handle of the caller.&nbsp; If <i>object</i> is not specified or null, the implicit top-level component, <i>ovm_top</i>, is chosen.</p><p>Rasing an objection causes the following.</p><ul><li>The source and total objection counts for <i>object</i> are increased by <i>count</i>.</li><li>The objection&rsquo;s <a href="#ovm_objection.raised" class=LMethod id=link20 onMouseOver="ShowTip(event, 'tt8', 'link20')" onMouseOut="HideTip('tt8')">raised</a> virtual method is called, which calls the <a href="ovm_component-svh.html#ovm_component.raised" class=LMethod id=link21 onMouseOver="ShowTip(event, 'tt17', 'link21')" onMouseOut="HideTip('tt17')">ovm_component::raised</a> method for all of the components up the hierarchy.</li></ul></div></div></div>
<!--CONTENT index=4 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.drop_objection" href="../../../../src/base/ovm_objection.svh">drop_objection</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 drop_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Drops the number of objections for the source <i>object</i> by <i>count</i>, which defaults to 1.&nbsp; The <i>object</i> is usually the <i>this</i> handle of the caller.&nbsp; If <i>object</i> is not specified or null, the implicit top-level component, <i>ovm_top</i>, is chosen.</p><p>Dropping an objection causes the following.</p><ul><li>The source and total objection counts for <i>object</i> are decreased by <i>count</i>.&nbsp; It is an error to drop the objection count for <i>object</i> below zero.</li><li>The objection&rsquo;s <a href="#ovm_objection.dropped" class=LMethod id=link22 onMouseOver="ShowTip(event, 'tt9', 'link22')" onMouseOut="HideTip('tt9')">dropped</a> virtual method is called, which calls the <a href="ovm_component-svh.html#ovm_component.dropped" class=LMethod id=link23 onMouseOver="ShowTip(event, 'tt18', 'link23')" onMouseOut="HideTip('tt18')">ovm_component::dropped</a> method for all of the components up the hierarchy.</li><li>If the total objection count has not reached zero for <i>object</i>, then the drop is propagated up the object hierarchy as with <a href="#ovm_objection.raise_objection" class=LMethod id=link24 onMouseOver="ShowTip(event, 'tt5', 'link24')" onMouseOut="HideTip('tt5')">raise_objection</a>.&nbsp; Then, each object in the hierarchy will have updated their <i>source</i> counts--objections that they originated--and <i>total</i> counts--the total number of objections by them and all their descendants.</li></ul><p>If the total objection count reaches zero, propagation up the hierarchy is deferred until a configurable drain-time has passed and the <a href="ovm_component-svh.html#ovm_component.all_dropped" class=LMethod id=link25 onMouseOver="ShowTip(event, 'tt19', 'link25')" onMouseOut="HideTip('tt19')">ovm_component::all_dropped</a> callback for the current hierarchy level has returned.&nbsp; The following process occurs for each instance up the hierarchy from the source caller:</p><p>A process is forked in a non-blocking fashion, allowing the <i>drop</i> call to return.&nbsp; The forked process then does the following:</p><ul><li>If a drain time was set for the given <i>object</i>, the process waits for that amount of time.</li><li>The objection&rsquo;s <a href="#ovm_objection.all_dropped" class=LMethod id=link26 onMouseOver="ShowTip(event, 'tt10', 'link26')" onMouseOut="HideTip('tt10')">all_dropped</a> virtual method is called, which calls the <a href="ovm_component-svh.html#ovm_component.all_dropped" class=LMethod id=link27 onMouseOver="ShowTip(event, 'tt19', 'link27')" onMouseOut="HideTip('tt19')">ovm_component::all_dropped</a> method (if <i>object</i> is a component).</li><li>The process then waits for the <i>all_dropped</i> callback to complete.</li><li>After the drain time has elapsed and all_dropped callback has completed, propagation of the dropped objection to the parent proceeds as described in <a href="#ovm_objection.raise_objection" class=LMethod id=link28 onMouseOver="ShowTip(event, 'tt5', 'link28')" onMouseOut="HideTip('tt5')">raise_objection</a>, except as described below.</li></ul><p>If a new objection for this <i>object</i> or any of its descendents is raised during the drain time or during execution of the all_dropped callback at any point, the hierarchical chain described above is terminated and the dropped callback does not go up the hierarchy.&nbsp; The raised objection will propagate up the hierarchy, but the number of raised propagated up is reduced by the number of drops that were pending waiting for the all_dropped/drain time completion.&nbsp; Thus, if exactly one objection caused the count to go to zero, and during the drain exactly one new objection comes in, no raises or drops are propagted up the hierarchy,</p><p>As an optimization, if the <i>object</i> has no set drain-time and no registered callbacks, the forked process can be skipped and propagation proceeds immediately to the parent as described.</p></div></div></div>
<!--CONTENT index=5 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.set_drain_time" href="../../../../src/base/ovm_objection.svh">set_drain_time</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 set_drain_time (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>drain</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Sets the drain time on the given <i>object</i> to <i>drain</i>.</p><p>The drain time is the amount of time to wait once all objections have been dropped before calling the all_dropped callback and propagating the objection to the parent.</p><p>If a new objection for this <i>object</i> or any of its descendents is raised during the drain time or during execution of the all_dropped callbacks, the drain_time/all_dropped execution is terminated.</p></div></div></div>
<!--CONTENT index=6 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.Callback_Hooks" href="../../../../src/base/ovm_objection.svh">Callback Hooks</a></h3></div></div>
<!--CONTENT index=7 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.raised" href="../../../../src/base/ovm_objection.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>virtual function void raised (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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><p>Objection callback that is called when a <a href="#ovm_objection.raise_objection" class=LMethod id=link29 onMouseOver="ShowTip(event, 'tt5', 'link29')" onMouseOut="HideTip('tt5')">raise_objection</a> has reached <i>obj</i>.&nbsp; The default implementation calls <a href="ovm_component-svh.html#ovm_component.raised" class=LMethod id=link30 onMouseOver="ShowTip(event, 'tt17', 'link30')" onMouseOut="HideTip('tt17')">ovm_component::raised</a>.</p></div></div></div>
<!--CONTENT index=8 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.dropped" href="../../../../src/base/ovm_objection.svh">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>virtual function void dropped (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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><p>Objection callback that is called when a <a href="#ovm_objection.drop_objection" class=LMethod id=link31 onMouseOver="ShowTip(event, 'tt6', 'link31')" onMouseOut="HideTip('tt6')">drop_objection</a> has reached <i>obj</i>.&nbsp; The default implementation calls <a href="ovm_component-svh.html#ovm_component.dropped" class=LMethod id=link32 onMouseOver="ShowTip(event, 'tt18', 'link32')" onMouseOut="HideTip('tt18')">ovm_component::dropped</a>.</p></div></div></div>
<!--CONTENT index=9 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.all_dropped" href="../../../../src/base/ovm_objection.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>virtual task all_dropped (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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><p>Objection callback that is called when a <a href="#ovm_objection.drop_objection" class=LMethod id=link33 onMouseOver="ShowTip(event, 'tt6', 'link33')" onMouseOut="HideTip('tt6')">drop_objection</a> has reached <i>obj</i>, and the total count for <i>obj</i> goes to zero.&nbsp; This callback is executed after the drain time associated with <i>obj</i>.&nbsp; The default implementation calls <a href="ovm_component-svh.html#ovm_component.all_dropped" class=LMethod id=link34 onMouseOver="ShowTip(event, 'tt19', 'link34')" onMouseOut="HideTip('tt19')">ovm_component::all_dropped</a>.</p></div></div></div>
<!--CONTENT index=10 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.Objection_Status" href="../../../../src/base/ovm_objection.svh">Objection Status</a></h3></div></div>
<!--CONTENT index=11 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.get_objection_count" href="../../../../src/base/ovm_objection.svh">get_objection_count</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 int get_objection_count (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Returns the current number of objections raised by the given <i>object</i>.</p></div></div></div>
<!--CONTENT index=12 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.get_objection_total" href="../../../../src/base/ovm_objection.svh">get_objection_total</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 int get_objection_total (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</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 current number of objections raised by the given <i>object</i> and all descendants.</p></div></div></div>
<!--CONTENT index=13 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.get_drain_time" href="../../../../src/base/ovm_objection.svh">get_drain_time</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 time get_drain_time (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Returns the current drain time set for the given <i>object</i> (default: 0 ns).</p></div></div></div>
<!--CONTENT index=14 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_objection.display_objections" href="../../../../src/base/ovm_objection.svh">display_objections</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>protected function string m_display_objections(</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit&nbsp;</td><td class=PParameter nowrap>show_header</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Displays objection information about the given <i>object</i>.&nbsp; If <i>object</i> is not specified or <i>null</i>, the implicit top-level component, &lt;ovm_top&gt;, is chosen.&nbsp; The <i>show_header</i> argument allows control of whether a header is output.</p></div></div></div>
<!--CONTENT index=15 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_test_done_objection" href="../../../../src/base/ovm_objection.svh">ovm_test_done_objection</a></h2><div class=CBody><p>Built-in end-of-test coordination</p>
<!--START_ND_SUMMARY index=15-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=15 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_test_done_objection" id=link38 onMouseOver="ShowTip(event, 'tt20', 'link38')" onMouseOut="HideTip('tt20')">ovm_test_done_objection</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>Built-in end-of-test coordination</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=link35 onMouseOver="ShowTip(event, 'tt1', 'link35')" 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=link36 onMouseOver="ShowTip(event, 'tt2', 'link36')" onMouseOut="HideTip('tt2')">ovm_report_object</a></div></div></td></tr>
<tr><td><div class=CHParent><div class=CHEntry><a href="#ovm_objection" class=LClass id=link37 onMouseOver="ShowTip(event, 'tt3', 'link37')" onMouseOut="HideTip('tt3')">ovm_objection</a></div></div></td></tr>
<tr><td><div class=CHCurrent><div class=CHEntry>ovm_test_done_objection</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_test_done_objection extends ovm_objection</td></tr></table></blockquote></td></tr>
<!-- index=16 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_test_done_objection.Methods" >Methods</a></td><td class=SDescription></td></tr>
<!-- index=17 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_test_done_objection.qualify" id=link39 onMouseOver="ShowTip(event, 'tt21', 'link39')" onMouseOut="HideTip('tt21')">qualify</a></td><td class=SDescription>Checks that the given <i>object</i> is derived from either <a href="ovm_component-svh.html#ovm_component" class=LClass id=link40 onMouseOver="ShowTip(event, 'tt22', 'link40')" onMouseOut="HideTip('tt22')">ovm_component</a> or <a href="../methodology/sequences/ovm_sequence_base-svh.html#ovm_sequence_base" class=LClass id=link41 onMouseOver="ShowTip(event, 'tt23', 'link41')" onMouseOut="HideTip('tt23')">ovm_sequence_base</a>.</td></tr>
<!-- index=18 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_test_done_objection.all_dropped" id=link42 onMouseOver="ShowTip(event, 'tt24', 'link42')" onMouseOut="HideTip('tt24')">all_dropped</a></td><td class=SDescription>This callback is called when the given <i>object&rsquo;s</i> objection count reaches zero; if the <i>object</i> is the implicit top-level, &lt;ovm_top&gt; then it means there are no more objections raised for the <i>ovm_test_done</i> objection. </td></tr>
<!-- index=19 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_test_done_objection.raise_objection" id=link43 onMouseOver="ShowTip(event, 'tt25', 'link43')" onMouseOut="HideTip('tt25')">raise_objection</a></td><td class=SDescription>Calls <a href="#ovm_objection.raise_objection" class=LMethod id=link44 onMouseOver="ShowTip(event, 'tt5', 'link44')" onMouseOut="HideTip('tt5')">ovm_objection::raise_objection</a> after calling <a href="#ovm_test_done_objection.qualify" class=LMethod id=link45 onMouseOver="ShowTip(event, 'tt21', 'link45')" onMouseOut="HideTip('tt21')">qualify</a>. </td></tr>
<!-- index=20 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_test_done_objection.drop" id=link46 onMouseOver="ShowTip(event, 'tt26', 'link46')" onMouseOut="HideTip('tt26')">drop</a></td><td class=SDescription>Calls <a href="#ovm_objection.drop_objection" class=LMethod id=link47 onMouseOver="ShowTip(event, 'tt6', 'link47')" onMouseOut="HideTip('tt6')">ovm_objection::drop_objection</a> after calling <a href="#ovm_test_done_objection.qualify" class=LMethod id=link48 onMouseOver="ShowTip(event, 'tt21', 'link48')" onMouseOut="HideTip('tt21')">qualify</a>. </td></tr>
<!-- index=21 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_test_done_objection.force_stop" id=link49 onMouseOver="ShowTip(event, 'tt27', 'link49')" onMouseOut="HideTip('tt27')">force_stop</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=16 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_test_done_objection.Methods" href="../../../../src/base/ovm_objection.svh">Methods</a></h3></div></div>
<!--CONTENT index=17 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_test_done_objection.qualify" href="../../../../src/base/ovm_objection.svh">qualify</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 function void qualify(</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit&nbsp;</td><td class=PParameter nowrap>is_raise</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Checks that the given <i>object</i> is derived from either <a href="ovm_component-svh.html#ovm_component" class=LClass id=link50 onMouseOver="ShowTip(event, 'tt22', 'link50')" onMouseOut="HideTip('tt22')">ovm_component</a> or <a href="../methodology/sequences/ovm_sequence_base-svh.html#ovm_sequence_base" class=LClass id=link51 onMouseOver="ShowTip(event, 'tt23', 'link51')" onMouseOut="HideTip('tt23')">ovm_sequence_base</a>.</p></div></div></div>
<!--CONTENT index=18 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_test_done_objection.all_dropped" href="../../../../src/base/ovm_objection.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>virtual task all_dropped (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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><p>This callback is called when the given <i>object&rsquo;s</i> objection count reaches zero; if the <i>object</i> is the implicit top-level, &lt;ovm_top&gt; then it means there are no more objections raised for the <i>ovm_test_done</i> objection.&nbsp; Thus, after calling <a href="#ovm_objection.all_dropped" class=LMethod id=link52 onMouseOver="ShowTip(event, 'tt10', 'link52')" onMouseOut="HideTip('tt10')">ovm_objection::all_dropped</a>, this method will call <a href="ovm_globals-svh.html#global_stop_request" class=LMethod id=link53 onMouseOver="ShowTip(event, 'tt15', 'link53')" onMouseOut="HideTip('tt15')">global_stop_request</a> to stop the current task-based phase (e.g. run).</p></div></div></div>
<!--CONTENT index=19 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_test_done_objection.raise_objection" href="../../../../src/base/ovm_objection.svh">raise_objection</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 function void raise_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Calls <a href="#ovm_objection.raise_objection" class=LMethod id=link54 onMouseOver="ShowTip(event, 'tt5', 'link54')" onMouseOut="HideTip('tt5')">ovm_objection::raise_objection</a> after calling <a href="#ovm_test_done_objection.qualify" class=LMethod id=link55 onMouseOver="ShowTip(event, 'tt21', 'link55')" onMouseOut="HideTip('tt21')">qualify</a>.&nbsp; If the <i>object</i> is not provided or is <i>null</i>, then the implicit top-level component, <i>ovm_top</i>, is chosen.</p></div></div></div>
<!--CONTENT index=20 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_test_done_objection.drop" href="../../../../src/base/ovm_objection.svh">drop</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 function void drop_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Calls <a href="#ovm_objection.drop_objection" class=LMethod id=link56 onMouseOver="ShowTip(event, 'tt6', 'link56')" onMouseOut="HideTip('tt6')">ovm_objection::drop_objection</a> after calling <a href="#ovm_test_done_objection.qualify" class=LMethod id=link57 onMouseOver="ShowTip(event, 'tt21', 'link57')" onMouseOut="HideTip('tt21')">qualify</a>.&nbsp; If the <i>object</i> is not provided or is <i>null</i>, then the implicit top-level component, <i>ovm_top</i>, is chosen.</p></div></div></div>
<!--CONTENT index=21 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_test_done_objection.force_stop" href="../../../../src/base/ovm_objection.svh">force_stop</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 force_stop(</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</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></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>class ovm_objection extends ovm_report_object</td></tr></table></blockquote>Objections provide a facility for coordinating status information between two or more participating components, objects, and even module-based IP. </div></div><div class=CToolTip id="tt4"><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><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>Creates a new objection instance.</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 void raise_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Raises the number of objections for the source <i>object</i> by <i>count</i>, which defaults to 1. </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>function void drop_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Drops the number of objections for the source <i>object</i> by <i>count</i>, which defaults to 1. </div></div><div class=CToolTip id="tt7"><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 set_drain_time (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>drain</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets the drain time on the given <i>object</i> to <i>drain</i>.</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>virtual function void raised (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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>Objection callback that is called when a raise_objection has reached <i>obj</i>. </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>virtual function void dropped (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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>Objection callback that is called when a drop_objection has reached <i>obj</i>. </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>virtual task all_dropped (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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>Objection callback that is called when a drop_objection has reached <i>obj</i>, and the total count for <i>obj</i> goes to zero. </div></div><div class=CToolTip id="tt11"><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 int get_objection_count (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the current number of objections raised by the given <i>object</i>.</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 int get_objection_total (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</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 current number of objections raised by the given <i>object</i> and all descendants.</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 nowrap>function time get_drain_time (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the current drain time set for the given <i>object</i> (default: 0 ns).</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 nowrap>protected function string m_display_objections(</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit&nbsp;</td><td class=PParameter nowrap>show_header</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Displays objection information about the given <i>object</i>. </div></div><div class=CToolTip id="tt15"><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><div class=CToolTip id="tt16"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual task run ()</td></tr></table></blockquote>The run phase callback is the only predefined phase that is time-consuming, i.e., task-based. </div></div><div class=CToolTip id="tt17"><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 function void 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>The raised callback is called when a decendant of the component instance raises the specfied <i>objection</i>. </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>virtual function void 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>The dropped callback is called when a decendant of the component instance raises the specfied <i>objection</i>. </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>virtual task 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>The all_dropped callback is called when a decendant of the component instance raises the specfied <i>objection</i>. </div></div><div class=CToolTip id="tt20"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_test_done_objection extends ovm_objection</td></tr></table></blockquote>Built-in end-of-test coordination</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>virtual function void qualify(</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit&nbsp;</td><td class=PParameter nowrap>is_raise</td><td class=PDefaultValuePrefix>&nbsp;&nbsp;</td><td class=PDefaultValue width=100%></td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Checks that the given <i>object</i> is derived from either ovm_component or ovm_sequence_base.</div></div><div class=CToolTip id="tt22"><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="tt23"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_sequence_base extends ovm_sequence_item</td></tr></table></blockquote>The ovm_sequence_base class provides the interfaces needed to create streams of sequence items and/or other sequences.</div></div><div class=CToolTip id="tt24"><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 all_dropped (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj,</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>This callback is called when the given <i>object&rsquo;s</i> objection count reaches zero; if the <i>object</i> is the implicit top-level, ovm_top then it means there are no more objections raised for the <i>ovm_test_done</i> objection. </div></div><div class=CToolTip id="tt25"><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 function void raise_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls ovm_objection::raise_objection after calling qualify. </div></div><div class=CToolTip id="tt26"><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 function void drop_objection (</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calls ovm_objection::drop_objection after calling qualify. </div></div><div class=CToolTip id="tt27"><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 force_stop(</td><td class=PType nowrap>ovm_object&nbsp;</td><td class=PParameter nowrap>obj</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></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>