Analyse temporelle et CDC
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 ?
- ALes cycles de capture diffèrent d'un bit à l'autre, et l'on peut recevoir une valeur intermédiaire comme 1111 ou 0000
- BLe passage par les synchroniseurs aligne tous les bits sur le même cycle, donc aucun problème ne survient
- 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.
Continuer : 9 autres questions sur Analyse temporelle et CDC