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

AXI4:- Unaligned transfer

While doing an unaligned transfer of 32-bit data on 64-bit data, using 0x001 address, lower address lines used to indicate an unaligned data transfer but what if this lower address line data also needs to be transferred? let say transfer size is 4.

Parents
  • The big question here is what is AWBURST signalling ?

    If AWBURST indicates an INCR burst, the 4 transfers in your example would be to 0x001 (3 bytes) using WDATA[31:8], then 0x004 (4 bytes) on WDATA[63:32], 0x008 (4 bytes) on WDATA[31:0] and 0x00C (4 bytes) on WDATA[63:32]. So only the first transfer of the 4 is actually unaligned.

    If AWBURST indicates a FIXED burst, the 4 transfers in your example would all be to 0x001 (3 bytes), each using WDATA[31:8]. Each transfer in a FIXED burst is to the same address, so all 4 would be unaligned.

    If AWBURST indicates a WRAP burst, these do not allow unaligned start addresses.

    Note that in the INCR and FIXED examples, where I have said 3 or 4 bytes in each data transfer that is the maximum number of bytes that could be transferred, and the WSTRB information for those transfers could signal fewer than the maximum.

Reply
  • The big question here is what is AWBURST signalling ?

    If AWBURST indicates an INCR burst, the 4 transfers in your example would be to 0x001 (3 bytes) using WDATA[31:8], then 0x004 (4 bytes) on WDATA[63:32], 0x008 (4 bytes) on WDATA[31:0] and 0x00C (4 bytes) on WDATA[63:32]. So only the first transfer of the 4 is actually unaligned.

    If AWBURST indicates a FIXED burst, the 4 transfers in your example would all be to 0x001 (3 bytes), each using WDATA[31:8]. Each transfer in a FIXED burst is to the same address, so all 4 would be unaligned.

    If AWBURST indicates a WRAP burst, these do not allow unaligned start addresses.

    Note that in the INCR and FIXED examples, where I have said 3 or 4 bytes in each data transfer that is the maximum number of bytes that could be transferred, and the WSTRB information for those transfers could signal fewer than the maximum.

Children