This website requires JavaScript.
Gutscheine App herunterladen
Ausliefern
Blog

Grundlagen des Timings digitaler Schaltungen: Setup, Hold, Kontaminationsverzögerung und Taktsignalverschiebung

Ursprünglich veröffentlicht Jan 16, 2026, aktualisiert Jan 16, 2026

7 min

Inhaltsverzeichnis
  • Timing-Parameter im digitalen Design:
  • Propagation Delay vs. Contamination Delay:
  • Clock Skew:
  • Setup-Zeit:
  • Hold-Zeit:
  • Timing-Pfade in einer digitalen Schaltung:
  • Timing-Gleichungen:
  • Numerisches Beispiel (Einzyklus-Pfad):
  • Häufige Ursachen von Verletzungen und praktische Lösungen:
  • Fazit

Dies ist der zweite Artikel der Serie über Propagationsverzögerung in digitalen Schaltungen. Es gibt zwei Hauptpunkte, auf die wir bei der Gestaltung einer digitalen Schaltung achten müssen: Der erste ist die Funktionalität, und der zweite ist das Timing. Die Grundbausteine haben wir bereits in einem früheren Artikel behandelt. Denn Zeit ist in der Elektronik nichts anderes als die Takte der Uhr. Da alles auf diesen Takten basiert, bestimmt dies die Betriebsgeschwindigkeit, Frequenz und vieles mehr in einer elektronischen Schaltung. Wir haben bereits Schaltungen gesehen, die nur synchron zum Takt arbeiten, sogenannte sequentielle Schaltungen. Beim Arbeiten mit einem Mikrocontroller, FPGA oder ASIC müssen die Timing-Vorgaben eingehalten werden, um das korrekte Funktionieren der Schaltung sicherzustellen. Heute werden wir uns anschauen, welche Arten von Timing-Vorgaben es gibt, auf die wir achten müssen. Dieser Leitfaden behandelt die Grundlagen: Setup-Zeit, Hold-Zeit, Contamination- (Minimale) Verzögerung und Clock Skew, und zeigt, wie sie in Timing-Gleichungen und realen Designs zusammenwirken.

Timing-Parameter im digitalen Design:

Für kombinatorische Blöcke sind zwei Verzögerungsmetriken wichtig:

• Tpd (Propagation Delay, max): Die längste mögliche Verzögerung durch kombinatorische Schaltungselemente, verwendet für Setup-Prüfungen.
• Tcd (Contamination Delay, min): Die kürzeste mögliche Verzögerung, verwendet für Hold-Prüfungen.
• Taktperiode (Tclk): Die Zeit zwischen aufeinanderfolgenden Taktflanken, die für einen Pfad genutzt wird.

Propagation Delay vs. Contamination Delay:

Propagation Delay (Tpd, max): Die schlimmste Verzögerung (längste) durch ein Gate/Logikblock. Wird für Setup-Prüfungen verwendet, da sichergestellt werden muss, dass die zuletzt ankommenden Daten das Setup erfüllen.

  • Contamination/Min Delay (Tcd/min): Die beste Verzögerung (kürzeste) durch ein Gate/Logikblock. Wird für Hold-Prüfungen verwendet, um zu berücksichtigen, wie früh ein geändertes Signal am Capture-Flip-Flop erscheinen kann.

Clock Skew:

Die Zeitdifferenz beim Eintreffen des Taktsignals zwischen dem Ausgangs-Flip-Flop und dem Ziel-Flip-Flop. Dies kann durch lange Systemleitungen vom Takt zu Flip-Flop A und B verursacht werden. Es entsteht ein Timing-Mismatch, da Signale nicht gleichzeitig bei allen Flip-Flops ankommen. Die Hauptquellen für Skew sind: Ungleichgewicht im Clock-Tree, Routing-Unterschiede, Buffers, Synthese/CTS-Entscheidungen, lokale Taktabschaltungen und PLL/BUF-Jitter.

  • Positiver Skew: Der Capture-Takt kommt später als der andere Logikblock.
  • Negativer Skew: Der Capture-Takt kommt früher als der andere Logikblock.

Der Skew kann absichtlich eingeführt werden, um das Timing zu verbessern (häufig, um das Setup auf einem kritischen Pfad zu entspannen), während Hold-Vorgaben weiterhin eingehalten werden.

Setup-Zeit:

Setup-Zeit (Tsu) ist das minimale Intervall vor der aktiven Taktflanke, währenddessen die Eingangsdaten eines Flip-Flops stabil sein müssen. Wenn die Daten vor dieser Taktflanke nicht stabil sind, kommt es zu Setup-Verletzungen. Kommen die Daten zu spät an, kann das Capture-Flip-Flop einen falschen Wert erfassen.

Timing-Prüfung: Die Setup-Zeit wird meist durch ungeeignete Propagationsverzögerungen verletzt. Wenn die Verzögerung vom ersten Flip-Flop länger ist als die nächste Taktflanke, wird kein korrektes Erfassen der Daten erfolgen, und die Daten erscheinen entweder nach der Taktflanke oder vielleicht gleichzeitig, was das Flip-Flop in Metastabilität treiben kann.

Hold-Zeit:

Hold-Zeit (Thold) ist das minimale Intervall nach der aktiven Taktflanke, währenddessen die Eingangsdaten stabil bleiben müssen. Ändern sich die Daten zu schnell nach der Launch-Flanke und kommen am Capture-Flip-Flop an, bevor der interne Sampling-Latch die Daten gehalten hat, kann das Capture-Flip-Flop einen fehlerhaften Wert erfassen.

Timing-Prüfung: Das frühestmögliche Eintreffen neuer Daten wird durch Tcq + Tcd gegeben. Dies darf das Capture-Flip-Flop nicht erreichen, bevor das Capture-Flip-Flop seine Hold-Zeit abgeschlossen hat.

Timing-Pfade in einer digitalen Schaltung:

Ein typischer synchroner Timing-Pfad sieht wie folgt aus. Wir betrachten jeden Teil einzeln:

Launch Edge (Flip-Flop A) → Tcq (Clock-to-Q) → Kombinatorische Logik → Tpd/Tcd (Propagation/Contamination) → Capture Flip-Flop B → Setup/Hold-Prüfungen

  • Launch-Ereignis: Flip-Flop A erzeugt einen neuen Datenwert nach seinem Taktereignis. Der Ausgang dieses Flip-Flops ist nun auf diesen Wert fixiert. Diese Daten propagieren durch die kombinatorische Logik.
  • Capture-Ereignis: Die Daten sind die Ausgangsleitung von Flip-Flop A, die als Eingang für Flip-Flop B dient. Es wird die Daten an der nächsten relevanten Taktflanke erfassen.
    Launch und Capture sind die ersten und letzten Ereignisse im Timing-Pfad, dazwischen passiert jedoch viel, was im nächsten Abschnitt besprochen wird.

Timing-Gleichungen:

Setup:

Hold:

Dabei ist Jclk der Takt-Jitter (positiver Jitter wird konservativ zur Setup-Gleichung hinzugefügt und entsprechend für Hold subtrahiert oder addiert, als Sicherheitsmarge. Jitter wird als Reduktion der verfügbaren Timing-Marge behandelt).

Numerisches Beispiel (Einzyklus-Pfad):

Gegeben (typische Zahlen):

  • Tclk = 5,0 ns (Zielperiode)
    • Tskew = +0,10 ns (Capture-Takt kommt 0,1 ns später)
    • Tcx (Tcq) = 0,12 ns (Clock-to-Q)
    • Tpd = 2,80 ns (max. kombinatorische Propagation)
    • Tsu = 0,08 ns (Setup-Zeit)
    • Tcd = 0,02 ns (Contamination/Minimale Verzögerung)
    • Thold = 0,05 ns (Flip-Flop-Hold-Anforderung)

Setup-Prüfung:

Erforderliche Periode: Tcq + Tpd + Tsu - Tskew = 0,12 + 2,80 + 0,08 - 0,10 = 2,90 ns

Slack_setup = Tclk - 2,90 = 5,00 - 2,90 = 2,10 ns → PASS (komfortable Marge).

Hold-Prüfung:

Zulässige Hold-Zeit = Tcq + Tcd - Tskew = 0,12 + 0,02 - 0,10 = 0,04 ns

Slack_hold = 0,04 - Thold = 0,04 - 0,05 = -0,01 ns → HOLD-VERLETZUNG um 10 ps.



Der Pfad erfüllt das Setup problemlos (großer Slack), aber ein sehr schneller Pfad verursacht eine

Häufige Ursachen von Verletzungen und praktische Lösungen:

Setup-Verletzungen (typische Lösungen):

• Pfad zu lang: Lösung: Pipeline/Register einfügen, Logiktiefe reduzieren oder Algorithmus umstrukturieren.

• Langsamer Prozessbereich: Verbesserung durch schnellere Bibliothekszellen (höhere Treiberstärke), VDD erhöhen und Routing verbessern, um Tpd zu reduzieren.

Hold-Verletzungen (typische Lösungen):

• Pfad zu schnell: absichtliche Verzögerung hinzufügen (Buffer/Inverter platzieren), minimale Verzögerung beim Place-and-Route einsetzen oder den Pfad länger routen.

• Mehrzyklischer Pfad: Den spezifischen Pfad in einen Mehrzyklus-Pfad umwandeln, wenn funktional erlaubt (Mehrzyklus-Pfade sicher im STA-Tool markieren).

Design-Tricks (nützlicher Skew, Mehrzyklus-Pfade, Retiming):

• Nützlicher Skew: Hier wird der Skew absichtlich eingeführt, um das Setup auf einem kritischen Pfad zu entspannen, während Hold sicher bleibt. Eine fortgeschrittene Technik nach sorgfältiger Analyse.

• Mehrzyklische Pfade: Wenn ein Pfad architektonisch mehrere Zyklen benötigt, markieren wir ihn im STA (Static Timing Analysis) als Mehrzyklus. Geeignete Constraints müssen gesetzt werden, anstatt Einzyklus-Timing zu erzwingen.

Fazit

In diesem Artikel haben wir Setup-Zeit und Hold-Zeit detaillierter mit Beispielen betrachtet. Die Contamination-Delay und Clock-Skew sind mit den Timing-Gleichungen verknüpft. Setup wird durch Worst-Case (max) Verzögerungen bestimmt, Hold durch Best-Case (min) Verzögerungen. Einige Design-Tricks mit typischen Verletzungen und Lösungen wurden ebenfalls gezeigt. Bei digitalen Schaltungen ist nicht nur die Funktionalität, sondern auch das Timing ebenso wichtig. Die Serie wird in Zukunft weitere Konzepte rund um digitales Design und Timing behandeln. Besuchen Sie die JLCPCB-Sektion, um dieses Wissen schnell zu erlangen.