Qu'est-ce que Synchroniseur ?

Circuit qui aligne un signal asynchrone sur l'horloge de réception. Sa forme de base comprend deux bascules en série, ce qui augmente la probabilité que la métastabilité du premier étage se résorbe avant le front suivant.

Nom japonais: 同期化回路

« Synchroniseur » apparaît dans 10 questions d'entraînement réparties sur 1 thèmes, dont Analyse temporelle et CDC.

Synchroniseur à deux bascules Domaine d'horloge source Domaine d'horloge dest. FF source FF1 FF2 Async. Direct Sortie synchro Horloge source Horloge dest. Métastable ? Horloge dest. Sortie FF1 Indéfini Sortie FF2 env. 1 période Si FF1 se stabilise avant le front suivant, FF2 prend la bonne valeur
Synchroniseur à deux bascules · Voir dans les schémas

Domaine: Analyse temporelle et CDC

S'entraîner : questions sur Synchroniseur

Pour un chemin entre deux domaines d'horloge, dans quel cas un synchroniseur est-il nécessaire ?

  1. AEntre une horloge de 400 MHz issue d'une PLL et une horloge de 200 MHz obtenue en la divisant par 2
  2. BEntre deux horloges issues d'une même horloge distribuée sur deux régions par l'arbre d'horloge
  3. CEntre des horloges issues d'oscillateurs distincts, sans relation définie de fréquence ni de phase
Afficher la réponse et l'explication

Réponse : C. Entre des horloges issues d'oscillateurs distincts, sans relation définie de fréquence ni de phase

Des horloges issues de la même source, avec un rapport de fréquence et une relation de phase définis, sont des horloges synchrones : en vérifiant le setup et le hold en STA, on les traite comme des chemins ordinaires. Des horloges issues d'oscillateurs distincts, même si toutes deux sont annoncées à 100 MHz, ont en réalité des fréquences légèrement différentes ; la position relative de leurs fronts évolue avec le temps, et il arrive forcément, tôt ou tard, un instant où le setup ou le hold ne peut être respecté. La STA ne peut rien garantir entre de telles horloges asynchrones ; un synchroniseur est donc nécessaire.

Lorsqu'on passe un synchroniseur à 2 bascules à 3 étages, comment évolue le temps moyen entre défaillances (MTBF) dues à la métastabilité ?

  1. ALe temps disponible pour la résolution de la métastabilité augmente d'environ une période, et le MTBF s'allonge de façon exponentielle
  2. BLe MTBF est multiplié par 1,5, proportionnellement au nombre d'étages
  3. CLa probabilité de métastabilité est déterminée côté entrée, donc le MTBF ne change pas
Afficher la réponse et l'explication

Réponse : A. Le temps disponible pour la résolution de la métastabilité augmente d'environ une période, et le MTBF s'allonge de façon exponentielle

Le MTBF d'un synchroniseur s'exprime approximativement par MTBF = e^(t_r/τ) ÷ (T_0 × f_clk × f_data). t_r est le temps disponible pour la résolution de la métastabilité, et τ et T_0 sont des constantes déterminées par les caractéristiques de la bascule. Ajouter un étage allonge t_r d'environ une période. Par exemple, avec τ = 20 ps, si t_r augmente de 1 ns, le MTBF est multiplié par e^50, soit plus de 10^21. La probabilité que le 1er étage devienne métastable ne change pas, mais la probabilité que l'état se résolve avant de se propager plus loin augmente fortement.

« Synchroniseur » dans les explications

Questions mentionnant « Synchroniseur » (10)

  1. Pour un chemin entre deux domaines d'horloge, dans quel cas un synchroniseur est-il nécessaire ?
  2. Lorsqu'on passe un synchroniseur à 2 bascules à 3 étages, comment évolue le temps moyen entre défaillances (MTBF) dues à la métastabilité ?
  3. Augmenter la fréquence de l'horloge de réception d'un synchroniseur raccourcit le MTBF. Quelle en est la raison correcte ?
  4. Dans un synchroniseur à 2 bascules, quelle précaution concernant la liaison entre le 1er et le 2e étage est correcte ?
  5. Pourquoi ne faut-il pas envoyer directement la sortie d'une logique combinatoire du domaine d'horloge émetteur dans le synchroniseur du domaine récepteur ?
  6. Chaque bit d'une donnée de 4 bits a été transmis vers un autre domaine d'horloge via son propre synchroniseur à 2 étages. Lorsque la donnée passe de 0111 à 1000, quel problème peut survenir ?
  7. Une impulsion qui vaut 1 pendant un seul cycle (2 ns) dans un domaine d'horloge à 500 MHz a été transmise à un domaine à 100 MHz via un synchroniseur à 2 étages. Quel problème peut survenir ?
  8. Pour transmettre de façon fiable un signal de niveau d'un domaine à 400 MHz vers un domaine à 100 MHz via un synchroniseur, on veut que la largeur du signal soit d'au moins 1,5 fois la période de l'horloge de réception. Quelle largeur minimale, en cycles de l'horloge émettrice, faut-il ?
  9. Deux signaux de contrôle issus du même domaine émetteur sont reçus chacun par un synchroniseur à 2 étages distinct, puis combinés par un AND côté récepteur. Quel est le problème correct de cette conception ?
  10. Même lorsqu'on effectue une STA et une simulation RTL, pourquoi une vérification par un outil de vérification CDC est-elle considérée comme nécessaire ?

Termes associés

Métastabilité MTBF (temps moyen entre défaillances) Bascule (flip-flop) Domaine d'horloge Via STA (analyse temporelle statique) Code de Gray Protocole de poignée de main (handshake) Glitch (impulsion parasite) FIFO asynchrone

Retour au glossaire