L'uso dei sincronizzatori 2-ff è stato uno standard per un segnale che attraversa i limiti del clock. E ci sono un sacco di carta / figure che illustrano il meccanismo, come questo:
Sembra che bclk possa campionare l'impulso di adat solo una volta (al secondo fronte di salita di bclk ), il che provoca metastabilità dell'output su bq1_dat . Come si può campionare "alto" bq1_dat sul successivo fronte di orologio attivo?
Oltre alla mia domanda, vorrei aggiungere ciò che penso affinché un segnale passi in modo sicuro a un altro dominio di clock (supponiamo che 2-FF sia sufficiente per soddisfare i requisiti MTBF). Per favore, correggimi in caso di errori.
ps: lo stato metastabile non mostra la forma d'onda "errante", ma un livello che non è né "1" né "0". La figura seguente mostra un esempio di output metastabile.
La figura originale proveniva dalle note della lezione per EE108A, lezione 13: fallimento della metastabilità e della sincronizzazione (come quando le buone infradito vanno male) di WJ Dally.