Calculateur de timing setup et hold

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.

Données d'entrée (ns)

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.

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.

S'entraîner en conception logique

Quelle description du temps de setup (temps d'établissement) d'une bascule est correcte ?

  1. ALe temps minimal pendant lequel la donnée doit être maintenue après le front d'horloge
  2. BLe temps minimal pendant lequel l'entrée de données doit être stable avant le front d'horloge
  3. 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é.

Quelle description du temps de hold (temps de maintien) d'une bascule est correcte ?

  1. ALe temps pendant lequel l'entrée de données doit être fixée avant le front actif de l'horloge
  2. BLe temps entre l'arrivée de l'horloge et le changement de la sortie
  3. 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.

Termes associés

Temps d'établissement (setup time) Temps de maintien (hold time) Décalage d'horloge (clock skew) STA (analyse temporelle statique) Métastabilité Gigue (jitter)

Calculateurs pour semi-conducteurs

Calculateur de dies par wafer et de rendementPuces par plaquette, rendement (Poisson, Murphy, binomiale négative) et coût par puce bonne, avec carte de plaquetteCalculateur de résolution et de profondeur de foyer en lithographieRésolution (demi-pas), profondeur de foyer et découpage du pas à partir de λ, NA et k1Caractéristiques I-V du MOSFET (ID–VDS)Modifiez Vth, W/L et λ et voyez les courbes ID–VDS et le point de fonctionnement : régime, ID, gm et roCréer une série de questionsChoisissez des thèmes et un nombre de questions pour obtenir un lien de quiz à partager en cours ou en formationCalculateur de température de jonction et de résistance thermiqueTempérature de jonction, marge jusqu’à Tj(max) et puissance maximale d’après la puissance dissipée et la résistance thermiqueCalculateur de bande passante mémoireBande passante crête et effective de DDR, LPDDR, GDDR et HBM d’après le débit de transfert et la largeur de busSNR et nombre effectif de bits (ENOB) d’un ADCSNR et nombre effectif de bits d’un ADC d’après la résolution, la gigue d’horloge et le suréchantillonnageLoi d’Amdahl et accélération parallèleFacteur d’accélération et efficacité parallèle d’après la fraction parallèle et le nombre de processeurs, selon les lois d’Amdahl et de GustafsonDécoupage d’adresse d’un cache et temps d’accès mémoire moyenBits d’étiquette, d’index et d’offset et temps d’accès mémoire moyen d’après la taille du cache, la taille de ligne et l’associativitéConsommation d’un circuit CMOS (dynamique et statique)Consommation dynamique et statique d’après le facteur d’activité, la capacité, la tension, la fréquence et la fuite, et puissance après DVFSPotentiel de diffusion et largeur de la zone de déplétion d’une jonction PNPotentiel de diffusion, largeur de la zone de déplétion, champ maximal et capacité d’une jonction PN d’après le dopage et la polarisation inverseÉpaisseur d’oxyde thermique (modèle de Deal-Grove)Épaisseur d’oxyde de silicium et silicium consommé d’après la température, la durée, l’atmosphère sèche ou humide et l’orientation, avec le modèle de Deal-Grove