Axi4-stream transactions, Master bfm and slave bfm roles, Figure 1-1. master bfm test program role – Altera Mentor Verification IP Altera Edition AMBA AXI4-Stream User Manual

Page 19

Advertising
background image

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

Note

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

Transfer

Transfer

Advertising