Fifo

Thread Starter

donengelbert

Joined Sep 19, 2007
2
Does First in First out similar to a conveyor belt where the the oldest data is discarded as a new data enters when the memory is full?
 

beenthere

Joined Apr 20, 2004
15,819
Unless you are actually placing data on a shift register, then that definition is not strictly correct. Fifo's are most often structures set up in programs for data containers, or as some process to pass a block of data (also called a pipeline). In either case, the programmer should have controls in place to prevent new data from displacing and losing the earliest entries.
 

Papabravo

Joined Feb 24, 2006
21,225
There are two different FIFO implementations. There are FIFO memories implemented in silicon which ignore new data when the FIFO is full.

There is a FIFO implemented in software(firmware) where the policy on what to do when the FIFO is full is up to the programmer. I generally follow the hardware model and throw new data on the floor when the FIFO is full. I often times put an error flag in the FIFO to indicate how many items have been ignored. I may continue to ignore entries until the FIFO has more than a single free entry. This kind of hysteresis allows the FIFO to contain "blocks" of contiguous data instead of a kind of stuttering alternation of data-miss-data-miss and so forth.
 
Top