Re-ordering of the Serial Rapid IO® link packets may occur in Avalon IO Slave module before the logical layer, while transmitting packets. This could be a problem on the read-after-write transactions on the same address, i.e. NWRITE followed by NREAD on the same address.
This re-ordering is intentionally implemented in Avalon module in order to maximize efficiency, because a read packet usually needs more time to complete than write packets. Moreover, Rapid IO specification does not require keeping the order of packets within Logical layer, although, it must keep the order of packets out of logical layer to partner's logical layer.
To prevent the problem on read-after-write, use NWRITE_R instead of NWRITE and issue NREAD after receiving done response of NWRITE_R. Future Rapid IO IP versions will provide you an option to choose a switch to keep the order.