What does "observed" mean here in the AXI standard?

145 Views Asked by At

I'm reading section A6.4 "Slave ordering" of AXI standard, but I don't quite understand what the word "observed" mean in the standard text:

A6.4 Slave ordering

To meet the requirements of the ordering model, a slave must ensure that:

• Any write transaction for which it has issued a response must be observed by any subsequent write or read transaction, regardless of the transaction IDs.

•Any write transaction to Device memory must be observed by any subsequent write to Device memory with the same ID, even if a response has not yet been issued

Can you give me an explanation, preferably with a concrete example? Thanks.

1

There are 1 best solutions below

0
On

What does "observed" mean here in the AXI standard?

It is generic and there is no canonical answer. For instance, say the device is a multi-port UART. If a register is a UART write, then multiple writes to the UART registers should mean that multiple characters are written (or observed by the hardware).

If the hardware was a memory device, and there are two writes followed, by a read, then there is no possible 'observation' of the first write. The AXI is not doing any buffering and an ACK to the device means that the device should behave as if the write was applied. Inside the device, there maybe various queues and buffers; for instance, idempotent memory could discard the write in this situation.

So, it is unlikely that ARM can answer as it depends on the device. However, if you create the multi-port UART and start dropping writes to the register, it is an 'observable' effect and it is your problem.