RMQ TX interface erroneously fetches next data from out slot when client is not ready
Reported by @kblantos.
If in mt_rmq_tx
the src_i.ready
signal is deasserted as we move to the SEND_PAYLOAD_ODD
state, we will still request the next data from the slot (inb_o.adr => state.addr + 4
) so on the next cycle, even though we are still in the same state, src_o.data
will change.
The result is that we send the next data to the client, even though it was signaled to us that we should wait (src_i.ready = '0'
).