Setuptijd versus holdtijd: definitie, vertraging, frequentie en oplossingen
Beide zijn tijdsvoorwaarden waaraan moet worden voldaan om een flip-flop data correct te laten inklokken, maar ze werken in tegengestelde richting. De setuptijd is de tijd dat de data vóór de klokflank stabiel moet zijn en controleert of de data niet te laat is. De holdtijd is de tijd dat de data na de flank behouden moet blijven en controleert of de data niet te snel is. In de setupvoorwaarde zit de klokperiode, dus een tragere klok lost een overtreding op; bij hold worden flanken van hetzelfde moment vergeleken, dus een lagere frequentie lost niets op.
| Kenmerk | Setuptijd | Holdtijd |
|---|---|---|
| Definitie | De minimale tijd dat de data vóór de actieve klokflank stabiel moet zijn | De minimale tijd dat de data na de actieve klokflank ongewijzigd moet blijven |
| Wat wordt gecontroleerd | Of de data niet te laat is. Of ze de volgende flank haalt | Of de data niet te snel is. Of er bij dezelfde flank geen nieuwe data binnenglipt |
| Vergeleken flanken | De flank aan de zendkant en de flank aan de ontvangstkant één periode later | Dezelfde flank aan zend- en ontvangstkant |
| Gecontroleerde vertraging | Maximale (max) vertraging. Het langzaamste pad | Minimale (min) vertraging. Het snelste pad |
| Voorwaarde (indicatief) | tcq(max) + tlogic(max) + tsu ≤ T + tskew | tcq(min) + tlogic(min) ≥ th + tskew (tskew is positief in de richting waarin de klok aan de ontvangstkant later komt) |
| Relatie met de klokfrequentie | De periode T zit in de formule. Bepaalt de maximale werkfrequentie | De periode zit niet in de formule. Onafhankelijk van de frequentie |
| Invloed van clock skew | Een latere klok aan de ontvangstkant vergroot de marge | Een latere klok aan de ontvangstkant verkleint de marge |
| Overtredingen oplossen | Minder logicaniveaus, cellen met meer drijfvermogen of snellere cellen met lagere drempelspanning, cellen dichter bij elkaar plaatsen, het pad met pipelining opsplitsen, de klok vertragen | Vertragingsbuffers in het datapad invoegen, tragere cellen met hogere drempelspanning gebruiken, de clock skew aanpassen |
| Corners met kans op overtreding | Langzame condities. Langzaam proces, lage spanning, hoge temperatuur (in fijne processen is lage temperatuur soms langzamer) | Snelle condities. Snel proces, hoge spanning, lage temperatuur enzovoort |
| Als het pas na de chipfabricage wordt ontdekt | Met een tragere klok werkt de chip. De prestaties dalen | Ook een lagere frequentie lost het niet op; de chip werkt niet correct. Herstel vereist vaak een ontwerpwijziging |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.