Qu'est-ce que Domaine d'horloge ?

Ensemble de bascules pilotées par la même horloge, ou par des horloges ayant une relation de fréquence et de phase fixe. Transmettre un signal entre des domaines d'horloge asynchrones l'un par rapport à l'autre nécessite un synchroniseur.

Nom japonais: クロックドメイン

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

Domaine: Analyse temporelle et CDC

S'entraîner : questions sur Domaine d'horloge

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 ?

  1. AParce que le récepteur risque de capturer comme valeur valide un glitch momentané apparaissant en sortie de la logique combinatoire
  2. BParce que la sortie d'une logique combinatoire a une tension trop basse pour que la bascule réceptrice réagisse
  3. CParce que capturer la sortie d'une logique combinatoire provoque systématiquement une métastabilité
Afficher la réponse et l'explication

Réponse : A. Parce que le récepteur risque de capturer comme valeur valide un glitch momentané apparaissant en sortie de la logique combinatoire

Au sein d'un même domaine d'horloge, un glitch se stabilise avant le front d'horloge suivant et ne pose pas de problème. Mais lors d'une capture par une horloge asynchrone, on ne sait pas quand le front arrivera, et l'on peut capturer une impulsion à 1 apparue un instant sur un signal censé valoir 0. Le principe est donc qu'un signal qui traverse les domaines doit sortir directement d'une bascule du domaine émetteur. La métastabilité ne se produit pas à chaque fois, et les outils de vérification CDC signalent eux aussi toute logique combinatoire placée en amont d'un synchroniseur.

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 ?

  1. ALes cycles de capture diffèrent d'un bit à l'autre, et l'on peut recevoir une valeur intermédiaire comme 1111 ou 0000
  2. BLe passage par les synchroniseurs aligne tous les bits sur le même cycle, donc aucun problème ne survient
  3. CLes 4 bits deviennent tous métastables et ne reviennent plus ni à 0 ni à 1
Afficher la réponse et l'explication

Réponse : A. Les cycles de capture diffèrent d'un bit à l'autre, et l'on peut recevoir une valeur intermédiaire comme 1111 ou 0000

Pour chaque bit, un synchroniseur à 2 étages ne permet pas de savoir si le changement sera capturé au front courant ou au suivant. Lors du passage de 0111 à 1000, les 4 bits changent, si bien que l'on peut recevoir pendant 1 cycle 1111, 0000, 0100 ou une autre valeur où seuls certains bits ont pris la nouvelle valeur. Si le récepteur utilise cette valeur, il dysfonctionne. La métastabilité se résout en 0 ou en 1 avec le temps. Pour une valeur de compteur, on la convertit en code de Gray afin qu'un seul bit change ; pour des données quelconques, on utilise un handshake ou une FIFO asynchrone.

« Domaine d'horloge » dans les explications

Questions mentionnant « Domaine d'horloge » (5)

  1. 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 ?
  2. 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 ?
  3. Quelle méthode permet correctement de transmettre en toute sécurité une donnée multibit vers un autre domaine d'horloge ?
  4. 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 ?
  5. Quelle contrainte s'applique correctement lorsqu'on transmet des impulsions d'un domaine d'horloge rapide vers un domaine d'horloge lent par synchronisation par toggle ?

Termes associés

Synchroniseur Métastabilité Protocole de poignée de main (handshake) FIFO asynchrone Via Glitch (impulsion parasite) Bascule (flip-flop) Code de Gray Chemin critique Chemin multicycle

Retour au glossaire