Analyse temporelle et CDC

Dans une FIFO asynchrone de 16 mots de profondeur utilisant des pointeurs de 5 bits en code de Gray, quelle condition de détection de l'état plein (full) côté écriture est correcte ?

  1. ALes 2 bits de poids fort du pointeur d'écriture et du pointeur de lecture synchronisé sont respectivement inversés, et les 3 bits de poids faible coïncident
  2. BLes 5 bits du pointeur d'écriture et du pointeur de lecture synchronisé coïncident tous
  3. CSeul le bit de poids fort du pointeur d'écriture et du pointeur de lecture synchronisé est inversé, et les 4 bits de poids faible coïncident tous
Afficher la réponse et l'explication

Réponse : A. Les 2 bits de poids fort du pointeur d'écriture et du pointeur de lecture synchronisé sont respectivement inversés, et les 3 bits de poids faible coïncident

En binaire, l'état plein correspond à un pointeur d'écriture exactement 16 positions en avance sur le pointeur de lecture : seul le bit de poids fort diffère. Converti en code de Gray, le bit de poids fort reste inversé, le 2e bit, obtenu par XOR avec le bit de poids fort, s'inverse lui aussi, et les 3 bits de poids faible restent identiques. Par exemple, si la lecture est à 00000, l'écriture à l'état plein vaut 11000. « Seul le bit de poids fort inversé » est la condition en binaire, et la coïncidence des 5 bits est la condition d'état vide (empty).

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

Autres questions sur Analyse temporelle et CDC

  1. Dans une FIFO asynchrone, le pointeur de l'autre côté est utilisé après synchronisation, si bien que la valeur visible a 2 à 3 cycles de retard. Quel est l'effet correct de ce retard sur la détection de full/empty ?
  2. Dans une FIFO asynchrone dont le côté écriture est à 100 MHz et le côté lecture à 80 MHz, le côté écriture écrit des rafales de 100 mots à raison d'un mot par cycle, et le côté lecture lit un mot par cycle. Il y a suffisamment de temps de repos entre les rafales. Quelle est la profondeur minimale nécessaire pour éviter tout débordement (le retard dû à la synchronisation est ignoré) ?
  3. Le côté écriture écrit, à 200 MHz, des rafales de 120 mots à raison d'un mot par cycle. Le côté lecture, avec une horloge de 150 MHz, ne lit un mot que pendant 2 cycles sur 3. Quelle est la profondeur minimale nécessaire pour éviter tout débordement (le retard dû à la synchronisation est ignoré) ?
  4. Le côté écriture est à 250 MHz et le côté lecture à 200 MHz, et tous deux transfèrent un mot par cycle. Quelle est la profondeur minimale théoriquement nécessaire pour une FIFO recevant des rafales de 64 mots (le retard dû à la synchronisation est ignoré, et les fractions sont arrondies à l'entier supérieur) ?
  5. Quelle est la structure correcte d'un synchroniseur de reset qui génère, à partir d'un reset externe actif à l'état bas, un reset interne « à assertion asynchrone et désassertion synchrone » ?