Atomic transaction AMBA 5

"For the Atomic Compare operation, if AWLEN is greater than 1, then the number of read data transfers is half that specified by AWLEN." Why only half is returned?
Specification Topic : E2.1.7
Community Help

  • An AtomicCompare operation sends both a Compare and Swap value at the same time, where the AWLEN/AWSIZE describes the total amount of data that is being sent.  This is shown in Figure A7.2 of the AXI.K Specification.

    The read data returned by an AtomicCompare is the original value in that memory location, and so equivalent to half of the outbound write data - the memory location is only compared to the Compare value.  If the Compare and Swap value required multiple transfers, then the returned value will use half this number of transfers.  This is described in Section A7.4.1:

    "• Inbound data size is half of the outbound data size because the outbound data contains both compare and swap values, whereas the inbound data has only the original data value."