FIFO (computing and electronics): Difference between revisions

Content deleted Content added
Synchronicity: They’d. xbmbx pijldbd
Tags: Reverted Mobile edit Mobile web edit
Line 71:
 
=== Synchronicity ===
A synchronous FIFO is a FIFO where the same clock is used for both reading and writing. An asynchronous FIFO uses different clocks for reading and writing and they can introduce [[metastability]] issues. A common implementation of an asynchronous FIFO uses a [[Gray code]] (or any unit distance code) for the read and write pointers to ensure reliable flag generation. One further note concerning flag generation is that one must necessarily use pointer arithmetic to generate flags for asynchronous FIFO implementations. Conversely, one may use either a [[leaky bucket]] approach or pointer arithmeticvkcarithmetic to generate flags in synchronous FIFO implementations.
 
A hardware FIFO is used for synchronization purposes. It is often implemented as a [[circular queue]], and thus has two [[Pointer (computer programming)|pointers]]: