| <html><head><title>uvm_event_base</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!-- |
| if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script> |
| |
| <!-- Generated by Natural Docs, version Development Release 01-12-2008 (1.35 base) --> |
| <!-- http://www.naturaldocs.org --> |
| |
| <!-- saved from url=(0026)http://www.naturaldocs.org --> |
| |
| |
| |
| |
| |
| |
| |
| |
| <!--TOP - START OF CONTENT--> |
| <div id=Content> |
| |
| |
| <!--CONTENT index=0 --> |
| <div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="uvm_event_base" href="../../src/base/uvm_event.svh">uvm_event_base</a></h1><div class=CBody><p>The uvm_event_base class is an abstract wrapper class around the SystemVerilog event construct. It provides some additional services such as setting callbacks and maintaining the number of waiters.</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="SSMethod"><td class=SEntry><a href="#uvm_event_base" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">uvm_event_base</a></td><td class=SDescription>The uvm_event_base class is an abstract wrapper class around the SystemVerilog event construct. </td></tr> |
| <!-- index=13 --> |
| |
| <tr class="SSMethod SMarked"><td class=SEntry><a href="#uvm_event#(T)" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">uvm_event#(T)</a></td><td class=SDescription>The uvm_event class is an extension of the abstract uvm_event_base class.</td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=1 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.Methods" href="../../src/base/uvm_event.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=2 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.new" href="../../src/base/uvm_event.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 colspan=5>function new (</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Creates a new event object.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=3 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.wait_on" href="../../src/base/uvm_event.svh">wait_on</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual task wait_on (</td> </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>delta</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%> 0</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Waits for the event to be activated for the first time.</p><p>If the event has already been triggered, this task returns immediately. If <i>delta</i> is set, the caller will be forced to wait a single delta #0 before returning. This prevents the caller from returning before previously waiting processes have had a chance to resume.</p><p>Once an event has been triggered, it will be remain “on” until the event is <a href="#uvm_event_base.reset" class=LMethod id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">reset</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=4 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.wait_off" href="../../src/base/uvm_event.svh">wait_off</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual task wait_off (</td> </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>delta</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%> 0</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>If the event has already triggered and is “on”, this task waits for the event to be turned “off” via a call to <a href="#uvm_event_base.reset" class=LMethod id=link6 onMouseOver="ShowTip(event, 'tt5', 'link6')" onMouseOut="HideTip('tt5')">reset</a>.</p><p>If the event has not already been triggered, this task returns immediately. If <i>delta</i> is set, the caller will be forced to wait a single delta #0 before returning. This prevents the caller from returning before previously waiting processes have had a chance to resume.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=5 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.wait_trigger" href="../../src/base/uvm_event.svh">wait_trigger</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual task wait_trigger () |
| </td></tr></table></blockquote><div class=CBody><p>Waits for the event to be triggered.</p><p>If one process calls wait_trigger in the same delta as another process calls <a href="#uvm_event#(T).trigger" class=LMethod id=link7 onMouseOver="ShowTip(event, 'tt6', 'link7')" onMouseOut="HideTip('tt6')">uvm_event#(T)::trigger</a>, a race condition occurs. If the call to wait occurs before the trigger, this method will return in this delta. If the wait occurs after the trigger, this method will not return until the next trigger, which may never occur and thus cause deadlock.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=6 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.wait_ptrigger" href="../../src/base/uvm_event.svh">wait_ptrigger</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual task wait_ptrigger () |
| </td></tr></table></blockquote><div class=CBody><p>Waits for a persistent trigger of the event. Unlike <a href="#uvm_event_base.wait_trigger" class=LMethod id=link8 onMouseOver="ShowTip(event, 'tt7', 'link8')" onMouseOut="HideTip('tt7')">wait_trigger</a>, this views the trigger as persistent within a given time-slice and thus avoids certain race conditions. If this method is called after the trigger but within the same time-slice, the caller returns immediately.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=7 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.get_trigger_time" href="../../src/base/uvm_event.svh">get_trigger_time</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function time get_trigger_time () |
| </td></tr></table></blockquote><div class=CBody><p>Gets the time that this event was last triggered. If the event has not been triggered, or the event has been reset, then the trigger time will be 0.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=8 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.is_on" href="../../src/base/uvm_event.svh">is_on</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function bit is_on () |
| </td></tr></table></blockquote><div class=CBody><p>Indicates whether the event has been triggered since it was last reset.</p><p>A return of 1 indicates that the event has triggered.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=9 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.is_off" href="../../src/base/uvm_event.svh">is_off</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function bit is_off () |
| </td></tr></table></blockquote><div class=CBody><p>Indicates whether the event has been triggered or been reset.</p><p>A return of 1 indicates that the event has not been triggered.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=10 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.reset" href="../../src/base/uvm_event.svh">reset</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual function void reset (</td> </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>wakeup</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%> 0</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Resets the event to its off state. If <i>wakeup</i> is set, then all processes currently waiting for the event are activated before the reset.</p><p>No callbacks are called during a reset.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=11 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.cancel" href="../../src/base/uvm_event.svh">cancel</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function void cancel () |
| </td></tr></table></blockquote><div class=CBody><p>Decrements the number of waiters on the event.</p><p>This is used if a process that is waiting on an event is disabled or activated by some other means.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=12 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event_base.get_num_waiters" href="../../src/base/uvm_event.svh">get_num_waiters</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function int get_num_waiters () |
| </td></tr></table></blockquote><div class=CBody><p>Returns the number of processes waiting on the event.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=13 --> |
| <div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_event#(T)" href="../../src/base/uvm_event.svh">uvm_event#(T)</a></h2><div class=CBody><p>The uvm_event class is an extension of the abstract uvm_event_base class.</p><p>The optional parameter <i>T</i> allows the user to define a data type which can be passed during an event trigger.</p> |
| |
| <!--START_ND_SUMMARY index=13--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=13 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_event#(T)" id=link12 onMouseOver="ShowTip(event, 'tt4', 'link12')" onMouseOut="HideTip('tt4')">uvm_event#(T)</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>The uvm_event class is an extension of the abstract uvm_event_base class.</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=LClass id=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">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=link10 onMouseOver="ShowTip(event, 'tt2', 'link10')" onMouseOut="HideTip('tt2')">uvm_object</a></div></div></td></tr> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="#uvm_event_base" class=LClass id=link11 onMouseOver="ShowTip(event, 'tt3', 'link11')" onMouseOut="HideTip('tt3')">uvm_event_base</a></div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>uvm_event#(T)</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><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>class uvm_event#(</td> </tr><tr><td> </td> <td class=PType nowrap>type </td> |
| <td class=PParameter nowrap>T</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>uvm_object</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>) extends uvm_event_base</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| </td></tr> |
| |
| <!-- index=14 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_event#(T).Methods" >Methods</a></td><td class=SDescription></td></tr> |
| <!-- index=15 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_event#(T).new" id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">new</a></td><td class=SDescription>Creates a new event object.</td></tr> |
| <!-- index=16 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_event#(T).wait_trigger_data" id=link14 onMouseOver="ShowTip(event, 'tt9', 'link14')" onMouseOut="HideTip('tt9')">wait_trigger_data</a></td><td class=SDescription>This method calls <a href="#uvm_event_base.wait_trigger" class=LMethod id=link15 onMouseOver="ShowTip(event, 'tt7', 'link15')" onMouseOut="HideTip('tt7')">uvm_event_base::wait_trigger</a> followed by <a href="#uvm_event#(T).get_trigger_data" class=LMethod id=link16 onMouseOver="ShowTip(event, 'tt10', 'link16')" onMouseOut="HideTip('tt10')">get_trigger_data</a>.</td></tr> |
| <!-- index=17 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_event#(T).wait_ptrigger_data" id=link17 onMouseOver="ShowTip(event, 'tt11', 'link17')" onMouseOut="HideTip('tt11')">wait_ptrigger_data</a></td><td class=SDescription>This method calls <a href="#uvm_event_base.wait_ptrigger" class=LMethod id=link18 onMouseOver="ShowTip(event, 'tt12', 'link18')" onMouseOut="HideTip('tt12')">uvm_event_base::wait_ptrigger</a> followed by <a href="#uvm_event#(T).get_trigger_data" class=LMethod id=link19 onMouseOver="ShowTip(event, 'tt10', 'link19')" onMouseOut="HideTip('tt10')">get_trigger_data</a>.</td></tr> |
| <!-- index=18 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_event#(T).trigger" id=link20 onMouseOver="ShowTip(event, 'tt6', 'link20')" onMouseOut="HideTip('tt6')">trigger</a></td><td class=SDescription>Triggers the event, resuming all waiting processes.</td></tr> |
| <!-- index=19 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_event#(T).get_trigger_data" id=link21 onMouseOver="ShowTip(event, 'tt10', 'link21')" onMouseOut="HideTip('tt10')">get_trigger_data</a></td><td class=SDescription>Gets the data, if any, provided by the last call to <a href="#uvm_event#(T).trigger" class=LMethod id=link22 onMouseOver="ShowTip(event, 'tt6', 'link22')" onMouseOut="HideTip('tt6')">trigger</a>.</td></tr> |
| <!-- index=20 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_event#(T).add_callback" id=link23 onMouseOver="ShowTip(event, 'tt13', 'link23')" onMouseOut="HideTip('tt13')">add_callback</a></td><td class=SDescription>Registers a callback object, <i>cb</i>, with this event. </td></tr> |
| <!-- index=21 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_event#(T).delete_callback" id=link24 onMouseOver="ShowTip(event, 'tt14', 'link24')" onMouseOut="HideTip('tt14')">delete_callback</a></td><td class=SDescription>Unregisters the given callback, <i>cb</i>, from this event.</td></tr></table></div></div><!--END_ND_SUMMARY--> |
| </div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=14 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).Methods" href="../../src/base/uvm_event.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=15 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).new" href="../../src/base/uvm_event.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 colspan=5>function new (</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Creates a new event object.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=16 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).wait_trigger_data" href="../../src/base/uvm_event.svh">wait_trigger_data</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=4>virtual task wait_trigger_data (</td> </tr><tr><td> </td> <td class=PTypePrefix nowrap>output </td> |
| <td class=PType nowrap>T </td> |
| <td class=PParameter nowrap width=100%>data</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=4>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>This method calls <a href="#uvm_event_base.wait_trigger" class=LMethod id=link25 onMouseOver="ShowTip(event, 'tt7', 'link25')" onMouseOut="HideTip('tt7')">uvm_event_base::wait_trigger</a> followed by <a href="#uvm_event#(T).get_trigger_data" class=LMethod id=link26 onMouseOver="ShowTip(event, 'tt10', 'link26')" onMouseOut="HideTip('tt10')">get_trigger_data</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=17 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).wait_ptrigger_data" href="../../src/base/uvm_event.svh">wait_ptrigger_data</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=4>virtual task wait_ptrigger_data (</td> </tr><tr><td> </td> <td class=PTypePrefix nowrap>output </td> |
| <td class=PType nowrap>T </td> |
| <td class=PParameter nowrap width=100%>data</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=4>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>This method calls <a href="#uvm_event_base.wait_ptrigger" class=LMethod id=link27 onMouseOver="ShowTip(event, 'tt12', 'link27')" onMouseOut="HideTip('tt12')">uvm_event_base::wait_ptrigger</a> followed by <a href="#uvm_event#(T).get_trigger_data" class=LMethod id=link28 onMouseOver="ShowTip(event, 'tt10', 'link28')" onMouseOut="HideTip('tt10')">get_trigger_data</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=18 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).trigger" href="../../src/base/uvm_event.svh">trigger</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual function void trigger (</td> </tr><tr><td> </td> <td class=PType nowrap>T </td> |
| <td class=PParameter nowrap>data</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Triggers the event, resuming all waiting processes.</p><p>An optional <i>data</i> argument can be supplied with the enable to provide trigger-specific information.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=19 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).get_trigger_data" href="../../src/base/uvm_event.svh">get_trigger_data</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function T get_trigger_data () |
| </td></tr></table></blockquote><div class=CBody><p>Gets the data, if any, provided by the last call to <a href="#uvm_event#(T).trigger" class=LMethod id=link29 onMouseOver="ShowTip(event, 'tt6', 'link29')" onMouseOut="HideTip('tt6')">trigger</a>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=20 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).add_callback" href="../../src/base/uvm_event.svh">add_callback</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual function void add_callback (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_event_callback#(T) </td> |
| <td class=PParameter nowrap>cb,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>append</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>1</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Registers a callback object, <i>cb</i>, with this event. The callback object may include pre_trigger and post_trigger functionality. If <i>append</i> is set to 1, the default, <i>cb</i> is added to the back of the callback list. Otherwise, <i>cb</i> is placed at the front of the callback list.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=21 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_event#(T).delete_callback" href="../../src/base/uvm_event.svh">delete_callback</a></h3> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=3>virtual function void delete_callback (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_event_callback#(T) </td> |
| <td class=PParameter nowrap width=100%>cb</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=3>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| <div class=CBody><p>Unregisters the given callback, <i>cb</i>, from this event.</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>virtual class uvm_void |
| </td></tr></table></blockquote>The <i>uvm_void</i> class is the base class for all UVM classes. </div></div><div class=CToolTip id="tt2"><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="tt3"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_event_base extends uvm_object |
| </td></tr></table></blockquote>The uvm_event_base class is an abstract wrapper class around the SystemVerilog event construct. </div></div><div class=CToolTip id="tt4"><div class=CClass> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>class uvm_event#(</td> </tr><tr><td> </td> <td class=PType nowrap>type </td> |
| <td class=PParameter nowrap>T</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>uvm_object</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>) extends uvm_event_base</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| The uvm_event class is an extension of the abstract uvm_event_base class.</div></div><div class=CToolTip id="tt5"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual function void reset (</td> </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>wakeup</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%> 0</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Resets the event to its off state. </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 colspan=5>virtual function void trigger (</td> </tr><tr><td> </td> <td class=PType nowrap>T </td> |
| <td class=PParameter nowrap>data</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>null</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Triggers the event, resuming all waiting processes.</div></div><div class=CToolTip id="tt7"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual task wait_trigger () |
| </td></tr></table></blockquote>Waits for the event to be triggered.</div></div><div class=CToolTip id="tt8"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>function new (</td> </tr><tr><td> </td> <td class=PType nowrap>string </td> |
| <td class=PParameter nowrap>name</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>""</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Creates a new event object.</div></div><div class=CToolTip id="tt9"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=4>virtual task wait_trigger_data (</td> </tr><tr><td> </td> <td class=PTypePrefix nowrap>output </td> |
| <td class=PType nowrap>T </td> |
| <td class=PParameter nowrap width=100%>data</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=4>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| This method calls uvm_event_base::wait_trigger followed by get_trigger_data.</div></div><div class=CToolTip id="tt10"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function T get_trigger_data () |
| </td></tr></table></blockquote>Gets the data, if any, provided by the last call to trigger.</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 colspan=4>virtual task wait_ptrigger_data (</td> </tr><tr><td> </td> <td class=PTypePrefix nowrap>output </td> |
| <td class=PType nowrap>T </td> |
| <td class=PParameter nowrap width=100%>data</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=4>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| This method calls uvm_event_base::wait_ptrigger followed by get_trigger_data.</div></div><div class=CToolTip id="tt12"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual task wait_ptrigger () |
| </td></tr></table></blockquote>Waits for a persistent trigger of the event. </div></div><div class=CToolTip id="tt13"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=5>virtual function void add_callback (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_event_callback#(T) </td> |
| <td class=PParameter nowrap>cb,</td> |
| <td class=PDefaultValuePrefix> </td> |
| <td class=PDefaultValue width=100%></td> |
| </tr><tr><td> </td> <td class=PType nowrap>bit </td> |
| <td class=PParameter nowrap>append</td> |
| <td class=PDefaultValuePrefix> = </td> |
| <td class=PDefaultValue width=100%>1</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=5>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Registers a callback object, <i>cb</i>, with this event. </div></div><div class=CToolTip id="tt14"><div class=CMethod> |
| <blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype> |
| <tr><td><table border=0 cellspacing=0 cellpadding=0><tr> |
| <td class=PBeforeParameters colspan=3>virtual function void delete_callback (</td> </tr><tr><td> </td> <td class=PType nowrap>uvm_event_callback#(T) </td> |
| <td class=PParameter nowrap width=100%>cb</td> |
| </tr> |
| <tr> |
| <td class=PAfterParameters colspan=3>)</td></tr> |
| </table></td></tr> |
| </table></blockquote> |
| Unregisters the given callback, <i>cb</i>, from this event.</div></div><!--END_ND_TOOLTIPS--> |
| |
| <script language=JavaScript><!-- |
| if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> |