Temps de setup vs temps de hold : définition, délais et correction
Ce sont deux conditions temporelles qui permettent à une bascule de capturer correctement une donnée, mais elles s'appliquent dans des sens opposés. Le temps de setup est la durée pendant laquelle la donnée doit être stable avant le front d'horloge : il permet de vérifier que la donnée n'arrive pas trop tard. Le temps de hold est la durée pendant laquelle la donnée doit être maintenue après le front : il permet de vérifier que la donnée n'arrive pas trop tôt. La condition de setup fait intervenir la période d'horloge, si bien que ralentir l'horloge corrige une violation ; la condition de hold compare un même front, et baisser la fréquence ne la corrige pas.
| Critère | Temps de setup | Temps de hold |
|---|---|---|
| Définition | Durée minimale pendant laquelle la donnée doit être stable avant le front actif de l'horloge | Durée minimale pendant laquelle la donnée doit rester inchangée après le front actif de l'horloge |
| Ce que l'on vérifie | Que la donnée n'est pas trop lente : arrive-t-elle à temps pour le front suivant ? | Que la donnée n'est pas trop rapide : une nouvelle donnée ne s'infiltre-t-elle pas au même front ? |
| Fronts comparés | Le front côté émetteur et le front côté récepteur une période plus tard | Le même front côté émetteur et côté récepteur |
| Délai vérifié | Délai maximal (max). Le chemin le plus lent | Délai minimal (min). Le chemin le plus rapide |
| Condition (indicative) | tcq(max) + tlogic(max) + tsu ≤ T + tskew | tcq(min) + tlogic(min) ≥ th + tskew (tskew est positif lorsque l'horloge côté récepteur est en retard) |
| Lien avec la fréquence d'horloge | La période T figure dans la condition. Détermine la fréquence de fonctionnement maximale | La période ne figure pas dans la condition. Indépendant de la fréquence |
| Effet du skew d'horloge | Un retard de l'horloge côté récepteur augmente la marge | Un retard de l'horloge côté récepteur réduit la marge |
| Correction des violations | Réduire le nombre d'étages logiques, passer à des cellules rapides à forte capacité de commande ou à tension de seuil basse, rapprocher le placement, découper le chemin par pipeline, ralentir l'horloge | Insérer des buffers de retard dans le chemin de données, passer à des cellules lentes à tension de seuil élevée, ajuster le skew d'horloge |
| Corners propices aux violations | Conditions lentes : procédé lent, basse tension, haute température (dans les procédés fins, la basse température est parfois plus lente) | Conditions rapides : procédé rapide, haute tension, basse température, etc. |
| Si la violation est découverte après fabrication de la puce | Le circuit fonctionne en ralentissant l'horloge, au prix des performances | Baisser la fréquence ne corrige rien et le circuit ne fonctionne pas correctement. La correction exige souvent une modification de la conception |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.