What happens when 1 bit which is changing in Gray Code counter goes into metastability ? Why it isn't a problem in asynchronous FIFO?
Asked
Active
Viewed 1,228 times
0
-
1[Electronics SE](https://electronics.stackexchange.com/) would be a better place for this question. – Aug 05 '17 at 19:44
2 Answers
1
You might want to take a look at Cliff Cummings's famous paper about Asynchronous FIFO Design.

AndresM
- 1,293
- 10
- 19
0
I think asynchronous FIFO actually internally uses gray code counter to pass the write/read address pointer across the two clock domains.
You will have metastability issue if more than 1 bit is toggled in one clock domain, but no all the bits are captured by the other clock domain. One 1 bit can toggle in a gray code counter and the value stays. It does not matter when the 2nd clock samples the toggled bit from the 1st clock, it may be one cycle late but it doesn't matter.

hevangel
- 95
- 5
-
So if rd pointer is late by 1 clock cycle, it would not create any pseudo full condition? – Rottenengg Sep 14 '17 at 16:30