Analyse temporelle et CDC

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é) ?

  1. A30 mots
  2. B60 mots
  3. C40 mots
Afficher la réponse et l'explication

Réponse : B. 60 mots

L'écriture de 120 mots prend 120 × 5 ns = 600 ns. Le débit effectif du côté lecture est 150 MHz × 2/3 = 100 millions de mots par seconde ; en 600 ns, il peut donc lire 60 mots. La quantité maximale accumulée dans la FIFO est donc 120 − 60 = 60 mots. 30 mots est la valeur calculée à 150 MHz en supposant une lecture à chaque cycle (90 mots en 600 ns), et 40 mots la valeur obtenue en prenant simplement le tiers de la rafale. L'important est de comparer non pas les fréquences d'horloge mais les débits effectifs, temps de repos compris.

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

Autres questions sur Analyse temporelle et CDC

  1. 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) ?
  2. 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 » ?
  3. Deux signaux de contrôle issus du même domaine émetteur sont reçus chacun par un synchroniseur à 2 étages distinct, puis combinés par un AND côté récepteur. Quel est le problème correct de cette conception ?
  4. Même lorsqu'on effectue une STA et une simulation RTL, pourquoi une vérification par un outil de vérification CDC est-elle considérée comme nécessaire ?
  5. Pourquoi peut-il être problématique de laisser sans contrainte (faux chemin) le chemin qui transmet les pointeurs en code de Gray d'une FIFO asynchrone vers l'autre domaine, au motif qu'il est asynchrone ?