| <html><head><title>Objection Mechanism</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="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Objection_Mechanism" href="../../src/base/uvm_objection.svh">Objection Mechanism</a></h1><div class=CBody><p>The following classes define the objection mechanism and end-of-test functionality, which is based on <a href="#uvm_objection" class=LClass id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">uvm_objection</a>.</p> |
| |
| <!--START_ND_SUMMARY index=0--> |
| <div class=Summary><div class=STitle>Contents</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=0 --> |
| |
| <tr class="SMain"><td class=SEntry><a href="#Objection_Mechanism" >Objection Mechanism</a></td><td class=SDescription>The following classes define the objection mechanism and end-of-test functionality, which is based on <a href="#uvm_objection" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">uvm_objection</a>.</td></tr> |
| <!-- index=1 --> |
| |
| <tr class="SSMethod SMarked"><td class=SEntry><a href="#uvm_objection" id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">uvm_objection</a></td><td class=SDescription>Objections provide a facility for coordinating status information between two or more participating components, objects, and even module-based IP.</td></tr> |
| <!-- index=21 --> |
| |
| <tr class="SSMethod"><td class=SEntry><a href="#uvm_callbacks_objection" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">uvm_callbacks_objection</a></td><td class=SDescription>The uvm_callbacks_objection is a specialized <a href="#uvm_objection" class=LClass id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">uvm_objection</a> which contains callbacks for the raised and dropped events. </td></tr> |
| <!-- index=26 --> |
| |
| <tr class="SSMethod SMarked"><td class=SEntry><a href="#uvm_objection_callback" id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">uvm_objection_callback</a></td><td class=SDescription>The uvm_objection is the callback type that defines the callback implementations for an objection callback. </td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=1 --> |
| <div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_objection" href="../../src/base/uvm_objection.svh">uvm_objection</a></h2><div class=CBody><p>Objections provide a facility for coordinating status information between two or more participating components, objects, and even module-based IP.</p><p>Tracing of objection activity can be turned on to follow the activity of the objection mechanism. It may be turned on for a specific objection instance with <a href="#uvm_objection.trace_mode" class=LMethod id=link29 onMouseOver="ShowTip(event, 'tt9', 'link29')" onMouseOut="HideTip('tt9')">uvm_objection::trace_mode</a>, or it can be set for all objections from the command line using the option +UVM_OBJECTION_TRACE.</p> |
| |
| <!--START_ND_SUMMARY index=1--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=1 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_objection" id=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">uvm_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> |
| |
| <!-- HIERARCHY --> |
| <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="uvm_misc-svh.html#uvm_void" class=LGeneric id=link7 onMouseOver="ShowTip(event, 'tt4', 'link7')" onMouseOut="HideTip('tt4')">uvm_void</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_object-svh.html#uvm_object" class=LClass id=link8 onMouseOver="ShowTip(event, 'tt5', 'link8')" onMouseOut="HideTip('tt5')">uvm_object</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_report_object-svh.html#uvm_report_object" class=LClass id=link9 onMouseOver="ShowTip(event, 'tt6', 'link9')" onMouseOut="HideTip('tt6')">uvm_report_object</a></div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>uvm_objection</div></div></td></tr> |
| </table> |
| </div> |
| </td></tr> |
| |
| |
| |
| <!-- PROTOTYPE --> |
| <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 uvm_objection extends uvm_report_object |
| </td></tr></table></blockquote></td></tr> |
| |
| <!-- index=2 --> |
| |
| <tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#uvm_objection.clear" id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">clear</a></td><td class=SDescription>Immediately clears the objection state. </td></tr> |
| <!-- index=3 --> |
| |
| <tr class="SMethod SIndent1"><td class=SEntry><a href="#uvm_objection.new" id=link12 onMouseOver="ShowTip(event, 'tt8', 'link12')" onMouseOut="HideTip('tt8')">new</a></td><td class=SDescription>Creates a new objection instance. </td></tr> |
| <!-- index=4 --> |
| |
| <tr class="SMethod SIndent1 SMarked"><td class=SEntry><a href="#uvm_objection.trace_mode" id=link13 onMouseOver="ShowTip(event, 'tt9', 'link13')" onMouseOut="HideTip('tt9')">trace_mode</a></td><td class=SDescription>Set or get the trace mode for the objection object. </td></tr> |
| <!-- index=5 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_objection.Objection_Control" >Objection Control</a></td><td class=SDescription></td></tr> |
| <!-- index=6 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection.m_set_hier_mode" id=link14 onMouseOver="ShowTip(event, 'tt10', 'link14')" onMouseOut="HideTip('tt10')">m_set_hier_mode</a></td><td class=SDescription>Hierarchical mode only needs to be set for intermediate components, not for uvm_root or a leaf component.</td></tr> |
| <!-- index=7 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_objection.raise_objection" id=link15 onMouseOver="ShowTip(event, 'tt11', 'link15')" onMouseOut="HideTip('tt11')">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=8 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection.drop_objection" id=link16 onMouseOver="ShowTip(event, 'tt12', 'link16')" onMouseOut="HideTip('tt12')">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=9 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_objection.set_drain_time" >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=10 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_objection.Callback_Hooks" >Callback Hooks</a></td><td class=SDescription></td></tr> |
| <!-- index=11 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection.raised" id=link17 onMouseOver="ShowTip(event, 'tt13', 'link17')" onMouseOut="HideTip('tt13')">raised</a></td><td class=SDescription>Objection callback that is called when a <a href="#uvm_objection.raise_objection" class=LMethod id=link18 onMouseOver="ShowTip(event, 'tt11', 'link18')" onMouseOut="HideTip('tt11')">raise_objection</a> has reached <i>obj</i>. </td></tr> |
| <!-- index=12 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_objection.dropped" id=link19 onMouseOver="ShowTip(event, 'tt14', 'link19')" onMouseOut="HideTip('tt14')">dropped</a></td><td class=SDescription>Objection callback that is called when a <a href="#uvm_objection.drop_objection" class=LMethod id=link20 onMouseOver="ShowTip(event, 'tt12', 'link20')" onMouseOut="HideTip('tt12')">drop_objection</a> has reached <i>obj</i>. </td></tr> |
| <!-- index=13 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection.all_dropped" id=link21 onMouseOver="ShowTip(event, 'tt15', 'link21')" onMouseOut="HideTip('tt15')">all_dropped</a></td><td class=SDescription>Objection callback that is called when a <a href="#uvm_objection.drop_objection" class=LMethod id=link22 onMouseOver="ShowTip(event, 'tt12', 'link22')" onMouseOut="HideTip('tt12')">drop_objection</a> has reached <i>obj</i>, and the total count for <i>obj</i> goes to zero. </td></tr> |
| <!-- index=14 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_objection.Objection_Status" >Objection Status</a></td><td class=SDescription></td></tr> |
| <!-- index=15 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection.get_objectors" id=link23 onMouseOver="ShowTip(event, 'tt16', 'link23')" onMouseOut="HideTip('tt16')">get_objectors</a></td><td class=SDescription>Returns the current list of objecting objects (objects that raised an objection but have not dropped it).</td></tr> |
| <!-- index=16 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_objection.wait_for" id=link24 onMouseOver="ShowTip(event, 'tt17', 'link24')" onMouseOut="HideTip('tt17')">wait_for</a></td><td class=SDescription>Waits for the raised, dropped, or all_dropped <i>event</i> to occur in the given <i>obj</i>. </td></tr> |
| <!-- index=17 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection.get_objection_count" id=link25 onMouseOver="ShowTip(event, 'tt18', 'link25')" onMouseOut="HideTip('tt18')">get_objection_count</a></td><td class=SDescription>Returns the current number of objections raised by the given <i>object</i>.</td></tr> |
| <!-- index=18 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_objection.get_objection_total" id=link26 onMouseOver="ShowTip(event, 'tt19', 'link26')" onMouseOut="HideTip('tt19')">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=19 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection.get_drain_time" id=link27 onMouseOver="ShowTip(event, 'tt20', 'link27')" onMouseOut="HideTip('tt20')">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=20 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_objection.display_objections" id=link28 onMouseOver="ShowTip(event, 'tt21', 'link28')" onMouseOut="HideTip('tt21')">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=2 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.clear" href="../../src/base/uvm_objection.svh">clear</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 clear(</td> <td class=PType nowrap>uvm_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>Immediately clears the objection state. All counts are cleared and the any processes waiting on a call to wait_for(UVM_ALL_DROPPED, uvm_top) are released.</p><p>The caller, if a uvm_object-based object, should pass its ‘this’ handle to the <i>obj</i> argument to document who cleared the objection. Any drain_times set by the user are not effected.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=3 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.new" href="../../src/base/uvm_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. Accesses the command line argument +UVM_OBJECTION_TRACE to turn tracing on for all objection objects.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=4 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.trace_mode" href="../../src/base/uvm_objection.svh">trace_mode</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 bit trace_mode (</td> <td class=PType nowrap>int </td> |
| <td class=PParameter nowrap>mode</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>Set or get the trace mode for the objection object. If no argument is specified (or an argument other than 0 or 1) the current trace mode is unaffected. A trace_mode of 0 turns tracing off. A trace mode of 1 turns tracing on. The return value is the mode prior to being reset.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=5 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.Objection_Control" href="../../src/base/uvm_objection.svh">Objection Control</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=6 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.m_set_hier_mode" href="../../src/base/uvm_objection.svh">m_set_hier_mode</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 m_set_hier_mode (</td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Hierarchical mode only needs to be set for intermediate components, not for uvm_root or a leaf component.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=7 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.raise_objection" href="../../src/base/uvm_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>uvm_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>string </td> |
| <td class=PParameter nowrap>description</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"",</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, <a href="uvm_root-svh.html#uvm_root" class=LClass id=link30 onMouseOver="ShowTip(event, 'tt22', 'link30')" onMouseOut="HideTip('tt22')">uvm_root</a>, 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>. <i>description</i> is a string that marks a specific objection and is used in tracing/debug.</li><li>The objection’s <a href="#uvm_objection.raised" class=LMethod id=link31 onMouseOver="ShowTip(event, 'tt13', 'link31')" onMouseOut="HideTip('tt13')">raised</a> virtual method is called, which calls the <a href="uvm_component-svh.html#uvm_component.raised" class=LMethod id=link32 onMouseOver="ShowTip(event, 'tt23', 'link32')" onMouseOut="HideTip('tt23')">uvm_component::raised</a> method for all of the components up the hierarchy.</li></ul></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=8 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.drop_objection" href="../../src/base/uvm_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>virtual function void drop_objection (</td> <td class=PType nowrap>uvm_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>string </td> |
| <td class=PParameter nowrap>description</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"",</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, <a href="uvm_root-svh.html#uvm_root" class=LClass id=link33 onMouseOver="ShowTip(event, 'tt22', 'link33')" onMouseOut="HideTip('tt22')">uvm_root</a>, 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="#uvm_objection.dropped" class=LMethod id=link34 onMouseOver="ShowTip(event, 'tt14', 'link34')" onMouseOut="HideTip('tt14')">dropped</a> virtual method is called, which calls the <a href="uvm_component-svh.html#uvm_component.dropped" class=LMethod id=link35 onMouseOver="ShowTip(event, 'tt24', 'link35')" onMouseOut="HideTip('tt24')">uvm_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="#uvm_objection.raise_objection" class=LMethod id=link36 onMouseOver="ShowTip(event, 'tt11', 'link36')" onMouseOut="HideTip('tt11')">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="uvm_component-svh.html#uvm_component.all_dropped" class=LMethod id=link37 onMouseOver="ShowTip(event, 'tt25', 'link37')" onMouseOut="HideTip('tt25')">uvm_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="#uvm_objection.all_dropped" class=LMethod id=link38 onMouseOver="ShowTip(event, 'tt15', 'link38')" onMouseOut="HideTip('tt15')">all_dropped</a> virtual method is called, which calls the <a href="uvm_component-svh.html#uvm_component.all_dropped" class=LMethod id=link39 onMouseOver="ShowTip(event, 'tt25', 'link39')" onMouseOut="HideTip('tt25')">uvm_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="#uvm_objection.raise_objection" class=LMethod id=link40 onMouseOver="ShowTip(event, 'tt11', 'link40')" onMouseOut="HideTip('tt11')">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=9 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.set_drain_time" href="../../src/base/uvm_objection.svh">set_drain_time</a></h3><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=10 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.Callback_Hooks" href="../../src/base/uvm_objection.svh">Callback Hooks</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=11 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.raised" href="../../src/base/uvm_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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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="#uvm_objection.raise_objection" class=LMethod id=link41 onMouseOver="ShowTip(event, 'tt11', 'link41')" onMouseOut="HideTip('tt11')">raise_objection</a> has reached <i>obj</i>. The default implementation calls <a href="uvm_component-svh.html#uvm_component.raised" class=LMethod id=link42 onMouseOver="ShowTip(event, 'tt23', 'link42')" onMouseOut="HideTip('tt23')">uvm_component::raised</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=12 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.dropped" href="../../src/base/uvm_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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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="#uvm_objection.drop_objection" class=LMethod id=link43 onMouseOver="ShowTip(event, 'tt12', 'link43')" onMouseOut="HideTip('tt12')">drop_objection</a> has reached <i>obj</i>. The default implementation calls <a href="uvm_component-svh.html#uvm_component.dropped" class=LMethod id=link44 onMouseOver="ShowTip(event, 'tt24', 'link44')" onMouseOut="HideTip('tt24')">uvm_component::dropped</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=13 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.all_dropped" href="../../src/base/uvm_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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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="#uvm_objection.drop_objection" class=LMethod id=link45 onMouseOver="ShowTip(event, 'tt12', 'link45')" onMouseOut="HideTip('tt12')">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="uvm_component-svh.html#uvm_component.all_dropped" class=LMethod id=link46 onMouseOver="ShowTip(event, 'tt25', 'link46')" onMouseOut="HideTip('tt25')">uvm_component::all_dropped</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=14 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.Objection_Status" href="../../src/base/uvm_objection.svh">Objection Status</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=15 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.get_objectors" href="../../src/base/uvm_objection.svh">get_objectors</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 get_objectors(</td> <td class=PTypePrefix nowrap>ref </td> |
| <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>list[$]</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Returns the current list of objecting objects (objects that raised an objection but have not dropped it).</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=16 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.wait_for" href="../../src/base/uvm_objection.svh">wait_for</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters nowrap>task wait_for(</td> <td class=PType nowrap>uvm_objection_event </td> |
| <td class=PParameter nowrap>objt_event,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_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>Waits for the raised, dropped, or all_dropped <i>event</i> to occur in the given <i>obj</i>. The task returns after all corresponding callbacks for that event have been executed.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=17 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.get_objection_count" href="../../src/base/uvm_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>uvm_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>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=18 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.get_objection_total" href="../../src/base/uvm_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>uvm_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=19 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.get_drain_time" href="../../src/base/uvm_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>uvm_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 drain time set for the given <i>object</i> (default: 0 ns).</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=20 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection.display_objections" href="../../src/base/uvm_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>function void display_objections(</td> <td class=PType nowrap>uvm_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, <a href="uvm_root-svh.html#uvm_root" class=LClass id=link47 onMouseOver="ShowTip(event, 'tt22', 'link47')" onMouseOut="HideTip('tt22')">uvm_root</a>, is chosen. The <i>show_header</i> argument allows control of whether a header is output.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=21 --> |
| <div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_callbacks_objection" href="../../src/base/uvm_objection.svh">uvm_callbacks_objection</a></h2><div class=CBody><p>The uvm_callbacks_objection is a specialized <a href="#uvm_objection" class=LClass id=link60 onMouseOver="ShowTip(event, 'tt1', 'link60')" onMouseOut="HideTip('tt1')">uvm_objection</a> which contains callbacks for the raised and dropped events. Callbacks happend for the three standard callback activities, <a href="#uvm_callbacks_objection.raised" class=LMethod id=link61 onMouseOver="ShowTip(event, 'tt26', 'link61')" onMouseOut="HideTip('tt26')">raised</a>, <a href="#uvm_callbacks_objection.dropped" class=LMethod id=link62 onMouseOver="ShowTip(event, 'tt28', 'link62')" onMouseOut="HideTip('tt28')">dropped</a>, and <a href="#uvm_callbacks_objection.all_dropped" class=LMethod id=link63 onMouseOver="ShowTip(event, 'tt30', 'link63')" onMouseOut="HideTip('tt30')">all_dropped</a>.</p><p>The <a href="uvm_heartbeat-svh.html#uvm_heartbeat" class=LClass id=link64 onMouseOver="ShowTip(event, 'tt32', 'link64')" onMouseOut="HideTip('tt32')">uvm_heartbeat</a> mechanism use objections of this type for creating heartbeat conditions. Whenever the objection is raised or dropped, the component which did the raise/drop is considered to be alive.</p> |
| |
| <!--START_ND_SUMMARY index=21--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=21 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_callbacks_objection" id=link52 onMouseOver="ShowTip(event, 'tt2', 'link52')" onMouseOut="HideTip('tt2')">uvm_callbacks_objection</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>The uvm_callbacks_objection is a specialized <a href="#uvm_objection" class=LClass id=link53 onMouseOver="ShowTip(event, 'tt1', 'link53')" onMouseOut="HideTip('tt1')">uvm_objection</a> which contains callbacks for the raised and dropped events. </td></tr> |
| |
| <!-- HIERARCHY --> |
| <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="uvm_misc-svh.html#uvm_void" class=LGeneric id=link48 onMouseOver="ShowTip(event, 'tt4', 'link48')" onMouseOut="HideTip('tt4')">uvm_void</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_object-svh.html#uvm_object" class=LClass id=link49 onMouseOver="ShowTip(event, 'tt5', 'link49')" onMouseOut="HideTip('tt5')">uvm_object</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_report_object-svh.html#uvm_report_object" class=LClass id=link50 onMouseOver="ShowTip(event, 'tt6', 'link50')" onMouseOut="HideTip('tt6')">uvm_report_object</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="#uvm_objection" class=LClass id=link51 onMouseOver="ShowTip(event, 'tt1', 'link51')" onMouseOut="HideTip('tt1')">uvm_objection</a></div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>uvm_callbacks_objection</div></div></td></tr> |
| </table> |
| </div> |
| </td></tr> |
| |
| |
| |
| <!-- PROTOTYPE --> |
| <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 uvm_callbacks_objection extends uvm_objection |
| </td></tr></table></blockquote></td></tr> |
| |
| <!-- index=22 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_callbacks_objection.Methods" >Methods</a></td><td class=SDescription></td></tr> |
| <!-- index=23 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_callbacks_objection.raised" id=link54 onMouseOver="ShowTip(event, 'tt26', 'link54')" onMouseOut="HideTip('tt26')">raised</a></td><td class=SDescription>Executes the <a href="#uvm_objection_callback.raised" class=LMethod id=link55 onMouseOver="ShowTip(event, 'tt27', 'link55')" onMouseOut="HideTip('tt27')">uvm_objection_callback::raised</a> method in the user callback class whenever this objection is raised at the object <i>obj</i>.</td></tr> |
| <!-- index=24 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_callbacks_objection.dropped" id=link56 onMouseOver="ShowTip(event, 'tt28', 'link56')" onMouseOut="HideTip('tt28')">dropped</a></td><td class=SDescription>Executes the <a href="#uvm_objection_callback.dropped" class=LMethod id=link57 onMouseOver="ShowTip(event, 'tt29', 'link57')" onMouseOut="HideTip('tt29')">uvm_objection_callback::dropped</a> method in the user callback class whenever this objection is dropped at the object <i>obj</i>.</td></tr> |
| <!-- index=25 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_callbacks_objection.all_dropped" id=link58 onMouseOver="ShowTip(event, 'tt30', 'link58')" onMouseOut="HideTip('tt30')">all_dropped</a></td><td class=SDescription>Executes the <a href="#uvm_objection_callback.all_dropped" class=LMethod id=link59 onMouseOver="ShowTip(event, 'tt31', 'link59')" onMouseOut="HideTip('tt31')">uvm_objection_callback::all_dropped</a> task in the user callback class whenever the objection count for this objection in reference to <i>obj</i> goes to zero.</td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=22 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_callbacks_objection.Methods" href="../../src/base/uvm_objection.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=23 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_callbacks_objection.raised" href="../../src/base/uvm_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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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>Executes the <a href="#uvm_objection_callback.raised" class=LMethod id=link65 onMouseOver="ShowTip(event, 'tt27', 'link65')" onMouseOut="HideTip('tt27')">uvm_objection_callback::raised</a> method in the user callback class whenever this objection is raised at the object <i>obj</i>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=24 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_callbacks_objection.dropped" href="../../src/base/uvm_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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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>Executes the <a href="#uvm_objection_callback.dropped" class=LMethod id=link66 onMouseOver="ShowTip(event, 'tt29', 'link66')" onMouseOut="HideTip('tt29')">uvm_objection_callback::dropped</a> method in the user callback class whenever this objection is dropped at the object <i>obj</i>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=25 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_callbacks_objection.all_dropped" href="../../src/base/uvm_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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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>Executes the <a href="#uvm_objection_callback.all_dropped" class=LMethod id=link67 onMouseOver="ShowTip(event, 'tt31', 'link67')" onMouseOut="HideTip('tt31')">uvm_objection_callback::all_dropped</a> task in the user callback class whenever the objection count for this objection in reference to <i>obj</i> goes to zero.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=26 --> |
| <div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_objection_callback" href="../../src/base/uvm_objection.svh">uvm_objection_callback</a></h2><div class=CBody><p>The uvm_objection is the callback type that defines the callback implementations for an objection callback. A user uses the callback type uvm_objection_cbs_t to add callbacks to specific objections.</p><h4 class=CHeading>For example</h4><blockquote><pre>class my_objection_cb extends uvm_objection_callback; |
| function new(string name); |
| super.new(name); |
| endfunction |
| |
| virtual function void raised (uvm_objection objection, uvm_object obj, |
| uvm_object source_obj, string description, int count); |
| $display("%0t: Objection %s: Raised for %s", $time, objection.get_name(), |
| obj.get_full_name()); |
| endfunction |
| endclass |
| ... |
| initial begin |
| my_objection_cb cb = new("cb"); |
| uvm_objection_cbs_t::add(null, cb); //typewide callback |
| end</pre></blockquote> |
| |
| <!--START_ND_SUMMARY index=26--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=26 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_objection_callback" id=link71 onMouseOver="ShowTip(event, 'tt3', 'link71')" onMouseOut="HideTip('tt3')">uvm_objection_callback</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>The uvm_objection is the callback type that defines the callback implementations for an objection callback. </td></tr> |
| |
| <!-- HIERARCHY --> |
| <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="uvm_misc-svh.html#uvm_void" class=LGeneric id=link68 onMouseOver="ShowTip(event, 'tt4', 'link68')" onMouseOut="HideTip('tt4')">uvm_void</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_object-svh.html#uvm_object" class=LClass id=link69 onMouseOver="ShowTip(event, 'tt5', 'link69')" onMouseOut="HideTip('tt5')">uvm_object</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="uvm_callback-svh.html#uvm_callback" class=LClass id=link70 onMouseOver="ShowTip(event, 'tt33', 'link70')" onMouseOut="HideTip('tt33')">uvm_callback</a></div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>uvm_objection_callback</div></div></td></tr> |
| </table> |
| </div> |
| </td></tr> |
| |
| |
| |
| <!-- PROTOTYPE --> |
| <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 uvm_objection_callback extends uvm_callback |
| </td></tr></table></blockquote></td></tr> |
| |
| <!-- index=27 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_objection_callback.Methods" >Methods</a></td><td class=SDescription></td></tr> |
| <!-- index=28 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection_callback.raised" id=link72 onMouseOver="ShowTip(event, 'tt27', 'link72')" onMouseOut="HideTip('tt27')">raised</a></td><td class=SDescription>Objection raised callback function. </td></tr> |
| <!-- index=29 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_objection_callback.dropped" id=link73 onMouseOver="ShowTip(event, 'tt29', 'link73')" onMouseOut="HideTip('tt29')">dropped</a></td><td class=SDescription>Objection dropped callback function. </td></tr> |
| <!-- index=30 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_objection_callback.all_dropped" id=link74 onMouseOver="ShowTip(event, 'tt31', 'link74')" onMouseOut="HideTip('tt31')">all_dropped</a></td><td class=SDescription>Objection all_dropped callback function. </td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=27 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_objection_callback.Methods" href="../../src/base/uvm_objection.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=28 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection_callback.raised" href="../../src/base/uvm_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>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 raised callback function. Called by <a href="#uvm_callbacks_objection.raised" class=LMethod id=link75 onMouseOver="ShowTip(event, 'tt26', 'link75')" onMouseOut="HideTip('tt26')">uvm_callbacks_objection::raised</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=29 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection_callback.dropped" href="../../src/base/uvm_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>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 dropped callback function. Called by <a href="#uvm_callbacks_objection.dropped" class=LMethod id=link76 onMouseOver="ShowTip(event, 'tt28', 'link76')" onMouseOut="HideTip('tt28')">uvm_callbacks_objection::dropped</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=30 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_objection_callback.all_dropped" href="../../src/base/uvm_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>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 all_dropped callback function. Called by <a href="#uvm_callbacks_objection.all_dropped" class=LMethod id=link77 onMouseOver="ShowTip(event, 'tt30', 'link77')" onMouseOut="HideTip('tt30')">uvm_callbacks_objection::all_dropped</a>.</p></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>class uvm_objection extends uvm_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="tt2"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class uvm_callbacks_objection extends uvm_objection |
| </td></tr></table></blockquote>The uvm_callbacks_objection is a specialized uvm_objection which contains callbacks for the raised and dropped events. </div></div><div class=CToolTip id="tt3"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class uvm_objection_callback extends uvm_callback |
| </td></tr></table></blockquote>The uvm_objection is the callback type that defines the callback implementations for an objection callback. </div></div><div class=CToolTip id="tt4"><div class=CGeneric>The <i>uvm_void</i> class is the base class for all UVM classes. </div></div><div class=CToolTip id="tt5"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_object extends uvm_void |
| </td></tr></table></blockquote>The uvm_object class is the base class for all UVM data and hierarchical classes. </div></div><div class=CToolTip id="tt6"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class uvm_report_object extends uvm_object |
| </td></tr></table></blockquote>The uvm_report_object provides an interface to the UVM reporting facility. </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>virtual function void clear(</td> <td class=PType nowrap>uvm_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> |
| Immediately clears the objection state. </div></div><div class=CToolTip id="tt8"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters nowrap>function 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="tt9"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters nowrap>function bit trace_mode (</td> <td class=PType nowrap>int </td> |
| <td class=PParameter nowrap>mode</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>-1</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Set or get the trace mode for the objection object. </div></div><div class=CToolTip id="tt10"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters nowrap>function void m_set_hier_mode (</td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Hierarchical mode only needs to be set for intermediate components, not for uvm_root or a leaf component.</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>virtual function void raise_objection (</td> <td class=PType nowrap>uvm_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>string </td> |
| <td class=PParameter nowrap>description</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"",</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="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>virtual function void drop_objection (</td> <td class=PType nowrap>uvm_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>string </td> |
| <td class=PParameter nowrap>description</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>"",</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="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>virtual function void raised (</td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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="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>virtual function void dropped (</td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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="tt15"><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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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="tt16"><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 get_objectors(</td> <td class=PTypePrefix nowrap>ref </td> |
| <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>list[$]</td> |
| <td class=PAfterParameters nowrap>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Returns the current list of objecting objects (objects that raised an objection but have not dropped it).</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>task wait_for(</td> <td class=PType nowrap>uvm_objection_event </td> |
| <td class=PParameter nowrap>objt_event,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_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> |
| Waits for the raised, dropped, or all_dropped <i>event</i> to occur in the given <i>obj</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>function int get_objection_count (</td> <td class=PType nowrap>uvm_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>.</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>function int get_objection_total (</td> <td class=PType nowrap>uvm_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="tt20"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters nowrap>function time get_drain_time (</td> <td class=PType nowrap>uvm_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 drain time set for the given <i>object</i> (default: 0 ns).</div></div><div class=CToolTip id="tt21"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters nowrap>function void display_objections(</td> <td class=PType nowrap>uvm_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="tt22"><div class=CClass>The <i>uvm_root</i> class serves as the implicit top-level and phase controller for all UVM components. </div></div><div class=CToolTip id="tt23"><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>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 <i>raised</i> callback is called when this or a descendant of this component instance raises the specfied <i>objection</i>. </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 function void dropped (</td> <td class=PType nowrap>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 <i>dropped</i> callback is called when this or a descendant of this component instance drops the specfied <i>objection</i>. </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 task all_dropped (</td> <td class=PType nowrap>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 <i>all_droppped</i> callback is called when all objections have been dropped by this component and all its descendants. </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 raised (</td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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> |
| Executes the uvm_objection_callback::raised method in the user callback class whenever this objection is raised at the object <i>obj</i>.</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 function void raised (</td> <td class=PType nowrap>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 raised callback function. </div></div><div class=CToolTip id="tt28"><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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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> |
| Executes the uvm_objection_callback::dropped method in the user callback class whenever this objection is dropped at the object <i>obj</i>.</div></div><div class=CToolTip id="tt29"><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>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 dropped callback function. </div></div><div class=CToolTip id="tt30"><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>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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> |
| Executes the uvm_objection_callback::all_dropped task in the user callback class whenever the objection count for this objection in reference to <i>obj</i> goes to zero.</div></div><div class=CToolTip id="tt31"><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>uvm_objection </td> |
| <td class=PParameter nowrap>objection,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>uvm_object </td> |
| <td class=PParameter nowrap>source_obj,</td> |
| </tr><tr><td></td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>description,</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 all_dropped callback function. </div></div><div class=CToolTip id="tt32"><div class=CClass>Heartbeats provide a way for environments to easily ensure that their descendants are alive. </div></div><div class=CToolTip id="tt33"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class uvm_callback extends uvm_object |
| </td></tr></table></blockquote>The <i>uvm_callback</i> class is the base class for user-defined callback classes. </div></div><!--END_ND_TOOLTIPS--> |
| |
| <script language=JavaScript><!-- |
| if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> |