Can a metastable state persist in a flip-flop for more than one clock period?
No. Each new clock edge represents a fresh decision, so any state from a previous clock edge, including a metastable state, is erased.
The only way to have a given flip-flop in a metastable state for multiple clock periods is to create a new metastable state at each clock edge. In other words, the D input would have to be changing on every clock edge.
It is a fundamental principle in the design of asynchronous interfaces—such as UARTs—that input states must persist for at least two sampling clocks. In fact, most modern UARTs use a 16× clock.
That’s not to say that a metastable state can’t propagate down a chain of continuously-clocked flip-flops, but the probability of each successive flip-flop in the chain going metastable decreases exponentially.
Don't miss out on upcoming issues of Circuit Cellar. Subscribe today!
Would you like to write for Circuit Cellar? We are always accepting articles/posts from the technical community. Get in touch with us and let's discuss your ideas.