What if RVALID is asserted before the ARVALID and ARREADY, and also RREADY has been already asserted?
Simple, it's a protocol violation.
"The slave must wait for both ARVALID and ARREADY to be asserted before it asserts RVALID to indicatethat valid data is available."
A slave doesn't know what read data is being requested until it has completed the AR channel request handshake. Although in theory the slave could know what is being requested by sampling the ARVALID qualified request without asserting ARREADY, the protocol doesn't allow this, so what would happen is undefined and would depend on the master, slave and interconneting logic implementations.
View all questions in SoC Design forum