Test Engine FPGA IP User Guide: Agilex™ 3, Agilex™ 5, and Agilex™ 7 FPGAs
5.3.1.1.4. tut4_parallel_rw
Usage
def traffic_patterns.MemAxi4DriverPrograms.tut4_parallel_rw (self)
Description
Issue writes and reads in parallel.
The reads error check the writes by checking if the read data matches the write data. Simultaneously writing and reading from the same address is a Read-After-Write (RAW) hazard since you're not waiting for the write response. To avoid RAW hazards, this program is decomposed into stages wherein each stage accesses a different address region. Within each stage one address region is being written to, while the previous address region is being read from in parallel.
AXI sub-channel throughput is maximized by avoiding caution for non-existent hazards. This program doesn't write to an address that was previously read from, hence there's no risk of Write-After-Read (WAR) hazards, and hence each stage doesn't wait for read responses before proceeding.