We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
According to the AMBA CXS specification, there is a section describe about the RACE conditions with below elaboration.
The Receiver asserts the CXSACTIVEACK signal, to move from ACTIVATE to RUN, and starts sendingcredits:— The Receiver is permitted to assert CXSCRDGNT in the same cycle that the CXSACTIVEACKsignal is asserted.— The credit might be received at the Transmitter before its local CXSACTIVEACK signal is asserted.— Therefore, the Transmitter must accept credits while in the ACTIVATE or RUN state.
If CXSACTIVEACK & CXSCRDGNT are synchronous and both generated by the same receiver at the same time, i do not see why the credit & acknowledgement signal might be received in different time. For example, credit reach earlier than the acknowledgment.
May i understand why this will happen in the first place? is the delay caused by the physical propagation delay or any scenarios can cause this? (Is the assumption made the acknowledgement & grant not send through the same medium?). If yes, why this assumption is made for the design?
Or why don't constraint this in the 1st place?
Locking this thread, as it a duplication of community.arm.com/.../race-conditions-in-cxs-interface-protocol-why