Pour un seul chemin de bascule à bascule, ce calculateur applique le même raisonnement que l'analyse temporelle statique (STA) pour obtenir les marges (slack) de setup et de hold. Modifiez les délais et le décalage d'horloge pour voir quelle vérification échoue en premier. Toutes les valeurs sont en nanosecondes.
Résultats
Marge de setup
–
Marge de hold
–
Fréquence maximale
–
Respecté Violé
La ligne du haut vérifie que les données les plus tardives arrivent avant la limite de setup (ligne pointillée) ; la ligne du bas vérifie que les données les plus précoces arrivent après la limite de hold. Une marge négative signifie une violation.
Voir sous forme de graphique
Les autres entrées gardent leur valeur actuelle tandis que l'entrée choisie varie de 1/4 à 4 fois sa valeur actuelle. Le point rouge est la valeur actuelle.
La vérification de setup
L'instant le plus tardif auquel de nouvelles données peuvent atteindre la bascule de capture est le délai clock-to-Q maximal plus le délai combinatoire maximal. Elles doivent arriver avant le front de capture suivant (période plus skew) diminué du temps de setup et de l'incertitude d'horloge. La marge de setup est la limite moins l'instant d'arrivée ; si elle est négative, la période est trop courte et il faut réduire la fréquence ou raccourcir la logique.
La vérification de hold
Le hold consiste à vérifier si des données lancées sur le même front d'horloge arrivent si vite qu'elles corrompent la valeur que la bascule de capture est encore en train de verrouiller. L'arrivée la plus précoce, soit le délai clock-to-Q minimal plus le délai combinatoire minimal, doit survenir après le skew plus le temps de hold. La période d'horloge n'apparaît pas dans la vérification de hold : ralentir l'horloge ne corrige donc jamais une violation de hold ; les outils insèrent plutôt des buffers de retard sur le chemin court.
Comment le skew déplace les deux vérifications
Lorsque l'horloge de capture arrive plus tard que l'horloge de lancement (skew positif), la limite de setup recule, ce qui aide le setup mais pénalise le hold. Un skew négatif produit l'effet inverse. Les concepteurs ajoutent parfois volontairement du skew pour sauver un chemin de setup critique (useful skew), mais doivent alors revérifier le hold. Une vraie STA vérifie chaque chemin dans le pire cas : le setup au corner lent et le hold au corner rapide.
Fréquence maximale
La période pour laquelle la marge de setup est exactement nulle est la période minimale du chemin, et son inverse est la fréquence maximale : fmax = 1 / (clock-to-Q + délai combinatoire + setup + incertitude − skew). La fréquence maximale d'une puce est fixée par son chemin le plus lent, le chemin critique. Ajouter des étages de pipeline raccourcit la logique par étage et augmente la fréquence atteignable.
ALe temps minimal pendant lequel la donnée doit être maintenue après le front d'horloge
BLe temps minimal pendant lequel l'entrée de données doit être stable avant le front d'horloge
CLe temps entre la mise sous tension et le début du fonctionnement
Afficher la réponse et l'explication
Réponse : B. Le temps minimal pendant lequel l'entrée de données doit être stable avant le front d'horloge
Pour qu'une bascule capture correctement, la donnée doit être stable depuis un certain temps avant le front d'horloge : c'est le temps de setup. Si le délai du chemin de données dépasse la période d'horloge moins le temps de setup, il y a violation, que l'on résout en ralentissant l'horloge. Le temps pendant lequel la donnée doit être maintenue après le front est le temps de hold ; le non-respect de l'un ou de l'autre provoque la capture d'une valeur erronée ou la métastabilité.
ALe temps pendant lequel l'entrée de données doit être fixée avant le front actif de l'horloge
BLe temps entre l'arrivée de l'horloge et le changement de la sortie
CLe temps pendant lequel l'entrée de données doit rester inchangée après le front actif de l'horloge
Afficher la réponse et l'explication
Réponse : C. Le temps pendant lequel l'entrée de données doit rester inchangée après le front actif de l'horloge
Le temps de hold est le temps minimal pendant lequel la donnée doit rester stable après le front d'horloge. Si le chemin entre une bascule et la suivante est trop court, la nouvelle donnée mise à jour au même front arrive trop tôt à l'étage suivant, d'où une violation. Indépendant de la période, ce problème n'est pas résolu en ralentissant l'horloge ; on insère des buffers dans le chemin de données pour ajouter du délai. Découvert après fabrication, il rend la puce inutilisable, d'où l'importance de la vérification à la conception.
Questions fréquentes
Comment corrige-t-on différemment les violations de setup et de hold ?
Les violations de setup se corrigent en réduisant la fréquence d'horloge, en accélérant ou en restructurant la logique, ou en ajoutant des étages de pipeline. Les violations de hold ne dépendent pas de la fréquence : on les corrige en ajoutant des buffers pour augmenter le délai sur le chemin court.
Le décalage d'horloge affecte-t-il le setup ou le hold ?
Les deux, en sens opposé. Un skew positif, où l'horloge de capture arrive plus tard, aide le setup et pénalise le hold ; un skew négatif fait l'inverse.
Qu'est-ce que la marge (slack) en analyse temporelle ?
La marge (slack) est la réserve temporelle : le temps requis moins l'instant d'arrivée réel. Une marge positive signifie que la vérification est réussie ; une marge négative est une violation.