K
Kevin Neilson
Guest
One mistake that is not too hard to make is forgetting to put a synchronizer flop on the input of an edge detector, like you might have on a UART input (so that the edge detector has two flops, total). Depending on the routing delays, this can cause you to miss a sizable percentage of edges. (Not just delayed, but missed completely.) Using only a single flop is sometimes known as using the "greedy path".
(Actually, to mitigate metastability as well, an edge detector ought to have three flops and an AND gate. Using two is sometimes known as using the "sneaky path".)
(Actually, to mitigate metastability as well, an edge detector ought to have three flops and an AND gate. Using two is sometimes known as using the "sneaky path".)