Class uvm_tlm_req_rsp_channel
Name |
Default value |
Description |
---|---|---|
REQ |
int |
|
RSP |
REQ |
Name |
Type |
Description |
---|---|---|
type_name |
string |
|
put_request_export |
The put_export provides both the blocking and non-blocking put interface methods to the request FIFO: task put (input T t);
function bit can_put ();
function bit try_put (input T t);
Any put port variant can connect and send transactions to the request FIFO via this export, provided the transaction types match. |
|
get_peek_response_export |
The get_peek_response_export provides all the blocking and non-blocking get and peek interface methods to the response FIFO: 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);
Any get or peek port variant can connect to and retrieve transactions from the response FIFO via this export, provided the transaction types match. |
|
get_peek_request_export |
||
put_response_export |
The put_export provides both the blocking and non-blocking put interface methods to the response FIFO: task put (input T t);
function bit can_put ();
function bit try_put (input T t);
Any put port variant can connect and send transactions to the response FIFO via this export, provided the transaction types match. |
|
request_ap |
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. function void write (T t);
All connected analysis exports and imps will receive these transactions. |
|
response_ap |
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. function void write (T t);
All connected analysis exports and imps will receive these transactions. |
|
master_export |
Exports a single interface that allows a master to put requests and get or peek responses. It is a combination of the put_request_export and get_peek_response_export. |
|
slave_export |
uvm_slave_imp#(int, int, uvm_tlm_req_rsp_channel#(int, int), uvm_tlm_fifo#(int), uvm_tlm_fifo#(int)) |
Exports a single interface that allows a slave to get or peek requests and to put responses. It is a combination of the get_peek_request_export and put_response_export. |
blocking_put_request_export |
port aliases for backward compatibility |
|
nonblocking_put_request_export |
||
get_request_export |
||
blocking_get_request_export |
||
nonblocking_get_request_export |
||
peek_request_export |
||
blocking_peek_request_export |
||
nonblocking_peek_request_export |
||
blocking_get_peek_request_export |
||
nonblocking_get_peek_request_export |
||
blocking_put_response_export |
||
nonblocking_put_response_export |
||
get_response_export |
||
blocking_get_response_export |
||
nonblocking_get_response_export |
||
peek_response_export |
||
blocking_peek_response_export |
||
nonblocking_peek_response_export |
||
blocking_get_peek_response_export |
||
nonblocking_get_peek_response_export |
||
blocking_master_export |
||
nonblocking_master_export |
||
blocking_slave_export |
uvm_slave_imp#(int, int, uvm_tlm_req_rsp_channel#(int, int), uvm_tlm_fifo#(int), uvm_tlm_fifo#(int)) |
|
nonblocking_slave_export |
uvm_slave_imp#(int, int, uvm_tlm_req_rsp_channel#(int, int), uvm_tlm_fifo#(int), uvm_tlm_fifo#(int)) |
Name |
Actual Type |
Description |
---|---|---|
this_type |
Constructors
- function new ( string name, uvm_component parent, int request_fifo_size, int response_fifo_size ) [source]
The name and parent are the standard uvm_component constructor arguments. The parent must be null if this component is defined within a static component such as a module, program block, or interface. The last two arguments specify the request and response FIFO sizes, which have default values of 1.
Functions
- virtual function uvm_object create ( string name ) [source]
create
CLASS
uvm_tlm_req_rsp_channel #(REQ,RSP)
The uvm_tlm_req_rsp_channel contains a request FIFO of type REQ and a response FIFO of type RSP . These FIFOs can be of any size. This channel is particularly useful for dealing with pipelined protocols where the request and response are not tightly coupled.
Type parameters:
REQ
Type of the request transactions conveyed by this channel.
RSP
Type of the response transactions conveyed by this channel.