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.
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.
Bekijk als grafiek
De andere invoerwaarden blijven gelijk, terwijl de gekozen invoer varieert van 1/4 tot 4 keer de huidige waarde. De rode stip is de huidige waarde.
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.
ADe minimale tijd waarin de data na de klokflank vastgehouden moet blijven
BDe minimale tijd vóór de klokflank waarin de data-ingang stabiel moet zijn
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.
ADe tijd waarin de data-ingang vóór de actieve klokflank vast moet liggen
BDe tijd van de klok tot de verandering van de uitgang
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.