In AHB, we have split and retry responce, but it doesn't exist in AXI, why ?
In traditional AHB systems (*not* AHB-Lite), at a given point in time one master can be talking to one slave (with some pipelining). Once a master has started a transaction it has to complete before it can do anything else. If the slave is unable to respond immediately, this can hold up the bus, preventing other masters from using it. Split/retry provides a mechanism for the bus to be released while the slave is busy, letting other masters talk to other slaves.
AXI is different. Masters can set up multiple concurrent transactions, and these transactions can complete out-of-order (subject to some rules). If one slave is taking a long time to respond, there is nothing to stop the memory system dealing with one of the other outstanding transactions. It also allows that it a slave can not respond to this read, but could respond to a different read, for it to do that. Again with some restrictions.
(In AHB-Lite, like AXI does not have split/retry. See Multi-layer AHB Technical Overview)
thanks a lot for your kind explaination, it help very much.