
www.Usenet.com
| <-- __Chronological__ --> | <-- __Thread__ --> |
Yes and no. Yes, I over-constrain my clock slightly (Peter Alfke's nominal number for modern chips and "typical" applications is 3 ns). The interpretation is to allow time after the clock edge for each flip-flop (that has an asynchronous input) to "choose" which state to land in.
In a private e-mail to me, Peter Alfke both complained that this
approach is flawed (because the metastability delay is statistically
unbounded, and of course he's right) and gave me the 3 ns number above
(conservative for "all but perverse cases").
An alternative approach (I have seen other people do this) is to put two stages of flip-flops on all clock-domain crossings, and _assume_ there is a ton of slack between them.
| <-- __Chronological__ --> | <-- __Thread__ --> |