Operation mode, Channel handshake delay, Operation mode channel handshake delay – Altera Mentor Verification IP Altera Edition AMBA AXI4-Lite User Manual

Page 147

Advertising
background image

VHDL API Overview

Operational Transaction Fields

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

147

April 2014

previously set write_strobes is performed by default during execution of the write transaction,
or write data phase (beat). You can disable this default behavior by setting the transaction field
gen_write_strobes = 0, which allows any previously set write_strobes to pass through
uncorrected onto the protocol WSTRB signals. In this mode, with the automatic correction
disabled, you are responsible for setting the correct write_strobes for the whole transaction.

The automatic correction algorithm performs a bit-wise AND operation on any previously set
write_strobes. To do the corrections, the automatic correction algorithm uses the equations
described in the AMBA AXI Protocol Specification, Version 2.0, Section A3.4.1, that define
valid write data byte lanes for legal protocol. Therefore, if you require automatic generation of
all write_strobes, before the write transaction executes, you must set all write_strobes to 1,
indicating that all bytes lanes initially contain valid write data, prior to execution of the write
transaction. Automatic correction will then set the relevant write_strobes to 0 to produce legal
protocol WSTRB signals.

Operation Mode

By default, each read or write transaction performs a blocking operation that 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 AXI4_TRANSACTION_NON_BLOCKING instead of the
default AXI4_TRANSACTION_BLOCKING.

For example, in a master BFM test program, you can create a transaction by calling the

create_read_transaction()

or

create_write_transaction()

tasks, which creates a transaction

record. Before executing the transaction record, you can change the operation_mode as follows:

-- Create a write transaction to create a transaction record
create_write_transaction(1, tr_id, bfm_index, axi4_tr_if_0(bfm_index));

-- Change operation_mode to be nonblocking in the transaction record
set_operation_mode(AXI4_TRANSACTION_NON_BLOCKING, tr_id, bfm_index,

axi4_tr_if_0(bfm_index));

In the above example, the bfm_index specifies the BFM.

Channel Handshake Delay

Each of the five protocol channels have *VALID and *READY handshake signals to control
the rate at which information is transferred between a master and slave. Refer to for details of
the AXI4-Lite BFM API.

Advertising