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

How does QoS work with priority and ordering?

I'm trying to understand about QoS of AXI bus operation.

I thought that QoS will be processed priority and re-ordering with values of QoS as the below.

awqos 1..8..d..a..3..2..6..2

arqos 1..2..2..3..6..8..a..d

But awqos and arqos both seems like to work as an "in-order" in the capture below.

awqos 1..8..d..a..3..2..6..2

arqos 1..8..d..a..3..2..6..2

Does anyone help me understand about QoS operation and why it operates " in-order" instead of "re-order"?

If I want to see the QoS operation, what am I supposed to do?

  • From an AXI Specification point of view, AxQoS is used to indicate the priority of requests where a higher value is a higher priority.

    Exactly how this is used depends on the components in the system.  As stated by the AXI Spec:

    "The protocol does not specify the exact use of the QoS identifier. This specification recommends that AxQOS is used as a priority indicator for the associated write or read transaction. A higher value indicates a higher priority transaction."

    Some examples of how it could be used are:

    - At points of arbitration where a higher QoS request can be given priority

    - Reordering within a device

    - Reservation of tracking structures to ensure higher priority requests make progress sooner.

    It is also possible for devices to ignore the QoS value.