Calculator voor setup- en hold-timing

Voor één pad van flipflop naar flipflop past deze calculator dezelfde redenering toe als statische timinganalyse (STA) om de setup- en hold-slack te bepalen. Wijzig de vertragingen en skew om te zien welke controle het eerst faalt. Alle waarden zijn in nanoseconden.

Invoer (ns)

Resultaten

Setup-slack
–
Hold-slack
–
Maximale frequentie
–

Voldaan Geschonden

De bovenste rij controleert of de laatste data vóór de setup-deadline (stippellijn) aankomen; de onderste rij controleert of de vroegste data na de hold-deadline aankomen. Negatieve slack betekent een schending.

De setupcontrole

Het laatste moment waarop nieuwe data de vangende flipflop kunnen bereiken, is de maximale clock-to-Q-vertraging plus de maximale combinatorische vertraging. De data moeten aankomen vóór de volgende capture-flank (periode plus skew) min de setuptijd en de klokonzekerheid. Setup-slack is de deadline min de aankomsttijd; is die negatief, dan is de periode te kort en moet u de frequentie verlagen of de logica inkorten.

De holdcontrole

De holdcontrole gaat na of data die op dezelfde klokflank zijn gelanceerd zo snel aankomen dat ze de waarde verstoren die de vangende flipflop nog aan het vastzetten is. De vroegste aankomst, de minimale clock-to-Q-vertraging plus de minimale combinatorische vertraging, moet na de skew plus de holdtijd vallen. De klokperiode komt in de holdcontrole niet voor, dus een tragere klok verhelpt nooit een holdschending; tools voegen in plaats daarvan vertragingsbuffers in het korte pad in.

Hoe skew beide controles verschuift

Als de captureklok later aankomt dan de launchklok (positieve skew), schuift de setup-deadline op, wat setup helpt maar hold schaadt. Negatieve skew doet het omgekeerde. Ontwerpers voegen soms bewust skew toe om een kritiek setuppad te redden (useful skew), maar moeten hold dan opnieuw controleren. Echte STA controleert elk pad in het slechtste geval: setup in de trage corner en hold in de snelle corner.

Maximale frequentie

De periode waarbij de setup-slack precies nul is, is de minimale periode voor het pad, en de inverse daarvan is de maximale frequentie: fmax = 1 / (clock-to-Q + combinatorische vertraging + setup + onzekerheid − skew). De maximale frequentie van een chip wordt bepaald door het traagste pad, het kritieke pad. Extra pijplijntrappen verkorten de logica per trap en verhogen de haalbare frequentie.

Oefen vragen over logisch ontwerp

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.

Veelgestelde vragen

Hoe verhelp je setup- en holdschendingen op een verschillende manier?

Setupschendingen verhelp je door de klokfrequentie te verlagen, de logica te versnellen of te herstructureren, of pijplijntrappen toe te voegen. Holdschendingen hangen niet af van de frequentie en worden verholpen door buffers toe te voegen om de vertraging in het korte pad te vergroten.

Beïnvloedt klokskew setup of hold?

Beide, in tegengestelde richting. Positieve skew, waarbij de captureklok later aankomt, helpt setup en schaadt hold; negatieve skew doet het omgekeerde.

Wat is slack in timinganalyse?

Slack is de timingmarge: de vereiste tijd min de werkelijke aankomsttijd. Positieve slack betekent dat de controle slaagt; negatieve slack is een schending.

Verwante begrippen

Insteltijd (setup time) Holdtijd Clockskew STA (statische timinganalyse) Metastabiliteit Jitter

Halfgeleider-rekentools

Calculator voor dies per wafer en yieldDies per wafer, yield (Poisson, Murphy, negatief binomiaal) en kosten per goede die, met wafermapCalculator voor lithografie-resolutie en focusdiepteResolutie (half-pitch), focusdiepte en pitchsplitsing uit golflengte, NA en k1MOSFET-I-V-karakteristiek (ID–VDS)Wijzig Vth, W/L en λ en bekijk de ID–VDS-curven en het werkpunt: gebied, ID, gm en roVragenset makenKies onderwerpen en een aantal vragen en krijg een deelbare quizlink voor lessen en trainingenCalculator voor junctietemperatuur en thermische weerstandJunctietemperatuur, marge tot Tj(max) en maximaal vermogen uit gedissipeerd vermogen en thermische weerstandCalculator voor geheugenbandbreedtePiek- en effectieve bandbreedte van DDR, LPDDR, GDDR en HBM uit transfersnelheid en busbreedteADC-SNR en effectief aantal bits (ENOB)SNR en effectief aantal bits van een ADC uit resolutie, klokjitter en oversamplingWet van Amdahl en parallelle speedupSpeedup en parallelle efficiëntie uit de parallelle fractie en het aantal processors, volgens de wetten van Amdahl en GustafsonCacheadres opsplitsen en gemiddelde geheugentoegangstijdTag-, index- en offsetbits en gemiddelde geheugentoegangstijd uit cachegrootte, regelgrootte en associativiteitVermogensverbruik van CMOS (dynamisch en statisch)Dynamisch en statisch vermogen uit activiteitsfactor, capaciteit, spanning, frequentie en lekstroom, plus het vermogen na DVFSIngebouwde spanning en depletiebreedte van een pn-junctieIngebouwde spanning, depletiebreedte, piekveld en junctiecapaciteit van een pn-junctie uit dotering en sperspanningDikte van thermisch oxide (Deal-Grove-model)Dikte van siliciumoxide en verbruikt silicium uit temperatuur, tijd, droge of natte atmosfeer en oriëntatie, met het Deal-Grove-model