Forum Discussion
Altera_Forum
Honored Contributor
17 years ago --- Quote Start --- I have never heard of one stage. --- Quote End --- I guess, you have seen a lot of single FF synchronizers in cases, where metastability hasn't been discussed explicitely. Most synchronous edge detector design examples I've seen are using a single stage synchronizer for unrelated input signals. On the other hand, a two stage synchronizer strictly speaking doesn't remove or absorb metastabilities at the output, but further reduces their likelihood. The necessity of using two or even more stages for a synchronizers depends on the consequences of metastable states for a design. If it triggers an unsafe FSM, that can get stuck forever in an illegal state after a single event, it may be necessary. --- Quote Start --- The issue of multibits and tackling it with grey coding doesn't make sense to me. --- Quote End --- It can be found e.g. in FIFO designs. There you have the problem, to transmit the pointer values (multibit entities) consistently between the two clock domains. You can study, how Altera Megafunction altsyncram_fifo solve this through gray encoding.