AXI4 - read data interleaving

Hi Folks,

We need a clarification on Read Data Interleaving on AXI4

Read Data Interleaving is supported in AXI4 and following is my understanding on Data Interleaving:

Multiple Read commands can be executed simultaneously and data interleaving is supported as long as all condition for ordering are followed.

I think data interleaving should not be done within a single burst. In other words, any single burst should contain data from single read command and no burst should contain data from multiple command.

I tried to confirm it but could not find a reference for it.

Can anyone confirm it or point me to a reference document for confirmation.

Thanks,

Amit

Parents
  • Hello Amit,

    >Multiple Read commands can be executed simultaneously and data interleaving is

    >supported as long as all condition for ordering are followed.

    Yes, your understanding is correct.

    Read data interleaving can be considered as:

    - RDATA for different IDs can be returned out of order.

    - RDATA for different IDs can be returned in an interleaved way.

    - RDATA for the same ID must be returned in the same order as the AR commands.

    Suppose the master has issued two AR commands:

    AR1: INCR4, ID=x

    AR2: INCR4, ID=y

    In this case, since the two commands have different IDs, the RDATA beats (4 beats for each command, 8 in total) can come back completely out of order and interleaved. In other words, on each cycle, either RDATA(ID=x) or RDATA(ID=y) may be returned, and the master must be able to accept them.

Reply
  • Hello Amit,

    >Multiple Read commands can be executed simultaneously and data interleaving is

    >supported as long as all condition for ordering are followed.

    Yes, your understanding is correct.

    Read data interleaving can be considered as:

    - RDATA for different IDs can be returned out of order.

    - RDATA for different IDs can be returned in an interleaved way.

    - RDATA for the same ID must be returned in the same order as the AR commands.

    Suppose the master has issued two AR commands:

    AR1: INCR4, ID=x

    AR2: INCR4, ID=y

    In this case, since the two commands have different IDs, the RDATA beats (4 beats for each command, 8 in total) can come back completely out of order and interleaved. In other words, on each cycle, either RDATA(ID=x) or RDATA(ID=y) may be returned, and the master must be able to accept them.

Children