Advanced slave api definition – Altera Mentor Verification IP Altera Edition AMBA AXI4-Lite User Manual

Page 129

Advertising
background image

SystemVerilog Tutorials

Verifying a Master DUT

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

129

April 2014

Advanced Slave API Definition

Note

You are not required to edit the following Advance Slave API unless you require a
different response than the default (OKAY) response.

The remaining section of this tutorial presents a walk-through of the Advanced Slave API in the
slave test program. It consists of four main tasks:

process_read()

,

process_write()

,

handle_read()

, and

handle_write()

in the slave test program, as shown in

Figure 6-7

. There are

additional

handle_write_addr_ready()

,

handle_read_addr_ready()

and

handle_write_data_ready()

tasks to handle the handshake AWREADY, ARREADY and

WREADY signals, respectively.

The Advanced Slave API is capable of handling pipelined transactions. Pipelining can occur
when a transaction starts before a previous transaction has completed. Therefore, a write
transaction that starts before a previous write transaction has completed can be pipelined.

Figure 6-7

shows the write channel with three concurrent write_trans transactions, whereby the

get_write_addr_phase[2], get_write_data_phase[1], and execute_write_response_phase[0] are
concurrently active on the write address, data, and response channels, respectively.

Similarly, a read transaction that starts before a previous read transaction has completed can be
pipelined.

Figure 6-7

shows the read channel with two concurrent read_trans transactions,

whereby the get_read_addr_phase[1] and execute_read_data_phase[0] are concurrently active
on the read address and data channels, respectively.

Advertising