
Mentor VIP Altera Edition
AXI4-Stream Transactions
Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3
19
April 2014
AXI4-Stream Transactions
A complete transaction communicates information between a master and a slave. Transaction
fields, described in the previous section, What Is a Transaction?, determine what is transferred
and how information is transferred. During the lifetime of a transaction, the roles of the master
and slave ensure that a transaction completes successfully, and that transferred information
adheres to the protocol specification. Information flows from the master to the slave during a
transaction, with the master initiating the transaction.
The AXI4-Stream protocol has a single channel to transfer protocol information. It has a pair of
handshake signals, TVALID and TREADY, that indicate valid information on the channel, and
the acceptance of the information from the channel.
Master BFM and Slave BFM Roles
The following description of a master transaction references SystemVerilog BFM API
tasks. There are equivalent VHDL BFM API procedures that perform the same
functionality.
For a master transaction, the master calls the create_master_transaction() task to define the
information to be transferred, and then calls the execute_transaction() task to initiate the
communication of information, as shown in Figure 1-1.
Figure 1-1. Master BFM Test Program Role
The execute_transaction() task results in the master calling the execute_transfer() task a
multiple number of times, equal to the number of transfers in the transaction.
The slave also creates a transaction by calling the create_slave_transaction() task to accept the
transfer of information from the master. The transfer is received by the slave calling the
get_transfer() task, as shown in Figure 1-2.
execute_transaction(t) – Master
execute_transfer() – Master
Master BFM
+
Test program
Slave DUT
Transfer Transfer TransferTransfer
Commenti su questo manuale