Digital Logic Designer hier. Die tatsächliche Zeit, die ein Logiknetzwerk benötigt, um sich als Reaktion auf ein Eingangssignal zu ändern, ist die Ausbreitungsverzögerung . Stellen Sie sich das System vor als:
registers A,B,C... ---> logic cloud ---> registers A',B',C'
Die "Startuhr" ist die Taktflanke, zu der sich der erste Registersatz ändert. Die "Erfassungstakt" ist die nächste Taktflanke eine Periode später. Damit das System funktioniert, muss die Ausgabe der Logikwolke stabil sein, bevor der Erfassungstakt eintrifft.
Der Prozess, um sicherzustellen, dass dies funktioniert, ist die Timing-Analyse. Ermitteln Sie mithilfe einer physikbasierten Simulation des Systems die ungünstigste Ankunftszeit aller Eingaben für alle Ausgaben. Die größte dieser Zahlen im System legt die minimale Taktperiode fest.
Beachten Sie den schlimmsten Fall . Die tatsächliche Ausbreitungszeit ist kürzer, hängt jedoch von den Schwankungen des Herstellungsprozesses, der aktuellen Temperatur und der Chipspannung ( PVT ) ab. In der Praxis bedeutet dies, dass Sie eine schnellere Taktung anwenden können (Übertakten) und dies möglicherweise funktioniert. Es kann auch anfangen, Fehler zu produzieren, wie zum Beispiel zu entscheiden, 0x1fffffff + 1 = 0x1f000000
ob das Übertragsbit nicht rechtzeitig ankommt.
Chips können auch mehr als einen Takt an Bord haben (normalerweise ist der FSB langsamer als der Kern), und der tatsächliche Takt kann zu Zwecken der Wärmesteuerung hoch- oder heruntergefahren oder variiert werden (MSalters Antwort zur Verwendung des Streuspektrums zum Bestehen von EMV-Tests).