1. Nayan Naware
  2. SoC
  3. Sunday, December 03 2017, 11:08 PM
How to calculate Address for the Unaligned Address in AXI Protocol?
Aravind Prakash Accepted Answer Pending Moderation
If you are performing unaligned address transactions, then they won't fall on multiples of 0x4 (if 1 word is 32 bits). For example, an AXI master can issue a read transaction with address 0x30 which is aligned to 4 byte boundary, but 0x31 is offset by 1 from the 4 byte boundary and would be an unaligned transfer because the master now has to send two transactions, one to read bytes from 0x31 through 0x33 and another one to read the byte at 0x34.
  1. more than a month ago
  2. SoC
  3. # 1
Rahul Marotkar Accepted Answer Pending Moderation
By using formulas, we can calculate the aligned address for unaligned address. But if we don't know the formulas, we can calculate the address manually by using simple technique which I have shared here with simple example,

we have, Address = 55'h (Unaligned Address)
Burst Size = 2, i.e 2^2 = 4 Bytes Transfer

Steps to calculate aligned address :

1) divide unaligned address by burst size

55/4 = 13.75 (take integer number i.e "13" and ignore the other part)

2) multiply calculated number i.e "13" with burst size i.e "4"

13 x 4 = 52'h (this is the address for unaligned address 55'h with 4 bytes transfer size)

Note : While transaction, some data loss happen here for unaligned address.
  1. more than a month ago
  2. SoC
  3. # 2
  • Page :
  • 1

There are no replies made for this post yet.
However, you are not allowed to reply to this post.