Hi,
In AMBA® AXI Protocol Specification(IHI0022K, A3.4), how to understand the following sentences:
1. When a Manager issues a write request, it must be able to provide all write data for that transaction, without dependency on other transactions from that Manager.
2. When a Manager has issued a write request and all write data, it must be able to accept all responses for that transaction, without dependency on other transactions from that Manager.
3. When a Manager has issued a read request, it must be able to accept all read data for that transaction, without dependency on other transactions from that Manager.
– Note that a Manager can rely on read data returning in order from transactions that use the same ID, so the Manager only needs enough storage for read data from transactions with different IDs.
For question 1, When the Manager issues a write request, does it have to pull WVALID up until the burst is completed?
For question 3, When the Manager issues a read request, does it have to pull RREADY up until the burst is completed? If the answer is yes, then what is the function of RREADY?
For example, if a Manager needs to read 16 pieces of data, increment each by 1, and then write them back, can it first issue a burst read request for 16, then after receiving and processing the first data piece, store it for one clock cycle and then issue a burst write request of 16? In this case, if the Subordinate cannot return the read data, then the Manager will pull WVALID low, and if the Subordinate cannot accept write data, then RREADY will also be pulled low. Does this behavior comply with the protocol requirements?