Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FIFO read & write pointer synchronising for asynchronous FIFO

Status
Not open for further replies.

aravi.ab

Newbie level 3
Joined
Aug 24, 2010
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
India
Activity points
1,303
HI,
I have a doubt regarding read and write pointer.
If the read pointer is synchronized with write pointer for comparison and read pointer is continuously incrementing in its clk domain.doesn't this pose a problem during comparison.



thanks
Aravind
 

No it doesn't.

It comes down to what must not happen and what is acceptible to happen.
What is reported to write clk domain is full signal which is synchronized to write clk. What must not happen to write clk domain is FIFO not reporting the full condition when it becomes full. What is acceptible to happen is FIFO reporting full condition when it's not full.

Since full signal is synchronized to write porinter, it immediately reports the full condition as soon as it happens, so that it will never miss or delay the reporting of full condition therefore buffer overrun never happens. In the meantime, read pointer keeps counting up and making more room in FIFO, but it may not be reflected to full signal due to slower write clk. That is acceptible to happen since it is reporting full condition while FIFO is not full, and it doesn't hurt the functionality of FIFO. Just hits some performance.

The same also applies to empty signal in read clk domain. I wouldn't explain it and you can think how it works by yourself, but the idea is the same as full condition.
 
There will always be a few clocks of latency between the two domains.
It is safe because the write side will always have the same number of words or more than the read side, so will never overfill
The read side will always have fewer words or equal to the write side, so it will never underflow.
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top