Setup- vs. Hold-Zeit: Definition, Verzögerung, Frequenz, Behebung

Beide sind Zeitbedingungen dafür, dass ein Flip-Flop Daten korrekt übernimmt, gelten aber in entgegengesetzter Richtung. Die Setup-Zeit ist die Zeit, die die Daten vor der Taktflanke stabil sein müssen; geprüft wird, ob die Daten zu spät kommen. Die Hold-Zeit ist die Zeit, die die Daten nach der Flanke gehalten werden müssen; geprüft wird, ob die Daten zu früh kommen. In die Setup-Bedingung geht die Taktperiode ein, daher lässt sie sich durch einen langsameren Takt beheben; die Hold-Bedingung vergleicht dieselbe Flanke, daher hilft eine niedrigere Frequenz nicht.

MerkmalSetup-ZeitHold-Zeit
DefinitionMinimale Zeit, die die Daten vor der aktiven Taktflanke stabil sein müssenMinimale Zeit, die die Daten nach der aktiven Taktflanke unverändert bleiben müssen
Was geprüft wirdOb die Daten zu spät kommen, d. h. ob sie die nächste Flanke rechtzeitig erreichenOb die Daten zu früh kommen, d. h. ob an derselben Flanke neue Daten durchrutschen
Verglichene FlankenFlanke auf der Sendeseite und die eine Periode spätere Flanke auf der EmpfangsseiteDieselbe Flanke auf Sende- und Empfangsseite
Geprüfte VerzögerungMaximale (max) Verzögerung. Der langsamste PfadMinimale (min) Verzögerung. Der schnellste Pfad
Bedingung (Richtwert)tcq(max) + tlogic(max) + tsu ≤ T + tskewtcq(min) + tlogic(min) ≥ th + tskew (tskew positiv, wenn der Takt auf der Empfangsseite verzögert ist)
Bezug zur TaktfrequenzDie Periode T geht in die Bedingung ein. Bestimmt die maximale BetriebsfrequenzDie Periode geht nicht in die Bedingung ein. Unabhängig von der Frequenz
Einfluss des Clock SkewIst der Takt auf der Empfangsseite verzögert, steigt die ReserveIst der Takt auf der Empfangsseite verzögert, sinkt die Reserve
Behebung von VerletzungenLogiktiefe verringern, auf Zellen mit höherer Treiberstärke oder schnellere Zellen mit niedriger Schwellenspannung wechseln, Zellen näher zusammen platzieren, Pfade durch Pipelining aufteilen, Takt verlangsamenVerzögerungspuffer in den Datenpfad einfügen, auf langsamere Zellen mit hoher Schwellenspannung wechseln, Clock Skew anpassen
Kritischer CornerLangsame Bedingungen: langsamer Prozess, niedrige Spannung, hohe Temperatur (in feinen Prozessen ist mitunter niedrige Temperatur langsamer)Schnelle Bedingungen: schneller Prozess, hohe Spannung, niedrige Temperatur usw.
Wenn erst am fertigen Chip entdecktFunktioniert mit langsamerem Takt, bei geringerer LeistungLässt sich durch niedrigere Frequenz nicht beheben; der Chip arbeitet nicht korrekt. Zur Korrektur ist oft eine Designänderung nötig

Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welche Variante?

Setup-Zeit
Bei der Festlegung der maximalen Betriebsfrequenz und beim Aufspüren und Beschleunigen langsamer Pfade. In der statischen Timing-Analyse wird mit max-Verzögerung und langsamen Corners geprüft.
Hold-Zeit
Wenn die Pfade zwischen Flip-Flops kurz sind oder der Clock Skew groß ist. Geprüft wird mit min-Verzögerung und schnellen Corners; behoben wird meist nach dem Aufbau des Taktbaums.
Kombination
Die Behebung der einen Verletzung kann die andere verschlechtern. Werden zur Behebung von Hold-Verletzungen zu viele Puffer eingefügt, sinkt die Setup-Reserve; beide Bedingungen müssen daher in allen Corners gleichzeitig erfüllt sein.

Häufige Fragen

Warum lässt sich eine Hold-Verletzung nicht durch einen langsameren Takt beheben?

Weil die Hold-Bedingung dieselbe Taktflanke auf Sende- und Empfangsseite vergleicht und die Taktperiode daher nicht in die Bedingung eingeht. Behoben wird sie, indem die Pfadverzögerung selbst geändert wird, etwa durch Einfügen von Puffern in den Datenpfad.

Warum wird für Setup die max- und für Hold die min-Verzögerung verwendet?

Bei Setup kommt es darauf an, ob die Daten auch bei spätestem Eintreffen die nächste Flanke rechtzeitig erreichen, daher wird mit der maximalen Verzögerung geprüft. Bei Hold kommt es darauf an, ob neue Daten bei frühestem Eintreffen die vorherigen Daten nicht zerstören, daher wird mit der minimalen Verzögerung geprüft.

Was passiert, wenn Setup- oder Hold-Zeit nicht eingehalten werden?

Das Flip-Flop übernimmt einen falschen Wert, oder der Ausgang gerät in einen metastabilen Zustand, in dem er eine Zeit lang weder 0 noch 1 ist. Bei asynchronen Signalen lässt sich dies nicht vollständig vermeiden, daher werden sie über zwei oder mehr Flip-Flop-Stufen synchronisiert übernommen.

Verständnis prüfen

Welche Aussage zur Setup-Zeit eines Flipflops ist richtig?

  1. AMinimale Zeit, die die Daten nach der Taktflanke weiter gehalten werden müssen
  2. BMinimale Zeit, die der Dateneingang vor der Taktflanke stabil sein muss
  3. CZeit vom Einschalten der Versorgung bis zum Betrieb
Antwort und Erläuterung anzeigen

Antwort: B. Minimale Zeit, die der Dateneingang vor der Taktflanke stabil sein muss

Damit ein Flipflop korrekt übernimmt, müssen die Daten schon eine gewisse Zeit vor der Taktflanke stabil sein; dies ist die Setup-Zeit. Überschreitet die Verzögerung des Datenpfads die Taktperiode abzüglich der Setup-Zeit, liegt eine Verletzung vor, die sich durch einen langsameren Takt beheben lässt. Die Zeit, die die Daten nach der Flanke gehalten werden müssen, ist die Hold-Zeit; wird eine der beiden nicht eingehalten, kommt es zur Übernahme falscher Werte oder zu Metastabilität.

Welche Aussage zur Hold-Zeit eines Flipflops ist richtig?

  1. AZeit, vor der gültigen Taktflanke, in der der Dateneingang feststehen muss
  2. BZeit vom Eintreffen des Takts bis zur Änderung des Ausgangs
  3. CZeit, in der der Dateneingang auch nach der gültigen Taktflanke unverändert gehalten werden muss
Antwort und Erläuterung anzeigen

Antwort: C. Zeit, in der der Dateneingang auch nach der gültigen Taktflanke unverändert gehalten werden muss

Die Hold-Zeit ist die minimale Zeit, die die Daten auch nach der Taktflanke stabil bleiben müssen. Ist der Pfad vom vorherigen Flipflop zum nächsten zu kurz, kommen mit derselben Flanke aktualisierte neue Daten zu früh an der nächsten Stufe an, und es liegt eine Verletzung vor. Da sie von der Periode unabhängig ist, lässt sie sich auch durch einen langsameren Takt nicht beheben; Abhilfe schafft das Einfügen von Puffern in den Datenpfad zur Erhöhung der Verzögerung. Wird sie erst nach der Fertigung entdeckt, ist der Chip unbrauchbar, weshalb die Verifikation im Entwurf wichtig ist.

Welche Aussage zum „Clock Skew“ synchroner Schaltungen ist richtig?

  1. ADie Taktfrequenz schwankt mit der Zeit
  2. BUnterschied der Ankunftszeit des Taktsignals an den einzelnen Flipflops
  3. CDie Spannung des Taktsignals wird höher als die Versorgungsspannung
Antwort und Erläuterung anzeigen

Antwort: B. Unterschied der Ankunftszeit des Taktsignals an den einzelnen Flipflops

Der Clock Skew ist der Unterschied der Zeitpunkte, zu denen derselbe Takt aufgrund unterschiedlicher Leitungslängen und Lasten an den einzelnen Flipflops ankommt. Verzögert sich der Takt auf der Empfangsseite, ist das für Setup günstig, für Hold aber ungünstig, und umgekehrt. Der Taktbaum, der den gesamten Chip erreicht, wird per CTS (Clock Tree Synthesis) entworfen, und der Skew wird durch Anordnung der Puffer und Angleichen der Leitungslängen auf einige zehn ps oder weniger gehalten. Zeitliche Schwankungen der Periode sind Jitter.

  1. Welche Timing-Verletzung liegt vor, wenn sich ein Signal in der statischen Timing-Analyse unmittelbar nach der Taktflanke zu schnell ändert und das Flipflop den vorherigen Wert nicht mehr korrekt halten kann?
  2. Welcher Grund dafür, die statische Timing-Analyse unter mehreren Kombinationen aus Prozessstreuung, Versorgungsspannung und Temperatur durchzuführen, ist richtig?
  3. Welcher Wert der Verzögerung Takt → Ausgang des sendenden ICs ist zu verwenden, wenn geprüft wird, ob die Hold-Zeit des Empfängers eingehalten wird?

Übungsfragen zu Logikschaltungen

Wichtige Begriffe erklärt

Setup-Zeit
Minimale Zeit, die der Dateneingang eines Flipflops vor der aktiven Taktflanke stabil anliegen muss. Pfade, die sie nicht einhalten, begrenzen die maximale Taktfrequenz der Schaltung.
Hold-Zeit
Mindestzeit, die der Dateneingang eines Flipflops nach der aktiven Taktflanke stabil bleiben muss. Eine Verletzung lässt sich nicht durch Absenken der Taktfrequenz beheben, sondern durch zusätzliche Verzögerung.
Taktversatz (Clock Skew)
Zeitunterschied, mit dem dasselbe Taktsignal bei den einzelnen Flipflops eintrifft. Da er die Setup- und Hold-Reserven verändert, wird er bei der Clock-Tree-Synthese klein gehalten.
STA (statische Timing-Analyse)
Verfahren, das die Verzögerung jedes Pfads einer Schaltung ohne Testmuster berechnet und prüft, ob die Timing-Vorgaben eingehalten werden.
Metastabilität
Zustand, in dem der Ausgang eines Flipflops bei verletzter Setup- oder Hold-Zeit eine Zeit lang weder 0 noch 1 ist. Asynchrone Signale werden mit einem zweistufigen Flipflop synchronisiert.

Verwandte Vergleiche