blob: 41364ec8d6816f6a6b231eaa1b50ab7ca4e92c76 [file] [log] [blame]
<html><head><title>ovm_transaction</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_transaction" href="../../../../src/base/ovm_transaction.svh">ovm_transaction</a></h1><div class=CBody><p>The ovm_transaction class is the root base class for OVM transactions.&nbsp; Inheriting all the methods of ovm_object, ovm_transaction adds a timing and recording interface.</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_transaction" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">ovm_transaction</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>The ovm_transaction class is the root base class for OVM transactions. </td></tr>
<tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td><tr><tr class="SPrototype SIndent1"><td colspan=2 class=SDescription><div class=ClassHierarchy>
<table border=0 cellspacing=0 cellpadding=0>
<tr><td><div class=CHParent><div class=CHEntry><a href="ovm_object-svh.html#ovm_object" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_object</a></div></div></td></tr>
<tr><td><div class=CHCurrent><div class=CHEntry>ovm_transaction</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>virtual class ovm_transaction extends ovm_object</td></tr></table></blockquote></td></tr>
<!-- index=1 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#ovm_transaction.Methods" >Methods</a></td><td class=SDescription></td></tr>
<!-- index=2 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.new" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">new</a></td><td class=SDescription>Creates a new transaction object. </td></tr>
<!-- index=3 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.accept_tr" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">accept_tr</a></td><td class=SDescription>Calling accept_tr indicates that the transaction has been accepted for processing by a consumer component, such as an ovm_driver. </td></tr>
<!-- index=4 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.do_accept_tr" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">do_accept_tr</a></td><td class=SDescription>This user-definable callback is called by accept_tr just before the accept event is triggered. </td></tr>
<!-- index=5 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.begin_tr" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">begin_tr</a></td><td class=SDescription>This function indicates that the transaction has been started and is not the child of another transaction. </td></tr>
<!-- index=6 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.begin_child_tr" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">begin_child_tr</a></td><td class=SDescription>This function indicates that the transaction has been started as a child of a parent transaction given by parent_handle. </td></tr>
<!-- index=7 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.do_begin_tr" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">do_begin_tr</a></td><td class=SDescription>This user-definable callback is called by begin_tr and begin_child_tr just before the begin event is triggered. </td></tr>
<!-- index=8 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.end_tr" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">end_tr</a></td><td class=SDescription>This function indicates that the transaction execution has ended. </td></tr>
<!-- index=9 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.do_end_tr" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">do_end_tr</a></td><td class=SDescription>This user-definable callback is called by end_tr just before the end event is triggered. </td></tr>
<!-- index=10 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.get_tr_handle" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">get_tr_handle</a></td><td class=SDescription>Returns the handle associated with the transaction, as set by a previous call to begin_child_tr or begin_tr with transaction recording enabled.</td></tr>
<!-- index=11 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.disable_recording" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">disable_recording</a></td><td class=SDescription>Turns off recording for the transaction stream. </td></tr>
<!-- index=12 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.enable_recording" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">enable_recording</a></td><td class=SDescription>Turns on recording to the stream specified by stream, whose interpretation is implementation specific.</td></tr>
<!-- index=13 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.is_recording_enabled" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">is_recording_enabled</a></td><td class=SDescription>Returns 1 if recording is currently on, 0 otherwise.</td></tr>
<!-- index=14 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.is_active" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">is_active</a></td><td class=SDescription>Returns 1 if the transaction has been started but has not yet been ended. </td></tr>
<!-- index=15 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.get_event_pool" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">get_event_pool</a></td><td class=SDescription>Returns the event pool associated with this transaction.</td></tr>
<!-- index=16 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.set_initiator" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">set_initiator</a></td><td class=SDescription>Sets initiator as the initiator of this transaction.</td></tr>
<!-- index=17 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.get_initiator" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">get_initiator</a></td><td class=SDescription>Returns the component that produced or started the transaction, as set by a previous call to set_initiator.</td></tr>
<!-- index=18 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.get_accept_time" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">get_accept_time</a></td><td class=SDescription></td></tr>
<!-- index=19 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.get_begin_time" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">get_begin_time</a></td><td class=SDescription></td></tr>
<!-- index=20 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.get_end_time" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">get_end_time</a></td><td class=SDescription>Returns the time at which this transaction was accepted, begun, or ended, as by a previous call to accept_tr, begin_tr, begin_child_tr, or end_tr.</td></tr>
<!-- index=21 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#ovm_transaction.set_transaction_id" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">set_transaction_id</a></td><td class=SDescription>Sets this transaction&rsquo;s numeric identifier to id. </td></tr>
<!-- index=22 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#ovm_transaction.get_transaction_id" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">get_transaction_id</a></td><td class=SDescription>Returns this transaction&rsquo;s numeric identifier, which is -1 if not set explicitly by set_transaction_id.</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_transaction.Methods" href="../../../../src/base/ovm_transaction.svh">Methods</a></h3></div></div>
<!--CONTENT index=2 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.new" href="../../../../src/base/ovm_transaction.svh">new</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function new (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>name</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>&quot;&quot;,</td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>initiator</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Creates a new transaction object.&nbsp; The name is the instance name of the transaction.&nbsp; If not supplied, then the object is unnamed.</p></div></div></div>
<!--CONTENT index=3 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.accept_tr" href="../../../../src/base/ovm_transaction.svh">accept_tr</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 accept_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>accept_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Calling accept_tr indicates that the transaction has been accepted for processing by a consumer component, such as an ovm_driver.&nbsp; With some protocols, the transaction may not be started immediately after it is accepted.&nbsp; For example, a bus driver may have to wait for a bus grant before starting the transaction.</p><h4 class=CHeading>This function performs the following actions</h4><ul><li>The transaction&rsquo;s internal accept time is set to the current simulation time, or to accept_time if provided and non-zero.&nbsp; The accept_time may be any time, past or future.</li><li>The transaction&rsquo;s internal accept event is triggered.&nbsp; Any processes waiting on the this event will resume in the next delta cycle.</li><li>The do_accept_tr method is called to allow for any post-accept action in derived classes.</li></ul></div></div></div>
<!--CONTENT index=4 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.do_accept_tr" href="../../../../src/base/ovm_transaction.svh">do_accept_tr</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual protected function void do_accept_tr ()</td></tr></table></blockquote><div class=CBody><p>This user-definable callback is called by accept_tr just before the accept event is triggered.&nbsp; Implementations should call super.do_accept_tr to ensure correct operation.</p></div></div></div>
<!--CONTENT index=5 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.begin_tr" href="../../../../src/base/ovm_transaction.svh">begin_tr</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 integer begin_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>begin_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>This function indicates that the transaction has been started and is not the child of another transaction.&nbsp; Generally, a consumer component begins execution of the transactions it receives.</p><h4 class=CHeading>This function performs the following actions</h4><ul><li>The transaction&rsquo;s internal start time is set to the current simulation time, or to begin_time if provided and non-zero.&nbsp; The begin_time may be any time, past or future, but should not be less than the accept time.</li><li>If recording is enabled, then a new database-transaction is started with the same begin time as above.&nbsp; The record method inherited from ovm_object is then called, which records the current property values to this new transaction.</li><li>The do_begin_tr method is called to allow for any post-begin action in derived classes.</li><li>The transaction&rsquo;s internal begin event is triggered.&nbsp; Any processes waiting on this event will resume in the next delta cycle.</li></ul><p>The return value is a transaction handle, which is valid (non-zero) only if recording is enabled.&nbsp; The meaning of the handle is implementation specific.</p></div></div></div>
<!--CONTENT index=6 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.begin_child_tr" href="../../../../src/base/ovm_transaction.svh">begin_child_tr</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 integer begin_child_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>begin_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>0,</td></tr><tr><td></td><td class=PType nowrap>integer&nbsp;</td><td class=PParameter nowrap>parent_handle</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>0</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>This function indicates that the transaction has been started as a child of a parent transaction given by parent_handle.&nbsp; Generally, a consumer component begins execution of the transactions it receives.</p><p>The parent handle is obtained by a previous call to begin_tr or begin_child_tr.&nbsp; If the parent_handle is invalid (=0), then this function behaves the same as begin_tr.</p><h4 class=CHeading>This function performs the following actions</h4><ul><li>The transaction&rsquo;s internal start time is set to the current simulation time, or to begin_time if provided and non-zero.&nbsp; The begin_time may be any time, past or future, but should not be less than the accept time.</li><li>If recording is enabled, then a new database-transaction is started with the same begin time as above.&nbsp; The record method inherited from ovm_object is then called, which records the current property values to this new transaction.&nbsp; Finally, the newly started transaction is linked to the parent transaction given by parent_handle.</li><li>The <a href="#ovm_transaction.do_begin_tr" class=LMethod id=link24 onMouseOver="ShowTip(event, 'tt8', 'link24')" onMouseOut="HideTip('tt8')">do_begin_tr</a> method is called to allow for any post-begin action in derived classes.</li><li>The transaction&rsquo;s internal begin event is triggered.&nbsp; Any processes waiting on this event will resume in the next delta cycle.</li></ul><p>The return value is a transaction handle, which is valid (non-zero) only if recording is enabled.&nbsp; The meaning of the handle is implementation specific.</p></div></div></div>
<!--CONTENT index=7 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.do_begin_tr" href="../../../../src/base/ovm_transaction.svh">do_begin_tr</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual protected function void do_begin_tr ()</td></tr></table></blockquote><div class=CBody><p>This user-definable callback is called by begin_tr and begin_child_tr just before the begin event is triggered.&nbsp; Implementations should call super.do_begin_tr to ensure correct operation.</p></div></div></div>
<!--CONTENT index=8 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.end_tr" href="../../../../src/base/ovm_transaction.svh">end_tr</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 end_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>end_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>0,</td></tr><tr><td></td><td class=PType nowrap>bit&nbsp;</td><td class=PParameter nowrap>free_handle</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>This function indicates that the transaction execution has ended.&nbsp; Generally, a consumer component ends execution of the transactions it receives.</p><h4 class=CHeading>This function performs the following actions</h4><ul><li>The transaction&rsquo;s internal end time is set to the current simulation time, or to end_time if provided and non-zero.&nbsp; The end_time may be any time, past or future, but should not be less than the begin time.</li><li>If recording is enabled and a database-transaction is currently active, then the record method inherited from ovm_object is called, which records the final property values.&nbsp; The transaction is then ended.&nbsp; If free_handle is set, the transaction is released and can no longer be linked to (if supported by the implementation).</li><li>The <a href="#ovm_transaction.do_end_tr" class=LMethod id=link25 onMouseOver="ShowTip(event, 'tt10', 'link25')" onMouseOut="HideTip('tt10')">do_end_tr</a> method is called to allow for any post-end action in derived classes.</li><li>The transaction&rsquo;s internal end event is triggered.&nbsp; Any processes waiting on this event will resume in the next delta cycle.</li></ul></div></div></div>
<!--CONTENT index=9 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.do_end_tr" href="../../../../src/base/ovm_transaction.svh">do_end_tr</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual protected function void do_end_tr ()</td></tr></table></blockquote><div class=CBody><p>This user-definable callback is called by end_tr just before the end event is triggered.&nbsp; Implementations should call super.do_end_tr to ensure correct operation.</p></div></div></div>
<!--CONTENT index=10 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.get_tr_handle" href="../../../../src/base/ovm_transaction.svh">get_tr_handle</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function integer get_tr_handle ()</td></tr></table></blockquote><div class=CBody><p>Returns the handle associated with the transaction, as set by a previous call to begin_child_tr or begin_tr with transaction recording enabled.</p></div></div></div>
<!--CONTENT index=11 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.disable_recording" href="../../../../src/base/ovm_transaction.svh">disable_recording</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function void disable_recording ()</td></tr></table></blockquote><div class=CBody><p>Turns off recording for the transaction stream.&nbsp; This method does not effect a component&rsquo;s recording streams.</p></div></div></div>
<!--CONTENT index=12 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.enable_recording" href="../../../../src/base/ovm_transaction.svh">enable_recording</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 enable_recording (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>stream</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Turns on recording to the stream specified by stream, whose interpretation is implementation specific.</p><p>If transaction recording is on, then a call to record is made when the transaction is started and when it is ended.</p></div></div></div>
<!--CONTENT index=13 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.is_recording_enabled" href="../../../../src/base/ovm_transaction.svh">is_recording_enabled</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit is_recording_enabled()</td></tr></table></blockquote><div class=CBody><p>Returns 1 if recording is currently on, 0 otherwise.</p></div></div></div>
<!--CONTENT index=14 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.is_active" href="../../../../src/base/ovm_transaction.svh">is_active</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit is_active ()</td></tr></table></blockquote><div class=CBody><p>Returns 1 if the transaction has been started but has not yet been ended.&nbsp; Returns 0 if the transaction has not been started.</p></div></div></div>
<!--CONTENT index=15 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.get_event_pool" href="../../../../src/base/ovm_transaction.svh">get_event_pool</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function ovm_event_pool get_event_pool ()</td></tr></table></blockquote><div class=CBody><p>Returns the event pool associated with this transaction.</p><p>By default, the event pool contains the events: begin, accept, and end.&nbsp; Events can also be added by derivative objects.&nbsp; See ovm_event_pool for more information.</p></div></div></div>
<!--CONTENT index=16 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.set_initiator" href="../../../../src/base/ovm_transaction.svh">set_initiator</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void set_initiator (</td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>initiator</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Sets initiator as the initiator of this transaction.</p><p>The initiator can be the component that produces the transaction.&nbsp; It can also be the component that started the transaction.&nbsp; This or any other usage is up to the transaction designer.</p></div></div></div>
<!--CONTENT index=17 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.get_initiator" href="../../../../src/base/ovm_transaction.svh">get_initiator</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function ovm_component get_initiator ()</td></tr></table></blockquote><div class=CBody><p>Returns the component that produced or started the transaction, as set by a previous call to set_initiator.</p></div></div></div>
<!--CONTENT index=18 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.get_accept_time" href="../../../../src/base/ovm_transaction.svh">get_accept_time</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function time get_accept_time ()</td></tr></table></blockquote><div class=CBody></div></div></div>
<!--CONTENT index=19 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.get_begin_time" href="../../../../src/base/ovm_transaction.svh">get_begin_time</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function time get_begin_time ()</td></tr></table></blockquote><div class=CBody></div></div></div>
<!--CONTENT index=20 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.get_end_time" href="../../../../src/base/ovm_transaction.svh">get_end_time</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function time get_end_time ()</td></tr></table></blockquote><div class=CBody><p>Returns the time at which this transaction was accepted, begun, or ended, as by a previous call to accept_tr, begin_tr, begin_child_tr, or end_tr.</p></div></div></div>
<!--CONTENT index=21 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.set_transaction_id" href="../../../../src/base/ovm_transaction.svh">set_transaction_id</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void set_transaction_id(</td><td class=PType nowrap>integer&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><div class=CBody><p>Sets this transaction&rsquo;s numeric identifier to id.&nbsp; If not set via this method, the transaction ID defaults to -1.</p><p>When using sequences to generate stimulus, the transaction ID is used along with the sequence ID to route responses in sequencers and to correlate responses to requests.</p></div></div></div>
<!--CONTENT index=22 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="ovm_transaction.get_transaction_id" href="../../../../src/base/ovm_transaction.svh">get_transaction_id</a></h3><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function integer get_transaction_id()</td></tr></table></blockquote><div class=CBody><p>Returns this transaction&rsquo;s numeric identifier, which is -1 if not set explicitly by set_transaction_id.</p><p>When using sequences to generate stimulus, the transaction ID is used along with the sequence ID to route responses in sequencers and to correlate responses to requests.</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 ovm_object extends ovm_void</td></tr></table></blockquote>The ovm_object class is the base class for all OVM data and hierarchical classes. </div></div><div class=CToolTip id="tt2"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_transaction extends ovm_object</td></tr></table></blockquote>The ovm_transaction class is the root base class for OVM transactions. </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&nbsp;</td><td class=PParameter nowrap>name</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>&quot;&quot;,</td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>initiator</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Creates a new transaction object. </div></div><div class=CToolTip id="tt4"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void accept_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>accept_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Calling accept_tr indicates that the transaction has been accepted for processing by a consumer component, such as an ovm_driver. </div></div><div class=CToolTip id="tt5"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual protected function void do_accept_tr ()</td></tr></table></blockquote>This user-definable callback is called by accept_tr just before the accept event is triggered. </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 integer begin_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>begin_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function indicates that the transaction has been started and is not the child of another transaction. </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 integer begin_child_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>begin_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>0,</td></tr><tr><td></td><td class=PType nowrap>integer&nbsp;</td><td class=PParameter nowrap>parent_handle</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>0</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function indicates that the transaction has been started as a child of a parent transaction given by parent_handle. </div></div><div class=CToolTip id="tt8"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual protected function void do_begin_tr ()</td></tr></table></blockquote>This user-definable callback is called by begin_tr and begin_child_tr just before the begin event is triggered. </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 void end_tr (</td><td class=PType nowrap>time&nbsp;</td><td class=PParameter nowrap>end_time</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>0,</td></tr><tr><td></td><td class=PType nowrap>bit&nbsp;</td><td class=PParameter nowrap>free_handle</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This function indicates that the transaction execution has ended. </div></div><div class=CToolTip id="tt10"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual protected function void do_end_tr ()</td></tr></table></blockquote>This user-definable callback is called by end_tr just before the end event is triggered. </div></div><div class=CToolTip id="tt11"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function integer get_tr_handle ()</td></tr></table></blockquote>Returns the handle associated with the transaction, as set by a previous call to begin_child_tr or begin_tr with transaction recording enabled.</div></div><div class=CToolTip id="tt12"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function void disable_recording ()</td></tr></table></blockquote>Turns off recording for the transaction stream. </div></div><div class=CToolTip id="tt13"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void enable_recording (</td><td class=PType nowrap>string&nbsp;</td><td class=PParameter nowrap>stream</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Turns on recording to the stream specified by stream, whose interpretation is implementation specific.</div></div><div class=CToolTip id="tt14"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit is_recording_enabled()</td></tr></table></blockquote>Returns 1 if recording is currently on, 0 otherwise.</div></div><div class=CToolTip id="tt15"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function bit is_active ()</td></tr></table></blockquote>Returns 1 if the transaction has been started but has not yet been ended. </div></div><div class=CToolTip id="tt16"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function ovm_event_pool get_event_pool ()</td></tr></table></blockquote>Returns the event pool associated with this transaction.</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>function void set_initiator (</td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>initiator</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets initiator as the initiator of this transaction.</div></div><div class=CToolTip id="tt18"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function ovm_component get_initiator ()</td></tr></table></blockquote>Returns the component that produced or started the transaction, as set by a previous call to set_initiator.</div></div><div class=CToolTip id="tt19"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function time get_accept_time ()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt20"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function time get_begin_time ()</td></tr></table></blockquote></div></div><div class=CToolTip id="tt21"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function time get_end_time ()</td></tr></table></blockquote>Returns the time at which this transaction was accepted, begun, or ended, as by a previous call to accept_tr, begin_tr, begin_child_tr, or end_tr.</div></div><div class=CToolTip id="tt22"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function void set_transaction_id(</td><td class=PType nowrap>integer&nbsp;</td><td class=PParameter nowrap>id</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>Sets this transaction&rsquo;s numeric identifier to id. </div></div><div class=CToolTip id="tt23"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>function integer get_transaction_id()</td></tr></table></blockquote>Returns this transaction&rsquo;s numeric identifier, which is -1 if not set explicitly by set_transaction_id.</div></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>