0
\$\begingroup\$

A simple streaming interface consists of two signals, ready and valid. The streaming source asserts its valid output and the streaming sink asserts its ready output.

Data is transmitted when ready and valid are both asserted. This is assuming that the latency is zero clock cycles and data can be transmitted as soon as both ready and valid are asserted in the first clock cycle.

My question is, should the streaming source assert valid first, or the streaming sink should assert ready first? Or it does not matter?

\$\endgroup\$
4
  • 2
    \$\begingroup\$ There are different rules around different streaming protocols so it depends which one you have. For example, AXI spells out the protocol for READY and VALID clearly in its freely-available spec' so you'd find that one out by reading it rather than here. Which protocol are you using? \$\endgroup\$
    – TonyM
    Jul 30 at 13:51
  • \$\begingroup\$ I am not using specific protocol. I have contol over both the source and sink. Both are deigned by me. \$\endgroup\$
    – quantum231
    Jul 30 at 16:44
  • 1
    \$\begingroup\$ gstitt.ece.ufl.edu/courses/fall15/eel4720_5721/labs/refs/… -- your question is straightly answered in the AXI specs section A3.3.1. \$\endgroup\$
    – Mitu Raj
    Jul 30 at 19:32
  • 2
    \$\begingroup\$ I am not using specific protocol. I have contol over both the source and sink. Both are deigned by me. Oh, well you're making the rules then, you can do what you like. You just have to make sure the rules you come up with cover all possibilities of the bus master and bus target's readiness, timeouts, aborts and everything else. \$\endgroup\$
    – TonyM
    Jul 30 at 20:01

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.