FIFOs vs Dual-ports

Question: When is a FIFO used instead of a dual port? How do I select between a FIFO and dual-port for my application?

 

Answer:

 

FIFOs and dual-ports are both two-port SRAMs, except that FIFOs are specifically designed for sequential data, such as video or speech. Dual-ports, on the other hand, are more versatile in that writes and reads are allowed on both ports and not limited to sequential data. This is because the memory spaces in dual-ports are addressable. There is no address in a FIFO memory. However, a dual-port can be designed to work as a FIFO if needed, especially if the dual-port has burst mode features.