Analyse temporelle et CDC

En synchronisation par toggle (on transmet un signal de niveau qui s'inverse côté émetteur à chaque impulsion), quelle est la bonne méthode pour récupérer l'impulsion d'origine côté récepteur ?

  1. AUtiliser directement comme impulsion le signal toggle synchronisé
  2. BFaire le AND du signal toggle synchronisé et de l'horloge de réception pour obtenir une impulsion d'un cycle
  3. CFaire le XOR du signal toggle synchronisé et de ce même signal retardé d'un étage supplémentaire
Afficher la réponse et l'explication

Réponse : C. Faire le XOR du signal toggle synchronisé et de ce même signal retardé d'un étage supplémentaire

En synchronisation par toggle, on inverse la valeur d'une bascule côté émetteur à chaque impulsion, et l'événement est représenté par un changement de 0 à 1 ou de 1 à 0. S'agissant d'un signal de niveau, il ne disparaît pas, même si l'impulsion est plus courte que la période de réception. Côté récepteur, après une synchronisation sur 2 étages, le XOR avec la valeur retardée d'un étage de plus donne une impulsion d'un cycle qui ne vaut 1 qu'au cycle où un changement a eu lieu. Utiliser directement le signal toggle ferait manquer le 2e événement, lorsqu'il revient à 0. Une opération logique avec l'horloge est source de glitchs.

S'entraîner sur ce thème Retour au thème

Autres questions sur Analyse temporelle et CDC

  1. 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 ?
  2. Dans un handshake à 4 phases utilisant req et ack, quel est l'ordre correct des signaux pour transmettre une donnée ?
  3. Quel est l'inconvénient correct du transfert de données entre domaines d'horloge par handshake ?
  4. Dans une FIFO asynchrone, quelle est la raison correcte pour laquelle on convertit les pointeurs d'écriture et de lecture en code de Gray avant de les synchroniser vers l'autre domaine ?
  5. Quelle est la conversion en code de Gray de la valeur binaire sur 4 bits 0110 (6 en décimal) ?