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

AMBA AXI :Unaligned "INCR" data transfer

Hi,

    i am confusing in the following point ,with an example....

   if

     Start_Address = 23

     Number_Bytes = 8

     Burst_Length   = 8

     data_Bus_Byte =4


1.How many data transfer required to send complete set of data?

2. Are Transfer size and Number Byte same?

3. Please elaborate step by step data transfer if possible



Thanks in advance

Kousik

  • 1. The number of transfers = Burst_Length = 8.

    2. Yes, they are the same. They stand for the maximum number of bytes in each transfer. It can be narrower, but cannot be larger than the data bus width. In your example, "Number_Bytes = 8" on a 32-bit data bus is illegal. Number_Bytes cannot exceed 4 on a 32-bit bus.

    Assuming the following scenario:

         Start_Address = 23

         Number_Bytes = 4

         Burst_Length   = 8

         data_Bus_Byte =4

    So this could be an INCR-8 x 32-bit burst on a 32-bit bus, starting from address 0x23. The transaction would then start at address 0x23 for the 1st transfer, with only the top byte lane as valid. Then the size of the remaining seven transfers returns to four-byte at address 0x24, 0x28, 0x2C...0x3C, each covering four byte lanes.

    Hopefully this can answer your question.

    Xiaotao

  • Hello Kousik,

    Xiaotao's answer is correct if the 'Number_Bytes' means ARSIZE or AWSIZE.

    Why don't you use the AXI terminologies?

    I could not understand the meaning of your questions.

    Best regards,

    Yasuhiko Koumoto.