<html><head><title>tlm_req_rsp_channel #(REQ,RSP)</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="tlm_req_rsp_channel#(REQ,RSP)" href="../../../../src/tlm/tlm_req_rsp.svh">tlm_req_rsp_channel #(REQ,RSP)</a></h1><div class=CBody><p>The tlm_req_rsp_channel contains a request FIFO of type <i>REQ</i> and a response FIFO of type <i>RSP</i>.&nbsp; These FIFOs can be of any size.&nbsp; This channel is particularly useful for dealing with pipelined protocols where the request and response are not tightly coupled.</p><h4 class=CHeading>Type parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>REQ</td><td class=CDLDescription>Type of the request transactions conveyed by this channel.</td></tr><tr><td class=CDLEntry>RSP</td><td class=CDLDescription>Type of the reponse transactions conveyed by this channel.</td></tr></table>

<!--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="#tlm_req_rsp_channel#(REQ,RSP)" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">tlm_req_rsp_channel #(REQ,RSP)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>The tlm_req_rsp_channel contains a request FIFO of type <i>REQ</i> and a response FIFO of type <i>RSP</i>. </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="../base/ovm_object-svh.html#ovm_object" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_object</a></div></div></td></tr>

<tr><td><div class=CHParent><div class=CHEntry><a href="../base/ovm_report_object-svh.html#ovm_report_object" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">ovm_report_object</a></div></div></td></tr>

<tr><td><div class=CHParent><div class=CHEntry><a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">ovm_component</a></div></div></td></tr>
<tr><td><div class=CHCurrent><div class=CHEntry>tlm_req_rsp_channel#(REQ,RSP)</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 tlm_req_rsp_channel #(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>REQ</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>int,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>RSP</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>REQ</td></tr><tr><td class=PAfterParameters colspan=5>) extends ovm_component</td></tr></table></td></tr></table></blockquote></td></tr>
  <!-- index=1 -->

<tr class="SGroup SIndent1"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).Ports" >Ports</a></td><td class=SDescription></td></tr>
  <!-- index=2 -->

<tr class="SPort SIndent2"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).put_request_export" >put_request_export</a></td><td class=SDescription>The put_export provides both the blocking and non-blocking put interface methods to the request FIFO:</td></tr>
  <!-- index=3 -->

<tr class="SPort SIndent2 SMarked"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).get_peek_response_export" >get_peek_response_export</a></td><td class=SDescription>The get_peek_response_export provides all the blocking and non-blocking get and peek interface methods to the response FIFO:</td></tr>
  <!-- index=4 -->

<tr class="SPort SIndent2"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).get_peek_request_export" >get_peek_request_export</a></td><td class=SDescription>The get_peek_export provides all the blocking and non-blocking get and peek interface methods to the response FIFO:</td></tr>
  <!-- index=5 -->

<tr class="SPort SIndent2 SMarked"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).put_response_export" >put_response_export</a></td><td class=SDescription>The put_export provides both the blocking and non-blocking put interface methods to the response FIFO:</td></tr>
  <!-- index=6 -->

<tr class="SPort SIndent2"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).request_ap" >request_ap</a></td><td class=SDescription>Transactions passed via put or try_put (via any port connected to the put_request_export) are sent out this port via its write method.</td></tr>
  <!-- index=7 -->

<tr class="SPort SIndent2 SMarked"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).response_ap" >response_ap</a></td><td class=SDescription>Transactions passed via put or try_put (via any port connected to the put_response_export) are sent out this port via its write method.</td></tr>
  <!-- index=8 -->

<tr class="SPort SIndent2"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).master_export" >master_export</a></td><td class=SDescription>Exports a single interface that allows a master to put requests and get or peek responses. </td></tr>
  <!-- index=9 -->

<tr class="SPort SIndent2 SMarked"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).slave_export" >slave_export</a></td><td class=SDescription>Exports a single interface that allows a slave to get or peek requests and to put responses. </td></tr>
  <!-- index=10 -->

<tr class="SGroup SIndent1"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).Methods" >Methods</a></td><td class=SDescription></td></tr>
  <!-- index=11 -->

<tr class="SMethod SIndent2"><td class=SEntry><a href="#tlm_req_rsp_channel#(REQ,RSP).new" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">new</a></td><td class=SDescription>The <i>name</i> and <i>parent</i> are the standard <a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link6 onMouseOver="ShowTip(event, 'tt3', 'link6')" onMouseOut="HideTip('tt3')">ovm_component</a> constructor arguments. </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="tlm_req_rsp_channel#(REQ,RSP).Ports" href="../../../../src/tlm/tlm_req_rsp.svh">Ports</a></h3></div></div>




 <!--CONTENT index=2 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).put_request_export" href="../../../../src/tlm/tlm_req_rsp.svh">put_request_export</a></h3><div class=CBody><p>The put_export provides both the blocking and non-blocking put interface methods to the request FIFO:</p><blockquote><pre>task put (input T t);
function bit can_put ();
function bit try_put (input T t);</pre></blockquote><p>Any put port variant can connect and send transactions to the request FIFO via this export, provided the transaction types match.</p></div></div></div>




 <!--CONTENT index=3 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).get_peek_response_export" href="../../../../src/tlm/tlm_req_rsp.svh">get_peek_response_export</a></h3><div class=CBody><p>The get_peek_response_export provides all the blocking and non-blocking get and peek interface methods to the response FIFO:</p><blockquote><pre>task get (output T t);
function bit can_get ();
function bit try_get (output T t);
task peek (output T t);
function bit can_peek ();
function bit try_peek (output T t);</pre></blockquote><p>Any get or peek port variant can connect to and retrieve transactions from the response FIFO via this export, provided the transaction types match.</p></div></div></div>




 <!--CONTENT index=4 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).get_peek_request_export" href="../../../../src/tlm/tlm_req_rsp.svh">get_peek_request_export</a></h3><div class=CBody><p>The get_peek_export provides all the blocking and non-blocking get and peek interface methods to the response FIFO:</p><blockquote><pre>task get (output T t);
function bit can_get ();
function bit try_get (output T t);
task peek (output T t);
function bit can_peek ();
function bit try_peek (output T t);</pre></blockquote><p>Any get or peek port variant can connect to and retrieve transactions from the response FIFO via this export, provided the transaction types match.</p></div></div></div>




 <!--CONTENT index=5 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).put_response_export" href="../../../../src/tlm/tlm_req_rsp.svh">put_response_export</a></h3><div class=CBody><p>The put_export provides both the blocking and non-blocking put interface methods to the response FIFO:</p><blockquote><pre>task put (input T t);
function bit can_put ();
function bit try_put (input T t);</pre></blockquote><p>Any put port variant can connect and send transactions to the response FIFO via this export, provided the transaction types match.</p></div></div></div>




 <!--CONTENT index=6 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).request_ap" href="../../../../src/tlm/tlm_req_rsp.svh">request_ap</a></h3><div class=CBody><p>Transactions passed via put or try_put (via any port connected to the put_request_export) are sent out this port via its write method.</p><blockquote><pre>function void write (T t);</pre></blockquote><p>All connected analysis exports and imps will receive these transactions.</p></div></div></div>




 <!--CONTENT index=7 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).response_ap" href="../../../../src/tlm/tlm_req_rsp.svh">response_ap</a></h3><div class=CBody><p>Transactions passed via put or try_put (via any port connected to the put_response_export) are sent out this port via its write method.</p><blockquote><pre>function void write (T t);</pre></blockquote><p>All connected analysis exports and imps will receive these transactions.</p></div></div></div>




 <!--CONTENT index=8 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).master_export" href="../../../../src/tlm/tlm_req_rsp.svh">master_export</a></h3><div class=CBody><p>Exports a single interface that allows a master to put requests and get or peek responses.&nbsp; It is a combination of the put_request_export and get_peek_response_export.</p></div></div></div>




 <!--CONTENT index=9 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).slave_export" href="../../../../src/tlm/tlm_req_rsp.svh">slave_export</a></h3><div class=CBody><p>Exports a single interface that allows a slave to get or peek requests and to put responses.&nbsp; It is a combination of the get_peek_request_export and put_response_export.</p></div></div></div>




 <!--CONTENT index=10 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).Methods" href="../../../../src/tlm/tlm_req_rsp.svh">Methods</a></h3></div></div>




 <!--CONTENT index=11 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="tlm_req_rsp_channel#(REQ,RSP).new" href="../../../../src/tlm/tlm_req_rsp.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%></td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>parent</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>request_fifo_size</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>response_fifo_size</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>The <i>name</i> and <i>parent</i> are the standard <a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link7 onMouseOver="ShowTip(event, 'tt3', 'link7')" onMouseOut="HideTip('tt3')">ovm_component</a> constructor arguments.&nbsp; The <i>parent</i> must be null if this component is defined within a static component such as a module, program block, or interface.&nbsp; The last two arguments specify the request and response FIFO sizes, which have default values of 1.</p></div></div></div>




 <!--CONTENT index=12 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="tlm_transport_channel#(REQ,RSP)" href="../../../../src/tlm/tlm_req_rsp.svh">tlm_transport_channel #(REQ,RSP)</a></h2><div class=CBody><p>A tlm_transport_channel is a <a href="#tlm_req_rsp_channel#(REQ,RSP)" class=LClass id=link16 onMouseOver="ShowTip(event, 'tt4', 'link16')" onMouseOut="HideTip('tt4')">tlm_req_rsp_channel #(REQ,RSP)</a> that implements the transport interface.&nbsp; It is useful when modeling a non-pipelined bus at the transaction level.&nbsp; Because the requests and responses have a tightly coupled one-to-one relationship, the request and response FIFO sizes are both set to one.</p>

<!--START_ND_SUMMARY index=12-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
  <!-- index=12 -->

<tr class="SClass"><td colspan=2 class=SEntry><a href="#tlm_transport_channel#(REQ,RSP)" id=link12 onMouseOver="ShowTip(event, 'tt6', 'link12')" onMouseOut="HideTip('tt6')">tlm_transport_channel #(REQ,RSP)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>A tlm_transport_channel is a <a href="#tlm_req_rsp_channel#(REQ,RSP)" class=LClass id=link13 onMouseOver="ShowTip(event, 'tt4', 'link13')" onMouseOut="HideTip('tt4')">tlm_req_rsp_channel #(REQ,RSP)</a> that implements the transport interface. </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="../base/ovm_object-svh.html#ovm_object" class=LClass id=link8 onMouseOver="ShowTip(event, 'tt1', 'link8')" onMouseOut="HideTip('tt1')">ovm_object</a></div></div></td></tr>

<tr><td><div class=CHParent><div class=CHEntry><a href="../base/ovm_report_object-svh.html#ovm_report_object" class=LClass id=link9 onMouseOver="ShowTip(event, 'tt2', 'link9')" onMouseOut="HideTip('tt2')">ovm_report_object</a></div></div></td></tr>

<tr><td><div class=CHParent><div class=CHEntry><a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link10 onMouseOver="ShowTip(event, 'tt3', 'link10')" onMouseOut="HideTip('tt3')">ovm_component</a></div></div></td></tr>

<tr><td><div class=CHParent><div class=CHEntry><a href="#tlm_req_rsp_channel#(REQ,RSP)" class=LClass id=link11 onMouseOver="ShowTip(event, 'tt4', 'link11')" onMouseOut="HideTip('tt4')">tlm_req_rsp_channel#(REQ,RSP)</a></div></div></td></tr>
<tr><td><div class=CHCurrent><div class=CHEntry>tlm_transport_channel#(REQ,RSP)</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 tlm_transport_channel #(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>REQ</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>int,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>RSP</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>REQ</td></tr><tr><td class=PAfterParameters colspan=5>) extends tlm_req_rsp_channel #(REQ, RSP)</td></tr></table></td></tr></table></blockquote></td></tr>
  <!-- index=13 -->

<tr class="SGroup SIndent1"><td class=SEntry><a href="#tlm_transport_channel#(REQ,RSP).Ports" >Ports</a></td><td class=SDescription></td></tr>
  <!-- index=14 -->

<tr class="SPort SIndent2"><td class=SEntry><a href="#tlm_transport_channel#(REQ,RSP).transport_export" >transport_export</a></td><td class=SDescription>The put_export provides both the blocking and non-blocking transport interface methods to the response FIFO:</td></tr>
  <!-- index=15 -->

<tr class="SGroup SIndent1"><td class=SEntry><a href="#tlm_transport_channel#(REQ,RSP).Methods" >Methods</a></td><td class=SDescription></td></tr>
  <!-- index=16 -->

<tr class="SMethod SIndent2"><td class=SEntry><a href="#tlm_transport_channel#(REQ,RSP).new" id=link14 onMouseOver="ShowTip(event, 'tt7', 'link14')" onMouseOut="HideTip('tt7')">new</a></td><td class=SDescription>The <i>name</i> and <i>parent</i> are the standard <a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link15 onMouseOver="ShowTip(event, 'tt3', 'link15')" onMouseOut="HideTip('tt3')">ovm_component</a> constructor arguments. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>




 <!--CONTENT index=13 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="tlm_transport_channel#(REQ,RSP).Ports" href="../../../../src/tlm/tlm_req_rsp.svh">Ports</a></h3></div></div>




 <!--CONTENT index=14 -->
<div class="CPort"><div class=CTopic><h3 class=CTitle><a name="tlm_transport_channel#(REQ,RSP).transport_export" href="../../../../src/tlm/tlm_req_rsp.svh">transport_export</a></h3><div class=CBody><p>The put_export provides both the blocking and non-blocking transport interface methods to the response FIFO:</p><blockquote><pre>task transport(REQ request, output RSP response);
function bit nb_transport(REQ request, output RSP response);</pre></blockquote><p>Any transport port variant can connect to and send requests and retrieve responses via this export, provided the transaction types match.&nbsp; Upon return, the response argument carries the response to the request.</p></div></div></div>




 <!--CONTENT index=15 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="tlm_transport_channel#(REQ,RSP).Methods" href="../../../../src/tlm/tlm_req_rsp.svh">Methods</a></h3></div></div>




 <!--CONTENT index=16 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="tlm_transport_channel#(REQ,RSP).new" href="../../../../src/tlm/tlm_req_rsp.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%></td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>parent</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>The <i>name</i> and <i>parent</i> are the standard <a href="../base/ovm_component-svh.html#ovm_component" class=LClass id=link17 onMouseOver="ShowTip(event, 'tt3', 'link17')" onMouseOut="HideTip('tt3')">ovm_component</a> constructor arguments.&nbsp; The <i>parent</i> must be null if this component is defined within a statically elaborated construct such as a module, program block, or interface.</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>class ovm_report_object extends ovm_object</td></tr></table></blockquote>The ovm_report_object provides an interface to the OVM reporting facility. </div></div><div class=CToolTip id="tt3"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class ovm_component extends ovm_report_object</td></tr></table></blockquote>The ovm_component class is the root base class for OVM components. </div></div><div class=CToolTip id="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 nowrap>class tlm_req_rsp_channel #(</td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>REQ</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>int,</td></tr><tr><td></td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>RSP</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>REQ</td><td class=PAfterParameters nowrap>) extends ovm_component</td></tr></table></td></tr></table></blockquote>The tlm_req_rsp_channel contains a request FIFO of type <i>REQ</i> and a response FIFO of type <i>RSP</i>. </div></div><div class=CToolTip id="tt5"><div class=CMethod><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>function 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%></td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>parent</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>null,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>request_fifo_size</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>1,</td></tr><tr><td></td><td class=PType nowrap>int&nbsp;</td><td class=PParameter nowrap>response_fifo_size</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>The <i>name</i> and <i>parent</i> are the standard ovm_component constructor arguments. </div></div><div class=CToolTip id="tt6"><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 tlm_transport_channel #(</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>REQ</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>int,</td></tr><tr><td>&nbsp;&nbsp;&nbsp;</td><td class=PType nowrap>type&nbsp;</td><td class=PParameter nowrap>RSP</td><td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td><td class=PDefaultValue width=100%>REQ</td></tr><tr><td class=PAfterParameters colspan=5>) extends tlm_req_rsp_channel #(REQ, RSP)</td></tr></table></td></tr></table></blockquote>A tlm_transport_channel is a tlm_req_rsp_channel #(REQ,RSP) that implements the transport interface. </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 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%></td></tr><tr><td></td><td class=PType nowrap>ovm_component&nbsp;</td><td class=PParameter nowrap>parent</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>The <i>name</i> and <i>parent</i> are the standard ovm_component constructor arguments. </div></div><!--END_ND_TOOLTIPS-->

<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>