Retransmit feature of synchronous FIFO's

Question: - What happens to the data lines when RT is pulsed and during the tRTR time? - Can a selected block of data be retransmitted? - What considerations are there for using the retransmit operation?



The retransmit feature is offered in many of Cypress' synchronous FIFOs (including CY7C42x2, CY7C42x2V, CY7C42x5, CY7C42x5V, CY7C43xxx, CY7C43xxxV, and CY7C480xV25 devices). Pulsing the RT pin for a specified amount of time allows you to resend data out that has already been read. This is especially useful for resending packets that might not have been fully received. A proper retransmit operation pulse must be at least tPTR long (retransmit pulse width) and the read and write enables must be high for tRTR after the pulse (retransmit recovery time). The data bus output values during the recovery is undetermined, so any output data during that time should be ignored. Following the retransmit cycle, the pointer is back at the first memory location so successive read cycles will retransmit data that has already been read out. The write pointer is not affected. Read operations will continue until it catches up with the write pointer. Something to be careful of is that you cannot retransmit selected blocks of data. To successfully use the retransmit feature you have to reset the FIFO, rewrite the set of data you'd like to retransmit, and then read the data. Once this step is done, the data in the FIFO can be repeatedly retransmitted. However, a master reset is required before each new block transfer for retransmit to work correctly. If not, you may end up with a lot of data that is not relevant to what you want to retransmit. Also, the retransmit feature only works in standalone and width-expansion modes. It is not a feature when in depth expansion mode.