Reputation: 423
I'm little confused regarding the relationship between the above concept.
Does burst is just a type of AXI transaction> Can it take more the one clock transaction?
What is exactly a beat? does it contain address and data?
Upvotes: 0
Views: 2286
Reputation: 569
It's slightly different for reads and writes.
For reads (the simpler case), a single "transaction" consists of a master asking for some address (on the RA channel) and a slave responding with the data at that address (on the R channel) or an error. The slave's response may take the form of a "burst" that spans several beats. The request and reply may be (and indeed generally will be) separated by many clock cycles. One reason for this is that the slave may often need to go do some work to look up the data at the requested address, and this work may take several clock cycles.
For instance, say the master wants to read 64 bytes of data from the slave. The whole, single transaction consists of asking for and getting these 64 bytes of data. But suppose the data bus for transferring the data is only 16 bytes (because the wider it is, the more space it takes up, etc.) In that case, the slave can only send the master 16 bytes of data at a time. So, to get all 64 bytes, the master will (typically) ask for 16 bytes of data at a time, four times, for a total of 64 bytes. This whole process requires a single request (on the RA channel), and four responses (on the R channel), each of which provides 16 bytes of the answer.
Typically many clock cycles will elapse between the RA request and the first beat of R response data. Often the subsequent R beats will arrive in subsequent cycles after the first R beat, but this is not required. The actual requests/replies only occur upon each successful AXI handshake between the master/slave, which allows each agents to tell the other when it is ready.
The situation for writes is similar: a single transaction consists of the master sending the address to write to on the WA channel and the data to write on the W channel, and then waiting for a response from the slave on the B channel. Again, in case we want to write more bytes than the width of the data bus allows, we may need to split the write data across multiple beats, which are still all part of a single transaction.
Upvotes: 1