Analyse temporelle et CDC

Quelle méthode permet correctement de transmettre en toute sécurité une donnée multibit vers un autre domaine d'horloge ?

  1. AIl suffit de doter chaque bit de la donnée d'un synchroniseur à 3 étages : les décalages entre bits disparaissent et la transmission est sûre
  2. BMaintenir la donnée côté émetteur, ne synchroniser qu'un signal de validité de 1 bit, et faire capturer la donnée par le récepteur après observation de ce signal
  3. CPlacer les synchroniseurs des différents bits à proximité les uns des autres pour supprimer les décalages entre bits
Afficher la réponse et l'explication

Réponse : B. Maintenir la donnée côté émetteur, ne synchroniser qu'un signal de validité de 1 bit, et faire capturer la donnée par le récepteur après observation de ce signal

Pour une donnée multibit, le problème du décalage d'un cycle entre les résultats de synchronisation des différents bits ne peut être résolu ni par le nombre d'étages ni par le placement. La méthode typique consiste à ne pas synchroniser la donnée elle-même, à la maintenir côté émetteur, et à ne synchroniser et transmettre qu'un signal de contrôle de 1 bit. Au moment où le récepteur observe le changement du signal de contrôle, la donnée est stable depuis suffisamment longtemps et peut être capturée telle quelle. La donnée ne doit toutefois pas changer avant que le récepteur ait fini de la capturer. Pour des transferts continus et volumineux, on utilise une FIFO asynchrone.

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

Autres questions sur Analyse temporelle et CDC

  1. 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 ?
  2. 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 ?
  3. 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 ?
  4. 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 ?
  5. Dans un handshake à 4 phases utilisant req et ack, quel est l'ordre correct des signaux pour transmettre une donnée ?