Access transaction record, Set*(), Get*() – Altera Mentor Verification IP Altera Edition AMBA AXI4-Lite User Manual

Page 146: Operational transaction fields, Automatic correction of byte lane strobes, Set*() get*()

Advertising
background image

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

146

VHDL API Overview
Access Transaction Record

April 2014

Access Transaction Record

Each BFM API has procedures that can access a complete, or partially complete,

Transaction

Record

. The

set*()

and

get*()

procedures are used in a test program to set and get information

from the transaction record.

set*()

For example, to set the WSTRB write strobes signal in the

Transaction Record

of a write

transaction, the master test program would use the set_write_strobes() procedure, as shown in
the code below.

set_write_strobes(2, tr_id, bfm_index, axi4_tr_if_0(bfm_index));

In the above example, the bfm_index specifies the BFM.

get*()

For example, a slave BFM test program uses a received write address phase to get the
AWPROT signal value from the

Transaction Record

, as shown in the following slave BFM test

program code.

-- Wait for a write address phase;
get_write_addr_phase(slave_trans, bfm_index, axi4_tr_if_0(bfm_index));

...

-- Get the AWPROT signal value of the slave transaction
get_prot(prot_value, slave_trans, bfm_index, axi4_tr_if_0(bfm_index));

In the above example, the bfm_index specifies the BFM.

Operational Transaction Fields

Operational transaction fields control the way in which a transaction is executed on the protocol
signals. These fields also provide an indicator of when a data phase (beat) or transaction is
complete.

Automatic Correction of Byte Lane Strobes

The master BFM permits unaligned and narrow write transfers by using byte lane strobe
(WSTRB) signals to indicate which byte lanes contain valid data per data phase (beat).

When you create a write transaction in your master BFM test program, the write_strobes
variable is available to store the write strobe values for each write data phase (beat) in the
transaction. To assist you in creating the correct byte lane strobes, automatic correction of any

Advertising