We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
HI there,
I have question regarding transaction in AXI4 bus (or any other bus). What happens in write any read action when data transaction (handshaking) occurs before address transaction (handshaking) ?
Will the data be written to the particular address?
Thanks in advance!!
Hello,
For read transactions, AR handshaking must occur before any RDATA can be given.
For write transactions, AXI3 and AXI4 have different requirements:
- AXI3 write: B response can be given after the last WDATA handshaking has completed. There is no requirement between AW and B. This may occur if the AW command is delayed by register slices, and a data buffer in the system generates a B response after receiving all the WDATA items. I would not expect the data to be really written into the memory, because the write address is not transfered yet.
- AXI4 write: B response can be given only after both AW handshaking and the last WDATA handshaking. In other words, AXI4 has an additional dependency between AW and B.
Xingguang
Thanks for reply Xingguang, In the read transaction, Is it possible to be address and data handshaking at same time?
Rajesh
Hello Rajesh,
>In the read transaction, Is it possible to be address and data handshaking at same time?
No, not for the same transaction.
The AXI specification states that:
============================
The slave must wait for both ARVALID and ARREADY to be asserted before it asserts RVALID to indicate that valid data is available
So data handshaking must happen at least one cycle after the address handshaking.
Regards,