Forum Discussion

Haoq's avatar
Haoq
Icon for New Contributor rankNew Contributor
3 months ago
Solved

ESPI Non-posted read data with different tags on the same channel

Hi,

Regferenced to ESPI Revision 1.6.

Section 4.4: "There is no requirement for completions from the same channel but different tag to be returned in request order." it says different tags can be returned out-of-order.

May I consult please, if there are two non-posted MemoryRead of different tags(tag1 and tag2) on the same channel and both of them need multiple transactions, split completion of tag1 has been sended, is that possible for the target send splitted completion of tag2 before one of them finish sending all the data?

Like this:

MEM_RD - Rdata_Tag1_Part1

MEM_RD - Rdata_Tag2_Part1

MEM_RD - Rdata_Tag1_Part2

MEM_RD - Rdata_Tag1_Part2

Thank you in advance

HaoQi

  • Hi,


    I believe you're trying to say this:

    MEM_RD - Rdata_Tag1_Part1

    MEM_RD - Rdata_Tag2_Part1

    MEM_RD - Rdata_Tag1_Part2

    MEM_RD - Rdata_Tag2_Part2


    Yes, your understanding is correct. For different tag, you can interleave them.

    Allowing out-of-order completions improves efficiency. The tag mechanism guarantees that the requester can still match completions correctly.


    Thanks,

    Regards,

    Sheng


3 Replies

  • ShengN_altera's avatar
    ShengN_altera
    Icon for Super Contributor rankSuper Contributor

    Hi,


    I believe you're trying to say this:

    MEM_RD - Rdata_Tag1_Part1

    MEM_RD - Rdata_Tag2_Part1

    MEM_RD - Rdata_Tag1_Part2

    MEM_RD - Rdata_Tag2_Part2


    Yes, your understanding is correct. For different tag, you can interleave them.

    Allowing out-of-order completions improves efficiency. The tag mechanism guarantees that the requester can still match completions correctly.


    Thanks,

    Regards,

    Sheng