Timothy Normand Miller wrote:
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
OT comment: Again, I wish that this was as simple as designing with parts. IIRC, a SR latch made with Schmidt-Trigger input gates can not enter a metastable state because it is in the hysteresis loop (where the signal can never go). You still have a problem of short pulses (when one clock goes high almost exactly [< 2 gate delays] when the other clock goes low) which must be dealt with (PLLs address this by adding more states to the ASM), but you can make a ASM with 4 gates which does:

   C1 | C2 | Out
  ____|____|____
           |
   0    0  |  0
   0    1  |  *
   1    0  |  *
   1    1  |  1

  * Out doesn't change from previous level

which was commonly use for clock synchronization.

Does the FPGA have a macro for a clock synchronization? Specifically, the zero phase PLL detector macro might be adapted.

--
JRT
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to