This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

AXI Wrap Bursts

In case of wrapped bursts, we need to calculate first the Aligned_Address, using:

Suppose start address is 55, assuming 32 - bit bus, burst length of 4

Aligned_Address = (INT(Start_Address / Number_Bytes) ) * Number_Bytes;

The value is :: 52 or 56 i.e. do we have round to lower or upper value.

Then we calculate the wrap boundary, using
Wrap_Boundary = ((INT(Start_Address / (Number_Bytes * Burst_Length))) * (Number_Bytes * Burst_Length);

What does this wrap boundary actually indicate,
1. The address from where wrapping will take place.
2. The address value after wrap.


Also, if anyone can let me know in a step-wise manner how the address are calculated using the same scenario above, would be great.

Hope to see the replies soon.
Parents
  • Note: This was originally posted on 29th May 2009 at http://forums.arm.com

    >do we have round to lower or upper value.

    Wraps have to be aligned - so address 55 is not a legal address for 32-bit beat (must be 4 byte aligned). So it can't happen - a master should never generate the transaction.

    If you had an aligned 32-bit wrap of 4 beats starting at address 0x4 then you would get the following access pattern:

    0x4, 0x8, 0xc, 0x0

    The wrap boundary is considered 0xf in this case.

    Cheers, Iso


    Obviously, the address 55 is not an aligned address. We need to get the aligned address,using the formula in the spec.
    And then we store the data in the memory.

    According to that the aligned address for 55 is 56. and then it will wrap at a boundary at which boundary???
Reply
  • Note: This was originally posted on 29th May 2009 at http://forums.arm.com

    >do we have round to lower or upper value.

    Wraps have to be aligned - so address 55 is not a legal address for 32-bit beat (must be 4 byte aligned). So it can't happen - a master should never generate the transaction.

    If you had an aligned 32-bit wrap of 4 beats starting at address 0x4 then you would get the following access pattern:

    0x4, 0x8, 0xc, 0x0

    The wrap boundary is considered 0xf in this case.

    Cheers, Iso


    Obviously, the address 55 is not an aligned address. We need to get the aligned address,using the formula in the spec.
    And then we store the data in the memory.

    According to that the aligned address for 55 is 56. and then it will wrap at a boundary at which boundary???
Children
No data