
Asynchronous FIFO design and calculate the Depth of the FIFO.
- Step1:- FIFO Width = 8 (1 byte = 8 bits worth of data at each buffer location)
- Step2:- Assume depth of FIFO to capture the complete buffer = 100 (maximum size of burst)
- Step3:- No of write clock cycles for writing 100 locations in FIFO = 100 @ clk_wr.
- Step4:- Time taken to write 100 locations = 100/ (15*10^6) = 6.67 us.
- Step5:- No of reads during 6.67 us = (6.67 us) * 10 * 10^6 = 66.7 @ clk_read (approx 67)
What is the effective depth of a FIFO?
balkris(Customer) 8 years ago The effective depth will vary depending on the type of FIFO you generate. For common clock FIFOs: The depth you select is the actual depth you will receive in common clock case. For independent clock FIFOs (Block Mem, Dist Mem type):
How to calculate FIFO parameters?
Six step approach to calculate FIFO parameters. Step2:- Assume depth of FIFO to capture the complete buffer = 100 (maximum size of burst) Step5:- No of reads during 6.67 us = (6.67 us) * 10 * 10^6 = 66.7 @ clk_read (approx 67)
How much FIFO depth is required for a single clock domain?
Since both frequencies of clock domains are equal, if there is no phase difference in the clock domains we don’t need any FIFO at all, but if the phase difference is there a FIFO depth of 1 will be sufficient.
How many FIFO depth questions do semiconductor companies ask?
Most of the semiconductor companies such as Analog Devices, Western Digital, and Nvidia, etc. which take a written-based test, will ask one FIFO depth question. 1. Complete ASIC Design Flow 2. Latchup and its prevention in CMOS

What is FIFO width?
The width of the input data of the FIFO is 8 bits; however, the width of the output data is 16 bits. You use only one common clock for both read and write actions.
What is VLSI FIFO?
FIFO means First-In First-Out. A FIFO is a structure used in hardware or software application when you need to buffer a data. Basically, you can think about a FIFO as a bus queue in London. The people that arrive first is the one who catch the bus first…. Figure1 – FIFO example at bus Stop.
What is asynchronous FIFO?
An asynchronous FIFO refers to a FIFO design where data values are written to a FIFO buffer from one clock domain and the data values are read from the same FIFO buffer from another clock domain, where the two clock domains are asynchronous to each other.
What is the difference between synchronous and asynchronous FIFO?
FIFO can be either synchronous or asynchronous. The basic difference between them is that the entire operation of synchronous FIFO is entirely dependent on the clock where as the write operation and read operation of asynchronous FIFO are asynchronous to each other.
What is FIFO memory?
First-In, First-Out (FIFO) memory devices are used for short-term storage of digital information, with retrieval of information occurring in the same order and sequence that the information was stored.
What is FIFO data structure?
In computing and in systems theory, FIFO is an acronym for first in, first out (the first in is the first out) is a method for organizing the manipulation of a data structure (often, specifically a data buffer) where the oldest (first) entry, or "head" of the queue, is processed first.
How do you design FIFO?
FIFO is an approach for handling program work requests from queues or stacks so that the oldest request is handled first. In hardware, it is either an array of flops or read/write memory that stores data from one clock domain and on request supplies the same data to other clock domains following FIFO logic.
How does a 2 clock FIFO work?
This dual clock FIFO is designed as a way for two circuits operating in different clock frequencies to communicate with each other. There is a read side and write side where data is stored into the internal memory of the FIFO using the write side clock and then read from the internal memory using the read side clock.
How does FIFO buffer work?
A FIFO buffer stores data on a first-in, first-out basis. The storage structure is typically an array of contiguous memory. Data is written to the “head” of the buffer and read from the “tail”. When the head or tail reaches the end of the memory array, it wraps around to the beginning.
Why Gray code is used in asynchronous FIFO?
You use gray code counters in asynchronous FIFO design where the write pointer is in a different clock domain than the read pointer, AND, when the pointers are multi-bit. This is to correctly detect full and empty conditions.
Where is synchronous FIFO used?
Basically Synchronous FIFO are used for High speed systems because of their high operating speed. Synchronous FIFO are easier to handle at high speed because they use free running clocks whereas in case of Asynchronous FIFO they uses two different clocks for read and write.
What is clock domain crossing in VLSI?
In digital electronic design a clock domain crossing (CDC), or simply clock crossing, is the traversal of a signal in a synchronous digital circuit from one clock domain into another. If a signal does not assert long enough and is not registered, it may appear asynchronous on the incoming clock boundary.