[Open-graphics] fifos and metastability

André Pouliot andre.pouliot at gmail.com
Tue Apr 10 17:17:05 EDT 2007


Metastability still exist today.

Metastability period of opportunity do diminish because of the 
technology is better, but it also augment because the operating 
frequency augment.

It's not that prevalent in system where one clock domain is used because 
to prevent it you just have to design by respecting the propagation time 
between 2 flip-flop and respect the setup and hold time of each flip-flop.

If you have more 2 unrelated clock you are sure to have metastability 
problem. Because since the 2 clock doesn't have the same 
frequency/(phase if different origin) there is drift between the 2  and 
you can expect metastability. Even if you calculate a 0.00001 % chance 
of metastability per data line(between 2 Flip-flop each in is own clock 
domain) you can expect, for example, a error rate of 10 error*per data 
line/second at a frequency of 100MHz. That kind of error rate is 
unacceptable in any IC.

To diminish the error rate for a data bus, the asynchronous fifo is the 
solution commonly proposed. The interface is composed of 2 synchronous 
part(data in-out and counter), a asynchronous dual port ram and 
asynchronous fault tolerant control logic. That type of construction 
diminish the error probability by and important factor since the 
interface is asynchronous and is expected to behave rationally between 2 
clock domain. The control stop the write operation and read operation to 
happen in the same memory case at the same time, but allow it at a 
different time or in a different memory space.


Nicolas Boulay wrote:
> Does metastability still exist today ?
>
> Metastability have a exponentialy decreasing probability for a given
> length. The idea is that the time constant in the exponent for the
> last process (<0.25µm) are very small (ps ?) and don't affect the
> design anymore.
>
> 2007/4/10, Timothy Normand Miller <theosib at gmail.com>:
>> I've posted to SVN a new fifo design.  It's kinda wasteful, but it's
>> designed for very high clock rates.  It's an async fifo (meaning that
>> the two ends are on different clocks), and the cross-domain
>> communitation is one-hot (rather than gray-coded).
>>
>> When I posted the original one, someone was kind enough to perform an
>> analysis to determine if RAM contents would also suffer from
>> metastability.  I think this one will have the same problem, so I was
>> hoping that same kind person would please have a look at this one.
>>
>> https://svn.suug.ch/repos/opengraphics/main/trunk/rtl/fifos/onehot_fifo_32.v 
>>
>>
>> Thanks!
>>
>> (Oh, it doesn't quite work right yet.  I'm in the process of 
>> debugging it.)
>>
>> -- 
>> Timothy Normand Miller
>> http://www.cse.ohio-state.edu/~millerti
>> Open Graphics Project
>> _______________________________________________
>> Open-graphics mailing list
>> Open-graphics at duskglow.com
>> http://lists.duskglow.com/mailman/listinfo/open-graphics
>> List service provided by Duskglow Consulting, LLC (www.duskglow.com)
>>
> _______________________________________________
> Open-graphics mailing list
> Open-graphics at duskglow.com
> http://lists.duskglow.com/mailman/listinfo/open-graphics
> List service provided by Duskglow Consulting, LLC (www.duskglow.com)
>



More information about the Open-graphics mailing list