What is a transaction, An axi transaction – Altera Mentor Verification IP Altera Edition AMBA AXI3/4TM User Manual

Page 24

Advertising
background image

Mentor VIP AE AXI3/4 User Guide, V10.2b

6

Mentor VIP Altera Edition
What Is a Transaction?

September 2013

What Is a Transaction?

A transaction for Mentor VIP AE represents an instance of information that is transferred
between a master and a slave peripheral, and that adheres to the protocol used to transfer the
information. For example, a write transaction transfers an address phase, a data burst, followed
by a response phase. A subsequent instance of transferred information requires a new and
unique transaction.

Each transaction has a dynamic

Transaction Record

that exists for the life of the transaction.

The life of a transaction record starts when it is created and ends when the transaction
completes. The transaction record is automatically discarded when the transaction ends. When
created, a transaction contains transaction fields that you set to define two transaction aspects:
the protocol fields that are transferred over the protocol signals and operation fields that
determine how the information is transferred and when the transfer is complete. For example, a
write transaction record holds the protection information in the prot protocol field; the value of
this field is transferred over the AWPROT protocol signals during an address phase. A write
transaction also has a transaction_done operation field that indicates when the transaction is
complete; this field is not transferred over the protocol signals. These two types of transaction
fields, protocol and operation, establish a dynamic record during the life of the transaction.

In addition to transaction fields, you specify arguments to tasks, functions, and procedures that
permit you to create, set, and get the dynamic transaction record during the lifetime of a
transaction. Each BFM has an API that controls how you access the BFM transaction record.
How you access the record also depends on the source code language, whether it is VHDL or
SystemVerilog. Methods for accessing transactions based on the language you use are
explained in detail in the relevant chapters of this user guide.

An AXI Transaction

Note

The following description of an AXI transaction is applicable to AXI3 and AXI4 protocols.

A complete read/write transaction transfers information between a master and a slave
peripheral. 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 in both
directions during a transaction with the master initiating the transaction and the slave reporting
back to the master that the transaction has completed.

An AXI protocol uses five channels (three write channels and two read channels) to transfer
protocol information. Each of these channels has a pair of handshake signals, *VALID and
*READY, that indicates valid information on a channel and the acceptance of the information
from the channel.

Advertising