| <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. 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. 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 </td><td class=PParameter nowrap>name</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>""</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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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. The <i>object</i> is usually the <i>this</i> handle of the caller. 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’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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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. The <i>object</i> is usually the <i>this</i> handle of the caller. 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>. It is an error to drop the objection count for <i>object</i> below zero.</li><li>The objection’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>. 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. 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. 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’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. 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. 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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>time </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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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>. 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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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>. 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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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. This callback is executed after the drain time associated with <i>obj</i>. 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 </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </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 </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit </td><td class=PParameter nowrap>show_header</td><td class=PDefaultValuePrefix> = </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>. If <i>object</i> is not specified or <i>null</i>, the implicit top-level component, <ovm_top>, is chosen. 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’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. </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit </td><td class=PParameter nowrap>is_raise</td><td class=PDefaultValuePrefix> </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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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’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. 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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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>. 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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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>. 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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </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 </td><td class=PParameter nowrap>name</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>""</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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>time </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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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 </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </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 </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit </td><td class=PParameter nowrap>show_header</td><td class=PDefaultValuePrefix> = </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 </td><td class=PParameter nowrap>objection,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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 </td><td class=PParameter nowrap>objection,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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 </td><td class=PParameter nowrap>objection,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>bit </td><td class=PParameter nowrap>is_raise</td><td class=PDefaultValuePrefix> </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 </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>ovm_object </td><td class=PParameter nowrap>source_obj,</td></tr><tr><td></td><td class=PType nowrap>int </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’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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int </td><td class=PParameter nowrap>count</td><td class=PDefaultValuePrefix> = </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 </td><td class=PParameter nowrap>obj</td><td class=PDefaultValuePrefix> = </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> |