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

When Wrapping happens in AXI?

Hi Forum,

I cannot understand when address is being wrapped in WRAP burst.In my example, the WRAP condition never happens in other words, during BURST operation address always remains small than wrap address.

From the spec, the wrapping happens when

            Address_N = Wrap_Boundary + (Number_Bytes × Burst_Length),

And every new transfer for WRAP is defined as:

                Address_N = Aligned_Address + (N – 1) × Number_Bytes

 Now if we discuss this example:

Start_Address : 0x04  (d4):

awlen = 3  -> Burst_Length = 4

awsize = 1-> Number_Bytes=2

than we have:

Wrap Boundary = INT( d4/(2*4) ) * (2*4) = INT(0.5) * 8 = 1 *8 = 8

And Wrap Address: Address_N=Wrap_Boundary + (Number_Bytes × Burst_Length) = 8+(2*4) = 16

For the BURST:

Add1=4+ (1-1)*2 = 4

Add2=4+ (2-1)*2 = 6

Add3=4+ (3-1)*2 = 8

Add4=4+ (4-1)*2 = 10    -->  our Burst_length is 4, so BURST is ended no need to WRAP the address, so wrap conditions not happened.

 

Can someone please help me understand what I missed here? And what is the new address value after WRAP?

Thanks

Hayk

0