What is a transaction – Altera Mentor Verification IP Altera Edition AMBA AXI4-Stream User Manual

Page 18

Advertising
background image

Mentor Verification IP AE AMBA AXI4-Stream User Guide, V10.3

18

Mentor VIP Altera Edition
What Is a Transaction?

April 2014

The test program drives the stimulus to the DUT and determines whether the behavior of the
DUT is correct by analyzing the responses. The BFMs translate the test program stimuli
(transactions), creating the signaling for the AMBA 4 AXI4-Stream Protocol Specification. The
BFMs also check for protocol compliance by firing an assertion when a protocol error is
observed.

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 it adheres to the protocol used to transfer the
information. For example, a master transaction can communicate a data stream packet
consisting of a number of transfers to a slave DUT. A subsequent data stream packet 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:

Protocol fields are transferred over the protocol signals

Operation fields determine how the information is transferred, and when the transaction
is complete

For example, a master transaction record holds a byte definition in the byte_type protocol field,
the value of this field is transferred over the TKEEP and TSTRB protocol signals. A master
transaction also has a transaction_done operation field that indicates when the transaction is
complete; this operation 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 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.

Advertising