Halbleitertechnologie von A bis Z

Alles über Halbleiter und die Waferfertigung

1. Grundbegriffe der statischen Timing-Analyse

Die statische Timing-Analyse (Static Timing Analysis, STA) prüft, ob ein digitaler Schaltkreis bei einer gegebenen Taktfrequenz zuverlässig arbeitet, ohne die Schaltung wie bei einer Simulation tatsächlich zu betreiben. Dazu wird jeder Pfad zwischen zwei aufeinanderfolgenden Flip-Flops betrachtet: Das sendende Flip-Flop gibt seinen Wert nach der Clock-to-Q-Verzögerung tCQ – je nach Technologie und Zelle typischerweise im Bereich von 20 bis 100 Pikosekunden – an seinem Ausgang aus, der Wert durchläuft anschließend die kombinatorische Logik mit der Verzögerung tLogik, bevor er am Dateneingang des empfangenden Flip-Flops ankommen muss.

Damit das empfangende Flip-Flop den Wert korrekt übernimmt, muss dieser bereits eine bestimmte Zeit vor der aktiven Taktflanke stabil anliegen (Setup-Zeit tsetup, häufig 20 bis 50 ps) und darf sich auch nach der Taktflanke für eine bestimmte Mindestzeit nicht mehr ändern (Hold-Zeit thold, häufig nur wenige Pikosekunden bis etwa 20 ps). Werden diese Zeitfenster verletzt, kann das Flip-Flop in einen metastabilen Zustand geraten, in dem der Ausgang für unbestimmte Zeit zwischen den beiden logischen Pegeln schwankt.

2. Der Setup-Check

Der Setup-Check stellt sicher, dass ein Signal rechtzeitig vor der nächsten Taktflanke am Zielregister ankommt. Für eine Taktperiode T mit Taktversatz Δtskew zwischen sendendem und empfangendem Flip-Flop muss gelten: T + Δtskew ≥ tCQ + tLogik + tsetup. Die Differenz zwischen der verfügbaren Zeit und der tatsächlich benötigten Zeit wird als Setup-Slack bezeichnet; ist der Slack negativ, verletzt der Pfad die geforderte Taktfrequenz und muss durch schnellere Zellen, weniger Logikstufen oder eine Reduktion der Taktfrequenz korrigiert werden. Bei einer Taktperiode von beispielsweise 1 ns (entsprechend 1 GHz), einem tCQ von 40 ps, einer Logikverzögerung von 700 ps und einer Setup-Zeit von 30 ps ergibt sich ein Slack von rund 230 ps – deutlich positiv und damit unkritisch.

Der kritische Pfad einer Schaltung ist derjenige Pfad mit dem geringsten Setup-Slack; er bestimmt die maximal mögliche Taktfrequenz des gesamten Chips. Da Herstellungsschwankungen, Versorgungsspannung und Temperatur die Gatterlaufzeiten beeinflussen und Gatterverzögerungen dabei um 20 bis 30 % variieren können, wird der Setup-Check stets für den langsamsten spezifizierten Prozess-, Spannungs- und Temperaturzustand (Slow-Corner) durchgeführt.

3. Der Hold-Check und die Rolle des Taktversatzes

Der Hold-Check stellt sicher, dass ein Signal nicht zu schnell am Zielregister ankommt und dort noch den alten Wert der vorherigen Taktperiode überschreibt, bevor die neue Taktflanke das Zielregister erreicht hat. Die Bedingung lautet tCQ + tLogik ≥ thold + Δtskew; im Gegensatz zum Setup-Check spielt hier die Taktperiode T keine Rolle, da Hold-Verletzungen unabhängig von der Taktfrequenz auftreten und daher nicht durch ein langsameres Takten behoben werden können.

Hold-Verletzungen werden stattdessen durch das gezielte Einfügen zusätzlicher Pufferzellen im betroffenen Pfad korrigiert, welche die Signallaufzeit tLogik künstlich verlängern – eine einzelne Pufferstufe fügt dabei je nach Zellgröße und Technologie typischerweise 10 bis 30 ps zusätzliche Verzögerung hinzu. Da der Hold-Check für den schnellsten Prozess-, Spannungs- und Temperaturzustand (Fast-Corner) am kritischsten ist, wird die statische Timing-Analyse üblicherweise über mehrere solcher Eckfälle (Corner-Analyse) – oft eine Kombination aus mindestens Slow-Slow-, Typical-Typical- und Fast-Fast-Bedingungen bei jeweils mehreren Spannungs- und Temperaturpunkten – hinweg durchgeführt, um sowohl Setup- als auch Hold-Verletzungen unter allen Betriebsbedingungen auszuschließen.