SMID Extraction - 1.0 English

AXI Sideband Formatter Utility LogiCORE IP Product Guide (PG307)

Document ID
PG307
Release Date
2018-04-04
Version
1.0 English
Revision

To retrieve the SMID value from an AXI transaction arriving at the PS block, you insert an AXI Sideband Formatter Utility IP core between the fabric interconnect and one of the AXI fabric slave interfaces of the PS block. You then configure the IP to perform SMID extraction, again specifying the width of the SMID field to extract.

It is also acceptable to directly connect an AXI Sideband Formatter Utility IP core configured for SMID extraction to the output of another AXI Sideband Formatter Utility IP core configured for SMID insertion, if no intervening AXI interconnect is needed. (These two functions cannot be performed by the same instance of the core.)

For each AW or AR transfer, the SMID field is extracted from the low-order position of awuser or aruser and the remainder (if any) is right-shifted and propagated.

The extracted SMID value is propagated as the out-bound awid or arid (and wid if AXI3), which is where the SMMU expects to find the SMID.

Any in-bound value of awid or arid (if S_ID_WIDTH>0) is pushed into a queue to be restored during the corresponding response transfer.

  • During response transfers, received rid or bid are discarded and replaced by the saved awid and arid (if any).

  • AW and AR command traffic gets single-threaded according to SMID (disregarding any awid or arid). Any transfer received while there is an outstanding transaction with a different SMID value gets stalled. This avoids any response reordering.

In AXI3, W-channel gets stalled until the corresponding AW is received so that extracted SMID can be propagated as wid.