| <html><head><title>ovm_callbacks #(T,CB)</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!-- |
| if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script> |
| |
| <!-- Generated by Natural Docs, version Development Release 01-12-2008 (1.35 base) --> |
| <!-- http://www.naturaldocs.org --> |
| |
| <!-- saved from url=(0026)http://www.naturaldocs.org --> |
| |
| |
| |
| |
| |
| |
| |
| |
| <!--TOP - START OF CONTENT--> |
| <div id=Content> |
| |
| |
| <!--CONTENT index=0 --> |
| <div class="CClass"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="ovm_callbacks#(T,CB)" href="../../../../src/base/ovm_callback.svh">ovm_callbacks #(T,CB)</a></h1><div class=CBody><p>The <i>ovm_callbacks</i> class provides a base class for implementing callbacks, which are typically used to modify or augment component behavior without changing the component class. To work effectively, the developer of the component class defines a set of “hook” methods that enable users to customize certain behaviors of the component in a manner that is controlled by the component developer. The integrity of the component’s overall behavior is intact, while still allowing certain customizable actions by the user.</p><p>To enable compile-time type-safety, the class is parameterized on both the user-defined callback interface implementation as well as the object type associated with the callback.</p><p>To provide the most flexibility for end-user customization and reuse, it is recommended that the component developer also define a corresponding set of virtual method hooks in the component itself. This affords users the ability to customize via inheritance/factory overrides as well as callback object registration. The implementation of each virtual method would provide the default traversal algorithm for the particular callback being called. Being virtual, users can define subtypes that override the default algorithm, perform tasks before and/or after calling super.<method> to execute any registered callbacks, or to not call the base implementation, effectively disabling that particalar hook. A demonstration of this methodology is provided in an example included in the kit.</p> |
| |
| <!--START_ND_SUMMARY index=0--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=0 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_callbacks#(T,CB)" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_callbacks #(T,CB)</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>The <i>ovm_callbacks</i> class provides a base class for implementing callbacks, which are typically used to modify or augment component behavior without changing the component class. </td></tr> |
| <tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td><tr><tr class="SPrototype SIndent1"><td colspan=2 class=SDescription><div class=ClassHierarchy> |
| <table border=0 cellspacing=0 cellpadding=0> |
| <tr><td><div class=CHParent><div class=CHEntry>ovm_pool#(T,ovm_queue#(CB))</div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>ovm_callbacks#(T,CB)</div></div></td></tr></table> |
| </div></td></tr> |
| <tr class="SPrototype SIndent1"> |
| <td colspan=2 class="SEntry SIndent1">Class Declaration</td><tr><tr class="SPrototype SIndent1"><td colspan=2 class=SDescription><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters colspan=5>class ovm_callbacks #(</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%>int,</td></tr><tr><td> </td><td class=PType nowrap> </td><td class=PParameter nowrap>CB</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>int</td></tr><tr><td class=PAfterParameters colspan=5>) extends ovm_pool #(T,ovm_queue #(CB))</td></tr></table></td></tr></table></blockquote></td></tr> |
| <!-- index=1 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_callbacks#(T,CB).Parameters" >Parameters</a></td><td class=SDescription></td></tr> |
| <!-- index=2 --> |
| |
| <tr class="SParameter SIndent2"><td class=SEntry><a href="#ovm_callbacks#(T,CB).T" >T</a></td><td class=SDescription>This type parameter specifies the base object type with which the <a href="#ovm_callbacks#(T,CB).CB" class=LParameter id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">CB</a> callback objects will be registered.</td></tr> |
| <!-- index=3 --> |
| |
| <tr class="SParameter SIndent2 SMarked"><td class=SEntry><a href="#ovm_callbacks#(T,CB).CB" >CB</a></td><td class=SDescription>This type parameter specifies the base callback type that will be managed by this callback class. </td></tr> |
| <!-- index=4 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_callbacks#(T,CB).Methods" >Methods</a></td><td class=SDescription></td></tr> |
| <!-- index=5 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_callbacks#(T,CB).new" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">new</a></td><td class=SDescription>Creates a new ovm_callbacks object, giving it an optional <i>name</i>.</td></tr> |
| <!-- index=6 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_callbacks#(T,CB).get_global_cbs" >get_global_cbs</a></td><td class=SDescription>Returns the global callback pool for this type.</td></tr> |
| <!-- index=7 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_callbacks#(T,CB).add_cb" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">add_cb</a></td><td class=SDescription>Registers the given callback object, <i>cb</i>, with the given <i>obj</i> handle. </td></tr> |
| <!-- index=8 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_callbacks#(T,CB).delete_cb" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">delete_cb</a></td><td class=SDescription>Removes a previously registered callback, <i>cb</i>, for the given object, <i>obj</i>.</td></tr> |
| <!-- index=9 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_callbacks#(T,CB).trace_mode" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">trace_mode</a></td><td class=SDescription>This function takes a single argument to turn on (1) or off (0) tracing. </td></tr> |
| <!-- index=10 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_callbacks#(T,CB).display_cbs" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">display_cbs</a></td><td class=SDescription>Displays information about all registered callbacks for the given <i>obj</i> handle. </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="ovm_callbacks#(T,CB).Parameters" href="../../../../src/base/ovm_callback.svh">Parameters</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=2 --> |
| <div class="CParameter"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).T" href="../../../../src/base/ovm_callback.svh">T</a></h3><div class=CBody><p>This type parameter specifies the base object type with which the <a href="#ovm_callbacks#(T,CB).CB" class=LParameter id=link8 onMouseOver="ShowTip(event, 'tt2', 'link8')" onMouseOut="HideTip('tt2')">CB</a> callback objects will be registered.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=3 --> |
| <div class="CParameter"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).CB" href="../../../../src/base/ovm_callback.svh">CB</a></h3><div class=CBody><p>This type parameter specifies the base callback type that will be managed by this callback class. The callback type is typically a interface class, which defines one or more virtual method prototypes that users can override in subtypes.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=4 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).Methods" href="../../../../src/base/ovm_callback.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=5 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).new" href="../../../../src/base/ovm_callback.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%>"ovm_callback"</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Creates a new ovm_callbacks object, giving it an optional <i>name</i>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=6 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).get_global_cbs" href="../../../../src/base/ovm_callback.svh">get_global_cbs</a></h3><div class=CBody><p>Returns the global callback pool for this type.</p><p>This allows items to be shared amongst components throughout the verification environment.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=7 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).add_cb" href="../../../../src/base/ovm_callback.svh">add_cb</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 add_cb(</td><td class=PType nowrap>T </td><td class=PParameter nowrap>obj,</td><td class=PDefaultValuePrefix> </td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>CB </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><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Registers the given callback object, <i>cb</i>, with the given <i>obj</i> handle. The <i>obj</i> handle can be null, which allows registration of callbacks without an object context. If <i>append</i> is 1 (default), the callback will be executed after previously added callbacks, else the callback will be executed ahead of previously added callbacks.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=8 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).delete_cb" href="../../../../src/base/ovm_callback.svh">delete_cb</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 delete_cb(</td><td class=PType nowrap>T </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>CB </td><td class=PParameter nowrap>cb</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Removes a previously registered callback, <i>cb</i>, for the given object, <i>obj</i>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=9 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).trace_mode" href="../../../../src/base/ovm_callback.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 void trace_mode(</td><td class=PType nowrap>bit </td><td class=PParameter nowrap>mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>This function takes a single argument to turn on (1) or off (0) tracing. The default is to turn tracing on.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=10 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callbacks#(T,CB).display_cbs" href="../../../../src/base/ovm_callback.svh">display_cbs</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_cbs(</td><td class=PType nowrap>T </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>Displays information about all registered callbacks for the given <i>obj</i> handle. If <i>obj</i> is not provided or is null, then information about all callbacks for all objects is displayed.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=11 --> |
| <div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_callback" href="../../../../src/base/ovm_callback.svh">ovm_callback</a></h2><div class=CBody><p>The <i>ovm_callback</i> class is the base class for user-defined callback classes. Typically, the component developer defines an application-specific callback class that extends from this class. In it, he defines one or more virtual methods, called a <i>callback interface</i>, that represent the hooks available for user override.</p><p>Methods intended for optional override should not be declared <i>pure.</i> Usually, all the callback methods are defined with empty implementations so users have the option of overriding any or all of them.</p><p>The prototypes for each hook method are completely application specific with no restrictions.</p> |
| |
| <!--START_ND_SUMMARY index=11--> |
| <div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable> |
| <!-- index=11 --> |
| |
| <tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_callback" id=link10 onMouseOver="ShowTip(event, 'tt9', 'link10')" onMouseOut="HideTip('tt9')">ovm_callback</a></td></tr> |
| <tr class=SMain><td colspan=2 class=SWideDescription>The <i>ovm_callback</i> class is the base class for user-defined callback classes. </td></tr> |
| <tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td><tr><tr class="SPrototype SIndent1"><td colspan=2 class=SDescription><div class=ClassHierarchy> |
| <table border=0 cellspacing=0 cellpadding=0> |
| <tr><td><div class=CHParent><div class=CHEntry><a href="ovm_object-svh.html#ovm_object" class=LClass id=link9 onMouseOver="ShowTip(event, 'tt8', 'link9')" onMouseOut="HideTip('tt8')">ovm_object</a></div></div></td></tr> |
| <tr><td><div class=CHCurrent><div class=CHEntry>ovm_callback</div></div></td></tr></table> |
| </div></td></tr> |
| <tr class="SPrototype SIndent1"> |
| <td colspan=2 class="SEntry SIndent1">Class Declaration</td><tr><tr class="SPrototype SIndent1"><td colspan=2 class=SDescription><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_callback extends ovm_object</td></tr></table></blockquote></td></tr> |
| <!-- index=12 --> |
| |
| <tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_callback.Methods" >Methods</a></td><td class=SDescription></td></tr> |
| <!-- index=13 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_callback.new" id=link11 onMouseOver="ShowTip(event, 'tt10', 'link11')" onMouseOut="HideTip('tt10')">new</a></td><td class=SDescription>Creates a new ovm_callback object, giving it an optional <i>name</i>.</td></tr> |
| <!-- index=14 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_callback.callback_mode" id=link12 onMouseOver="ShowTip(event, 'tt11', 'link12')" onMouseOut="HideTip('tt11')">callback_mode</a></td><td class=SDescription>Enable/disable callbacks (modeled like rand_mode and constraint_mode).</td></tr> |
| <!-- index=15 --> |
| |
| <tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_callback.is_enabled" id=link13 onMouseOver="ShowTip(event, 'tt12', 'link13')" onMouseOut="HideTip('tt12')">is_enabled</a></td><td class=SDescription>Returns 1 if the callback is enabled, 0 otherwise.</td></tr> |
| <!-- index=16 --> |
| |
| <tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_callback.get_type_name" id=link14 onMouseOver="ShowTip(event, 'tt13', 'link14')" onMouseOut="HideTip('tt13')">get_type_name</a></td><td class=SDescription>Returns the type name of this callback object.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=12 --> |
| <div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="ovm_callback.Methods" href="../../../../src/base/ovm_callback.svh">Methods</a></h3></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=13 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callback.new" href="../../../../src/base/ovm_callback.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%>"ovm_callback"</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Creates a new ovm_callback object, giving it an optional <i>name</i>.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=14 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callback.callback_mode" href="../../../../src/base/ovm_callback.svh">callback_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 callback_mode(</td><td class=PType nowrap>bit </td><td class=PParameter nowrap>on</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Enable/disable callbacks (modeled like rand_mode and constraint_mode).</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=15 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callback.is_enabled" href="../../../../src/base/ovm_callback.svh">is_enabled</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit is_enabled()</td></tr></table></blockquote><div class=CBody><p>Returns 1 if the callback is enabled, 0 otherwise.</p></div></div></div> |
| |
| |
| |
| |
| <!--CONTENT index=16 --> |
| <div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_callback.get_type_name" href="../../../../src/base/ovm_callback.svh">get_type_name</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name()</td></tr></table></blockquote><div class=CBody><p>Returns the type name of this callback object.</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><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>class ovm_callbacks #(</td><td class=PType nowrap>type </td><td class=PParameter nowrap>T</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>int,</td></tr><tr><td></td><td class=PType nowrap> </td><td class=PParameter nowrap>CB</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>int</td><td class=PAfterParameters nowrap>) extends ovm_pool #(T,ovm_queue #(CB))</td></tr></table></td></tr></table></blockquote>The <i>ovm_callbacks</i> class provides a base class for implementing callbacks, which are typically used to modify or augment component behavior without changing the component class. </div></div><div class=CToolTip id="tt2"><div class=CParameter>This type parameter specifies the base callback type that will be managed by this callback class. </div></div><div class=CToolTip id="tt3"><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%>"ovm_callback"</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new ovm_callbacks object, giving it an optional <i>name</i>.</div></div><div class=CToolTip id="tt4"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual function void add_cb(</td><td class=PType nowrap>T </td><td class=PParameter nowrap>obj,</td><td class=PDefaultValuePrefix> </td><td class=PDefaultValue width=100%></td></tr><tr><td></td><td class=PType nowrap>CB </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><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Registers the given callback object, <i>cb</i>, with the given <i>obj</i> handle. </div></div><div class=CToolTip id="tt5"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>virtual function void delete_cb(</td><td class=PType nowrap>T </td><td class=PParameter nowrap>obj,</td></tr><tr><td></td><td class=PType nowrap>CB </td><td class=PParameter nowrap>cb</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Removes a previously registered callback, <i>cb</i>, for the given object, <i>obj</i>.</div></div><div class=CToolTip id="tt6"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void trace_mode(</td><td class=PType nowrap>bit </td><td class=PParameter nowrap>mode</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function takes a single argument to turn on (1) or off (0) tracing. </div></div><div class=CToolTip id="tt7"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void display_cbs(</td><td class=PType nowrap>T </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>Displays information about all registered callbacks for the given <i>obj</i> handle. </div></div><div class=CToolTip id="tt8"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_object extends ovm_void</td></tr></table></blockquote>The ovm_object class is the base class for all OVM data and hierarchical classes. </div></div><div class=CToolTip id="tt9"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_callback extends ovm_object</td></tr></table></blockquote>The <i>ovm_callback</i> class is the base class for user-defined callback classes. </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 new(</td><td class=PType nowrap>string </td><td class=PParameter nowrap>name</td><td class=PDefaultValuePrefix> = </td><td class=PDefaultValue width=100%>"ovm_callback"</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new ovm_callback object, giving it an optional <i>name</i>.</div></div><div class=CToolTip id="tt11"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void callback_mode(</td><td class=PType nowrap>bit </td><td class=PParameter nowrap>on</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Enable/disable callbacks (modeled like rand_mode and constraint_mode).</div></div><div class=CToolTip id="tt12"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit is_enabled()</td></tr></table></blockquote>Returns 1 if the callback is enabled, 0 otherwise.</div></div><div class=CToolTip id="tt13"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name()</td></tr></table></blockquote>Returns the type name of this callback object.</div></div><!--END_ND_TOOLTIPS--> |
| |
| <script language=JavaScript><!-- |
| if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html> |