Class uvm_pkg::uvm_tlm_req_rsp_channel
Inheritance Diagram of uvm_tlm_req_rsp_channel
Collaboration Diagram of uvm_tlm_req_rsp_channel
Name |
Default value |
Description |
|---|---|---|
REQ |
int |
|
RSP |
REQ |
Name |
Type |
Description |
|---|---|---|
type_name |
string |
|
put_request_export |
Port 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 |
Port 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 |
Port 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 |
Port 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 |
Port 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 |
Port 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)) |
Port slave_export 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
- new(string name, uvm_component parent = null, int request_fifo_size = 1, int response_fifo_size = 1)
Function
new
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.
- Parameters:
name (string)
parent (uvm_component)
request_fifo_size (int)
response_fifo_size (int)
Functions
- connect_phase(uvm_phase phase)
- Parameters:
phase (uvm_phase)
- create_aliased_exports()
- get_type_name()
get_type_name
- create(string name = "")
create
- Parameters:
name (string)
- Return type:
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.