7.2.4. NREAD Transactions
The next set of transactions tested are NREADs. The DUT sends a group of NREAD transactions to the sister_rio module by cycling the read burst size from four to five in increments of 16 bytes. For each iteration, the ios_128_rd_wr_master_bfm read_write_cmd and read_data tasks are called. The task performs the read request packets across the I/O Avalon-MM Slave Read interface. The read transaction across the Avalon-MM interface is translated into a RapidIO NREAD request packets.
The NREAD request packets are received by the DUT and are translated into Avalon-MM read transactions that are presented across the sister_rio module‘s I/O master Avalon-MM interface. The sister_iom128_rd_wr_slave_bfm module checks the read operations and returns data by calling the sister_iom128_rd_wr_slave_bfm write_read_data task. This task drives the data and read datavalid control signals on the Avalon-MM master read port of the sister_rio module.
The returned data is expected at the DUT’s I/O Avalon-MM slave interface. The ios_128_rd_wr_master_bfm read_data task captures the read data. The read data and the expected value are then compared to ensure that they are equal.