This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Race Conditions in CXS interface protocol. Why?

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 sending
credits:
— The Receiver is permitted to assert CXSCRDGNT in the same cycle that the CXSACTIVEACK
signal 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?