Hi Philip,
Thanks for the link! As you say, a pretty good article.
There's one little thing I'd like to say! I prefer the circuit Rick
presented here on CAF over the one presented in fig.3. Search Google Groups
for subject "Async logic in FPGAs" in comp.arch.
fpga . Rick's circuit works
well even if the signal to be synchronised can clock faster than the
synchronising clock. Of course, some of the faster clock's transitions can
still be missed, but any burst of, for example, two fast clocks on the input
signal will (almost*) always be caught by at least one clock enable in the
synchronised domain.
A practical example of this is debouncing a switch input with a slow clock.
Imagine a key switch input being sampled at 1kHz. The circuit in Fig.3 could
miss the key press if the bouncy signal has an even number of rising edges.
Rick's circuit gets the bugger (almost*) everytime!
Cheers, Syms.
* Metastability is always possible, no matter how remote that possibility.
In the 1kHz example the synchronising circuit could stay metastable for 1ms!
"Philip Freidin" <
[email protected]> wrote in message
news:
[email protected]
> There is a fairly well written article on crossing clock domains
> that has been published this week. The online version is at:
>
> http://www.chipdesignmag.com/display...d=32&issueId=5
>
> There is a minor problem with the figure numbers in the text (off by one)
> but it is pretty obvious.
>
> Philip