From AXI4 Spec:
dtsize = Number_Bytes * Burst_Length;
Upper_Wrap_Boundary = Lower_Wrap_Boundary + dtsize;
for n = 1 to Burst_Length
...
addr = addr + Number_Bytes;
...
if addr >= Upper_Wrap_Boundary
...
How can this, addr >= Upper_Wrap_Boundary, happen?
Also fro the text above the Pseudocode:
For a WRAP burst, if Address_N = Wrap_Boundary + (Number_Bytes u00D7 Burst_Length), then:
u2022 use this equation for the current transfer:
u2014 Address_N = Wrap_Boundary
u2022 use this equation for any subsequent transfers:
u2014 Address_N = Start_Address + ((N u2013 1) u00D7 Number_Bytes) u2013 (Number_Bytes u00D7 Burst_Length).
Because N means the Nth transfer in a burst, N <= Burst_Length, does the last equation make sense?
Thanks