Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.
We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.
Thank you for your understanding.
In Atomic compare transaction what does 2, 4, 8, 16, 32 bytes indicates is it total number of bytes = len+1 * awsize or it is only awsize?
Example E1-1 in AXI/ACE Spec Issue H.c shows how AWSIZE and AWLEN are used for AtomicCompare and AtomicSwap transactions.
The total number of bytes sent on the write channel is AWSIZE * (AWLEN + 1) , which is what is being described in the Specification as "The write data is 2, 4, 8, 16, or 32 bytes".
Half of the write data is the Compare value and the other half is the Swap value. The original value in that location is always returned as read data.