Analyse temporelle et CDC

Vérifiez avec des QCM l'analyse temporelle statique (calcul de la marge en setup et en hold, OCV, chemins multicycles) et la conception du passage de domaine d'horloge (CDC) avec synchroniseurs et FIFO asynchrones.

S'entraîner sur 10 questionsQuestions aléatoires de ce thème · environ 5 minutes S'entraîner sur ce thèmeToutes les questions de ce thème dans un ordre aléatoire Questions à revoirNe refaire que les questions manquées lors de la dernière tentative

Analyse temporelle et CDC : points clés

Pour qu'un circuit synchrone fonctionne correctement, les données doivent arriver, sur tous les chemins entre bascules, en respectant le temps d'établissement (setup) et le temps de maintien (hold). L'analyse temporelle statique (STA) calcule la marge (slack) de chaque chemin à partir des contraintes d'horloge et de délais d'entrée-sortie données en SDC, et détecte les violations en tenant compte du décalage d'horloge (skew), de la gigue (jitter) et de la dispersion de fabrication.

Entre horloges asynchrones, en revanche, aucune temporisation ne peut être garantie et la métastabilité est inévitable. La conception et la vérification du passage de domaine d'horloge (CDC), qui transmet les signaux en toute sécurité au moyen de synchroniseurs à 2 bascules, de handshakes ou de FIFO asynchrones à pointeurs en code de Gray, font aussi partie des bases de la conception logique.

Toutes les questions sur Analyse temporelle et CDC (50)

  1. Dans un circuit synchrone de période d'horloge 2,0 ns, le délai horloge-sortie de la bascule émettrice est de 0,2 ns, le délai de la logique combinatoire de 1,4 ns et le temps d'établissement (setup) de la bascule réceptrice de 0,1 ns. Avec un décalage d'horloge (skew) nul, quelle est la marge (slack) de setup ?
  2. Sur un chemin entre bascules, le délai horloge-sortie est de 0,15 ns, le délai maximal de la logique combinatoire de 2,2 ns et le temps d'établissement de 0,15 ns. En ignorant le décalage d'horloge (skew) et l'incertitude d'horloge, quelle est la fréquence d'horloge maximale à laquelle ce chemin peut fonctionner ?
  3. Quelle description du WNS et du TNS, qui apparaissent dans les rapports de STA, est correcte ?
  4. Un chemin a une période d'horloge de 1,0 ns, un délai horloge-sortie de 0,1 ns, un délai combinatoire de 0,85 ns et un temps d'établissement de 0,08 ns. Si l'horloge de la bascule réceptrice arrive 0,05 ns plus tard que celle de la bascule émettrice, quelle est la marge de setup ?
  5. Lorsque l'horloge de la bascule réceptrice arrive plus tard que celle de la bascule émettrice (skew positif), quel est l'effet correct sur le setup et le hold ?
  6. Le délai horloge-sortie minimal de l'émetteur est de 0,08 ns, le délai minimal de la logique combinatoire de 0,02 ns et le temps de maintien (hold) du récepteur de 0,05 ns. Si l'horloge du récepteur arrive 0,1 ns plus tard que celle de l'émetteur, quelle est la marge de hold ?
  7. Sur un chemin ordinaire où l'émission et la capture se font sur le front montant de la même horloge, une violation de hold (marge de −0,03 ns) a été détectée. Si l'on divise la fréquence d'horloge par deux, qu'advient-il de cette violation ?
  8. Pour corriger une violation de hold, on insère des buffers de retard sur le chemin de données. Quel est le point le plus important à vérifier à cette occasion ?
  9. Sur un chemin de période d'horloge 1,25 ns (800 MHz), la somme du délai horloge-sortie et du délai combinatoire est de 1,05 ns, le temps d'établissement de 0,05 ns, et l'incertitude d'horloge pour le setup est fixée à 0,05 ns. Quelle est la marge de setup ?
  10. Dans le réglage de l'incertitude d'horloge, on inclut souvent la gigue de période pour le setup mais pas pour le hold. Quelle en est la raison correcte ?
  11. En STA, quelle association des conditions de coin (corner) principalement utilisées pour vérifier respectivement le setup et le hold est correcte ?
  12. Pour le derating OCV, en analyse de setup, on multiplie par 1,1 les délais du chemin d'horloge d'émission et du chemin de données, et par 0,9 celui du chemin d'horloge de réception. Avec un chemin d'horloge d'émission de 1,0 ns, un chemin de données (horloge-sortie compris) de 1,5 ns, un chemin d'horloge de réception de 1,0 ns (sans partie commune), une période de 3,0 ns et un temps d'établissement de 0,1 ns, quelle est la marge de setup ?
  13. En STA avec derating OCV, lorsque les chemins d'horloge d'émission et de réception sont communs sur une partie de leur parcours, quelle description du CRPR (suppression du pessimisme du chemin commun) est correcte ?
  14. Dans un circuit fonctionnant avec une horloge de période 2,0 ns, un chemin a un instant d'arrivée des données (somme du délai horloge-sortie et du délai combinatoire) de 3,3 ns et un temps d'établissement de 0,1 ns. Comme ce chemin n'a besoin de capturer qu'une fois tous les 2 cycles, on a défini un chemin multicycle de 2 pour le setup. Quelle est la marge de setup ?
  15. Lorsqu'on définit un chemin multicycle de N (N ≥ 2) pour le setup, on définit généralement aussi un chemin multicycle de N − 1 pour le hold. Quelle en est la raison correcte ?
  16. Pour quel chemin est-il approprié de définir un faux chemin (set_false_path) ?
  17. Avec une horloge de période 2,0 ns et de rapport cyclique 50 %, un chemin émet sur le front montant et capture sur le front descendant. Avec un temps d'établissement de 0,1 ns et un skew nul, quelle est la valeur maximale admissible pour la somme du délai horloge-sortie et du délai combinatoire ?
  18. Avec une horloge de période 2,0 ns, un chemin va d'une bascule qui émet ses données au front montant de l'instant 0 vers un verrou (latch) qui s'ouvre (devient transparent) à l'instant 1,0 ns et se ferme à l'instant 2,0 ns. Si les données arrivent au verrou à l'instant 1,4 ns, quel est le temps emprunté (time borrowing) par ce verrou ?
  19. Dans un circuit qui arrête l'horloge au moyen d'une porte AND à 2 entrées recevant l'horloge et un signal de validation (enable), quel est le contenu correct de la vérification de clock gating effectuée par la STA ?
  20. Avec une horloge de période 2,0 ns, set_input_delay 0,6 ns est défini sur une broche d'entrée. Si le temps d'établissement de la bascule interne est de 0,1 ns et qu'on ignore le délai et le skew de l'horloge, quel est le délai maximal admissible pour le chemin interne à la puce, de la broche d'entrée jusqu'à la bascule ?
  21. Que représente correctement la valeur spécifiée par set_output_delay ?
  22. Avec une horloge de période 2,5 ns (400 MHz), set_output_delay 0,8 ns est défini sur une broche de sortie. Si le délai horloge-sortie de la bascule qui pilote la broche de sortie est de 0,2 ns, quel est le délai maximal admissible pour la logique combinatoire et les interconnexions entre la bascule et la broche de sortie (le délai de l'horloge est ignoré) ?
  23. Avec une horloge de période 1,0 ns, un chemin relie les bascules A→B→C. A→B nécessite 1,2 ns, délai horloge-sortie et temps d'établissement compris, et B→C se contente de 0,8 ns. Pour satisfaire le setup des deux chemins en exploitant volontairement le skew, que faut-il faire de l'horloge de B (les horloges de A et de C sont supposées arriver simultanément) ?
  24. Lorsqu'une horloge est divisée par 2 par un circuit diviseur pour alimenter un autre circuit, quel est le traitement correct dans le SDC ?
  25. Pour une bascule à reset asynchrone, quelle vérification de la STA contrôle que la levée du reset n'est pas trop proche d'un front d'horloge ?
  26. Pour un chemin entre deux domaines d'horloge, dans quel cas un synchroniseur est-il nécessaire ?
  27. Lorsqu'on passe un synchroniseur à 2 bascules à 3 étages, comment évolue le temps moyen entre défaillances (MTBF) dues à la métastabilité ?
  28. Augmenter la fréquence de l'horloge de réception d'un synchroniseur raccourcit le MTBF. Quelle en est la raison correcte ?
  29. Dans un synchroniseur à 2 bascules, quelle précaution concernant la liaison entre le 1er et le 2e étage est correcte ?
  30. Pourquoi ne faut-il pas envoyer directement la sortie d'une logique combinatoire du domaine d'horloge émetteur dans le synchroniseur du domaine récepteur ?
  31. 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 ?
  32. Quelle méthode permet correctement de transmettre en toute sécurité une donnée multibit vers un autre domaine d'horloge ?
  33. 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 ?
  34. 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 ?
  35. 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 ?
  36. 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 ?
  37. Dans un handshake à 4 phases utilisant req et ack, quel est l'ordre correct des signaux pour transmettre une donnée ?
  38. Quel est l'inconvénient correct du transfert de données entre domaines d'horloge par handshake ?
  39. 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 ?
  40. Quelle est la conversion en code de Gray de la valeur binaire sur 4 bits 0110 (6 en décimal) ?
  41. Dans une FIFO asynchrone de 16 mots de profondeur, quelle est la raison correcte pour laquelle les pointeurs d'écriture et de lecture ont 5 bits, soit 1 bit de plus que l'adresse ?
  42. 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 ?
  43. 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 ?
  44. 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é) ?
  45. 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é) ?
  46. 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) ?
  47. 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 » ?
  48. 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 ?
  49. 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 ?
  50. 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 ?

Autres thèmes de Conception et industrie