Set*(), Get*(), Operational transaction fields – Altera Mentor Verification IP Altera Edition AMBA AXI4-Stream User Manual

Page 28: Operation mode, Tasks are u

Advertising
background image

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

28

SystemVerilog API Overview
Operational Transaction Fields

April 2014

set*()

Example 2-9

shows the master test program calling the set_byte_type() task to set the first data

byte_type in the transaction.

Example 2-9. Master Test Program set_byte_type() Task

trans.set_byte_type(AXI4STREAM_DATA_BYTE, 0);

get*()

Example 2-10

shows the slave test program calling the get_byte_type() task to get the first data

byte_type in the transaction.

Example 2-10. Slave Test Program get_byte_type() Task

// Define a variable of type axi4stream_byte_type_e to hold the byte
// type of the data stream byte.
axi4stream_byte_type_e slave_byte_type;

...

// Create a slave transaction.
trans = bfm.create_slave_transaction();

...

// Wait for a data stream transfer to occur.
bfm.get_transfer(trans, 0, last);

...

// Get the byte_type for the first data byte of the data stream transfer
slave_byte_type = trans.get_byte_type(0);

Operational Transaction Fields

Operational transaction fields control the way in which a transaction is executed onto the
protocol signals. These fields also indicate when an individual data transfer or transaction is
complete.

Operation Mode

By default, each transaction performs a blocking operation, which prevents a following
transaction from starting until the current active transaction completes.

You can configure this behavior to be nonblocking by setting the operation_mode transaction
field to the enumerate type value AXI4STREAM_TRANSACTION_NON_BLOCKING
instead of the default AXI4STREAM_TRANSACTION_BLOCKING.

Advertising