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.

KenmerkSetuptijdHoldtijd
DefinitieDe minimale tijd dat de data vóór de actieve klokflank stabiel moet zijnDe minimale tijd dat de data na de actieve klokflank ongewijzigd moet blijven
Wat wordt gecontroleerdOf de data niet te laat is. Of ze de volgende flank haaltOf de data niet te snel is. Of er bij dezelfde flank geen nieuwe data binnenglipt
Vergeleken flankenDe flank aan de zendkant en de flank aan de ontvangstkant één periode laterDezelfde flank aan zend- en ontvangstkant
Gecontroleerde vertragingMaximale (max) vertraging. Het langzaamste padMinimale (min) vertraging. Het snelste pad
Voorwaarde (indicatief)tcq(max) + tlogic(max) + tsu ≤ T + tskewtcq(min) + tlogic(min) ≥ th + tskew (tskew is positief in de richting waarin de klok aan de ontvangstkant later komt)
Relatie met de klokfrequentieDe periode T zit in de formule. Bepaalt de maximale werkfrequentieDe periode zit niet in de formule. Onafhankelijk van de frequentie
Invloed van clock skewEen latere klok aan de ontvangstkant vergroot de margeEen latere klok aan de ontvangstkant verkleint de marge
Overtredingen oplossenMinder logicaniveaus, cellen met meer drijfvermogen of snellere cellen met lagere drempelspanning, cellen dichter bij elkaar plaatsen, het pad met pipelining opsplitsen, de klok vertragenVertragingsbuffers in het datapad invoegen, tragere cellen met hogere drempelspanning gebruiken, de clock skew aanpassen
Corners met kans op overtredingLangzame 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 ontdektMet een tragere klok werkt de chip. De prestaties dalenOok 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.

Wanneer welke variant?

Setuptijd
Bij het bepalen van de maximale werkfrequentie en bij het opsporen en versnellen van langzame paden. In statische timinganalyse wordt gecontroleerd met de max-vertraging en langzame corners.
Holdtijd
Wanneer de paden tussen flip-flops kort zijn of de clock skew groot is. Er wordt gecontroleerd met de min-vertraging en snelle corners; meestal wordt het opgelost nadat de klokboom is opgebouwd.
Combinatie
Het oplossen van de ene kan de andere verslechteren. Te veel buffers invoegen om hold op te lossen verkleint de setupmarge, dus aan beide moet in alle corners tegelijk worden voldaan.

Veelgestelde vragen

Waarom lost een tragere klok een holdovertreding niet op?

Omdat de holdvoorwaarde dezelfde klokflank aan zend- en ontvangstkant vergelijkt, zodat de klokperiode niet in de formule voorkomt. Het wordt opgelost door de vertraging van het pad zelf te veranderen, bijvoorbeeld door buffers in het datapad in te voegen om het te vertragen.

Waarom wordt voor setup de max- en voor hold de min-vertraging gebruikt?

Bij setup is de vraag of de data de volgende flank haalt wanneer ze het laatst aankomt, dus wordt met de maximale vertraging gecontroleerd. Bij hold is de vraag of nieuwe data de vorige data niet beschadigt wanneer ze het vroegst aankomt, dus wordt met de minimale vertraging gecontroleerd.

Wat gebeurt er als niet aan de setup- of holdtijd wordt voldaan?

De flip-flop klokt een verkeerde waarde in, of de uitgang komt in een metastabiele toestand waarin ze een tijd lang noch 0 noch 1 is. Bij asynchrone signalen is dit niet volledig te vermijden, dus worden ze ontvangen met een synchronisatie via twee of meer flip-flops.

Test uw begrip

Welke omschrijving van de setup-tijd van een flip-flop is juist?

  1. ADe minimale tijd waarin de data na de klokflank vastgehouden moet blijven
  2. BDe minimale tijd vóór de klokflank waarin de data-ingang stabiel moet zijn
  3. CDe tijd van het inschakelen van de voeding tot de werking
Antwoord en toelichting tonen

Antwoord: B. De minimale tijd vóór de klokflank waarin de data-ingang stabiel moet zijn

Opdat een flip-flop correct overneemt, moet de data al een bepaalde tijd vóór de klokflank stabiel zijn; dit is de setup-tijd. Als de vertraging van het datapad de klokperiode min de setup-tijd overschrijdt, is er een schending, die kan worden opgelost door de klok te vertragen. De tijd dat data na de flank moet worden vastgehouden, is de hold-tijd, en als een van beide niet wordt gehaald, kan dat leiden tot het overnemen van een foutieve waarde of metastabiliteit.

Welke omschrijving van de hold-tijd van een flip-flop is juist?

  1. ADe tijd waarin de data-ingang vóór de actieve klokflank vast moet liggen
  2. BDe tijd van de klok tot de verandering van de uitgang
  3. CDe tijd waarin de data-ingang ook na de actieve klokflank ongewijzigd moet blijven
Antwoord en toelichting tonen

Antwoord: C. De tijd waarin de data-ingang ook na de actieve klokflank ongewijzigd moet blijven

De hold-tijd is de minimale tijd waarin de data ook na de klokflank stabiel moeten blijven. Als het pad van de vorige flip-flop naar de volgende te kort is, komen de nieuwe data die op dezelfde flank zijn bijgewerkt te vroeg bij de volgende trap aan en is er een schending. Omdat het niet van de periode afhangt, is het niet op te lossen door de klok te vertragen; de maatregel is buffers in het datapad in te voegen om vertraging toe te voegen. Als het pas na productie wordt gevonden, is de chip onbruikbaar, dus verificatie tijdens het ontwerp is belangrijk.

Welke omschrijving van „clock skew” in een synchroon circuit is juist?

  1. ADe klokfrequentie schommelt in de tijd
  2. BHet verschil in aankomsttijd van het kloksignaal per flip-flop
  3. CDe spanning van het kloksignaal wordt hoger dan de voedingsspanning
Antwoord en toelichting tonen

Antwoord: B. Het verschil in aankomsttijd van het kloksignaal per flip-flop

Clock skew is het verschil waarmee dezelfde klok door verschillen in bedradingslengte en belasting op verschillende tijdstippen bij flip-flops aankomt. Als de klok aan de ontvangende kant later is, is dat gunstig voor setup maar ongunstig voor hold, en omgekeerd. De klokboom die de hele chip bereikt, wordt ontworpen met CTS (clock tree synthesis), en door buffers te plaatsen en bedradingslengtes gelijk te maken wordt de skew tot enkele tientallen ps beperkt. Schommeling van de periode in de tijd is jitter.

  1. Welke timingovertreding bij statische timinganalyse treedt op wanneer het signaal direct na de klokflank te snel verandert, zodat de flipflop de vorige gegevens niet meer correct kan vasthouden?
  2. Waarom wordt statische timinganalyse uitgevoerd onder meerdere voorwaarden met verschillende combinaties van procesvariatie, voedingsspanning en temperatuur?
  3. Welke waarde van de klok-naar-uitgangvertraging van het zendende IC moet je gebruiken om te controleren of aan de holdtijd van het ontvangende IC wordt voldaan?

Oefenvragen over Logische schakelingen

Belangrijke termen uitgelegd

Insteltijd (setup time)
Minimale tijd dat de data-ingang van een flipflop vóór de actieve klokflank stabiel moeten zijn. Paden die hieraan niet voldoen, beperken de maximale werkfrequentie van de schakeling.
Holdtijd
Minimale tijd dat de data-ingang van een flipflop ook na de actieve klokflank ongewijzigd moet blijven. Een overtreding is niet op te lossen door de klokfrequentie te verlagen; de maatregel is het toevoegen van vertraging.
Clockskew
Verschil in aankomsttijd van hetzelfde kloksignaal bij verschillende flipflops. Het verandert de marge voor setup en hold en wordt daarom met clocktreesynthese klein gehouden.
STA (statische timinganalyse)
Methode die de vertraging van elk pad in een schakeling berekent zonder testpatronen te gebruiken, en controleert of aan de timingeisen wordt voldaan.
Metastabiliteit
Toestand waarin de uitgang van een flipflop enige tijd noch 0 noch 1 is, doordat de setup- of holdtijd niet is gehaald. Als maatregel worden asynchrone signalen met een tweetraps-flipflop gesynchroniseerd.

Verwante vergelijkingen