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

AXI channel handshake process

for a VALID before READY handshake process in AXI channel, AXI reference manual states that "A source is not permitted to wait until READY is asserted before asserting VALID"

Guide me with this statement.

Parents
  • It is there to avoid a deadlock on the channel. If the source waits for READY assertion before asserting VALID, and the destination waits for VALID assertion before asserting READY, nothing will happen.

    If a channel source wants to perform a transfer, why not just assert VALID, regardless of the READY state.

    Whereas a destination might be able to accept a transfer from a number of sources, so doesn't want to commit to asserting READY until it sees a transfer request on VALID.

    So stating that VALID assertion cannot wait for READY assertion ensures no handshake deadlock, and agrees with what would be sensible operation by the channel source.

Reply
  • It is there to avoid a deadlock on the channel. If the source waits for READY assertion before asserting VALID, and the destination waits for VALID assertion before asserting READY, nothing will happen.

    If a channel source wants to perform a transfer, why not just assert VALID, regardless of the READY state.

    Whereas a destination might be able to accept a transfer from a number of sources, so doesn't want to commit to asserting READY until it sees a transfer request on VALID.

    So stating that VALID assertion cannot wait for READY assertion ensures no handshake deadlock, and agrees with what would be sensible operation by the channel source.

Children
No data