Für einen einzelnen Pfad von Flipflop zu Flipflop wendet dieser Rechner dieselbe Logik wie die statische Timing-Analyse (STA) an, um den Setup- und Hold-Slack zu ermitteln. Ändern Sie Verzögerungen und Skew, um zu sehen, welche Prüfung zuerst scheitert. Alle Werte sind in Nanosekunden.
Ergebnisse
Setup-Slack
–
Hold-Slack
–
Maximale Frequenz
–
Erfüllt Verletzt
Die obere Zeile prüft, ob die spätesten Daten vor der Setup-Frist (gestrichelte Linie) ankommen; die untere Zeile prüft, ob die frühesten Daten nach der Hold-Frist ankommen. Negativer Slack bedeutet eine Verletzung.
Als Diagramm ansehen
Die übrigen Eingaben bleiben auf ihren aktuellen Werten, während die gewählte Eingabe zwischen dem 1/4- und 4-Fachen ihres aktuellen Werts variiert. Der rote Punkt ist der aktuelle Wert.
Die Setup-Prüfung
Der späteste Zeitpunkt, zu dem neue Daten das erfassende Flipflop erreichen, ist die maximale Clock-to-Q-Verzögerung plus die maximale kombinatorische Verzögerung. Die Daten müssen vor der nächsten Capture-Flanke (Periode plus Skew) abzüglich Setup-Zeit und Taktunsicherheit ankommen. Der Setup-Slack ist die Frist minus die Ankunftszeit; ist er negativ, ist die Periode zu kurz, und Sie müssen die Frequenz senken oder die Logik verkürzen.
Die Hold-Prüfung
Die Hold-Prüfung fragt, ob Daten, die mit derselben Taktflanke gestartet wurden, so schnell ankommen, dass sie den Wert verfälschen, den das erfassende Flipflop noch übernimmt. Die früheste Ankunft, also die minimale Clock-to-Q-Verzögerung plus die minimale kombinatorische Verzögerung, muss nach Skew plus Hold-Zeit liegen. Die Taktperiode kommt in der Hold-Prüfung nicht vor, daher behebt ein langsamerer Takt niemals eine Hold-Verletzung; die Tools fügen stattdessen Verzögerungspuffer in den kurzen Pfad ein.
Wie der Skew beide Prüfungen verschiebt
Kommt der Capture-Takt später an als der Launch-Takt (positiver Skew), verschiebt sich die Setup-Frist nach hinten; das hilft beim Setup, schadet aber beim Hold. Negativer Skew bewirkt das Gegenteil. Designer fügen manchmal gezielt Skew hinzu, um einen kritischen Setup-Pfad zu retten (Useful Skew), müssen dann aber Hold erneut prüfen. Die reale STA prüft jeden Pfad im ungünstigsten Fall: Setup an der langsamen Corner und Hold an der schnellen Corner.
Maximale Frequenz
Die Periode, bei der der Setup-Slack genau null ist, ist die minimale Periode des Pfads, und ihr Kehrwert ist die maximale Frequenz: fmax = 1 / (Clock-to-Q + kombinatorische Verzögerung + Setup + Unsicherheit − Skew). Die maximale Frequenz eines Chips wird durch seinen langsamsten Pfad bestimmt, den kritischen Pfad. Zusätzliche Pipeline-Stufen verkürzen die Logik pro Stufe und erhöhen die erreichbare Frequenz.
AMinimale Zeit, die die Daten nach der Taktflanke weiter gehalten werden müssen
BMinimale Zeit, die der Dateneingang vor der Taktflanke stabil sein muss
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.
AZeit, vor der gültigen Taktflanke, in der der Dateneingang feststehen muss
BZeit vom Eintreffen des Takts bis zur Änderung des Ausgangs
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.
Häufige Fragen
Wie unterscheidet sich die Behebung von Setup- und Hold-Verletzungen?
Setup-Verletzungen behebt man, indem man die Taktfrequenz senkt, die Logik beschleunigt oder umstrukturiert oder Pipeline-Stufen hinzufügt. Hold-Verletzungen hängen nicht von der Frequenz ab; man behebt sie, indem man Puffer einfügt, um die Verzögerung im kurzen Pfad zu erhöhen.
Beeinflusst der Taktversatz Setup oder Hold?
Beides, in entgegengesetzte Richtungen. Positiver Skew, bei dem der Capture-Takt später ankommt, hilft beim Setup und schadet beim Hold; negativer Skew bewirkt das Gegenteil.
Was ist Slack in der Timing-Analyse?
Slack ist die Timing-Reserve: die geforderte Zeit minus die tatsächliche Ankunftszeit. Positiver Slack bedeutet, dass die Prüfung bestanden ist; negativer Slack ist eine Verletzung.