top of page
SiliconCrafters

Rules for a Ready-Valid Protocol

Ready-Valid protocol is a fundamental flow control mechanism. It is a very simple protocol which is used as a handshaking mechanism to control the data flow. It is a stateless protocol, meaning that the producer and consumer do not need to retain information from previous cycles. As the name suggests, it uses two control signals for data transfer: Ready and Valid. Apart from these control signals, there is another pin that carries the data that needs to be transferred. You might have already heard about this protocol as AXI interface uses it on all its channels. 


So anyways, I am not writing this article to explain to you how a Ready-Valid protocol works, there are tons of articles on the web that do a very good job of explaining that. Instead, I am here to tell you about the “rules” you absolutely want to remember while implementing a ready-valid protocol. These rules are usually overlooked but are very important to properly understand and master the ready-valid, and hence the AXI protocol. 


Let us assume a very simple design with one producer and one consumer. The producer is the one that initiates the transaction and hence the valid and data pin is output from the producer. The ready pin is output from the consumer. See the block diagram below for a clearer picture. 



Without wasting any more time, let’s directly jump into the requirements for a ready-valid interface: 

  1. This mechanism is not an asynchronous handshake and requires the rising edge of the clock for the handshake to complete. 

  2. When the producer asserts a Valid signal, it must remain asserted until the rising clock edge after the consumer asserts Ready. Basically, valid must not be de-asserted until the consumer consumes the current data by asserting a Ready signal. 

  3. The Valid signal must not be dependent on the Ready signal of the consumer. Ready signal, on the other hand, can depend on Valid signal. 


These are the rules that we must absolutely comply with while working with a ready-valid interface. If a transaction is violating any of the rules mentioned above, then that transaction will be deemed illegal and steps must be taken to avoid that. 


Thank you for reading, see you in the next article! 

83 views0 comments

Recent Posts

See All

Commentaires


bottom of page