Hi guys ,
1. I am issuing back to back locked read and write transactions for the axi interconnect . The sequence here is read locked --> write locked transactions to the same slave .. if in the middle of a read locked transaction , if i issue a write locked transaction , will the write requests processes only when the read locked requests is completed (ie the outstanding requests for the read becomes 0) ....? ( please consider that there are no outstanding transactions on ar ,aw channel on initiation of the locked request )
2. If i issue a non-locked transfer of read and write requests to the same slave at different regions , can the handshaking happens at the same time for the 2 address channels ..?
3. I have read that the both the channels (ar and aw) have to be locked before sending the requests of locked transactions to the required slave .. does it mean that the grant of arbiter at the slave port shall change only when the both the locked read and write requests are completed ...? (ie for the both the channels the outstanding transfer are 0.)
Thanks in advance ,
Vishnu Prasad
This is legal but not recommended. From the AXI Spec:
"This specification recommends the following restrictions, but they are not mandatory:
• keep any locked transaction sequence within a single 4KB address region
• limit any locked transaction sequence to two transactions."
The reason is that Locked transfers are bad for system performance, as they allow one manager to block all the other managers from accessing the subordinate. Hence, the advice is that if you do have to use Locked transfers, that you minimise their impact as much as possible.
Thanks, Christopher for ur response :)