
SystemVerilog Tutorials
Verifying a Master DUT
Mentor Verification IP AE AXI4-Lite User Guide, V10.3
129
April 2014
Advanced Slave API Definition
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.
Komentáře k této Příručce