Eine umfassende statische Timing-Analyse umfasst die Analyse von Register-zu-Register-, I/O- und Rücksetzpfaden. Der Timing Analyzer verwendet die benötigten Datenzeiten, Datenankunftszeiten und Taktankunftszeiten, um die Schaltkreisleistung zu überprüfen und mögliche Timing-Verletzungen zu erkennen. Der Timing-Analyzer bestimmt die Timing-Beziehungen, die erfüllt werden müssen, damit das Design korrekt funktioniert, und überprüft die Ankunftszeiten mit den für die Verifizierung des Timings erforderlichen Zeiten.
Clock-Setup-Überprüfung
Um eine Takt-Setup-Überprüfung durchzuführen, bestimmt der Timing Analyzer eine Setup-Beziehung, indem jeder Start und Riegelrand für jeden Register-zu-Register-Pfad analysiert wird. Für jeden Riegelrand im Zielregister verwendet der Timing Analyzer den nächstgelegenen vorherigen Taktrand im Quellenregister als Startrand.
In Abbildung 1 werden zwei Setup-Beziehungen definiert und mit Setup A und Setup B gekennzeichnet. Für den Riegelrand bei 10 ns befindet sich der nächste Takt, der als Startrand fungiert, bei 3 ns und ist mit Setup A gekennzeichnet. Für den Riegelrand bei 20 ns beträgt der nächste Takt, der als Startrand fungiert, 19 ns und ist mit Setup B gekennzeichnet.
Der Timing Analyzer meldet das Ergebnis von Clock-Setup-Checks als Slack-Werte. Slack ist der Spielraum, mit dem eine Zeitablaufanforderung erfüllt ist oder nicht erfüllt ist. "Positives Slack" bezeichnet den Spielraum, um den eine Anforderung erfüllt wird, und "negatives Slack" bezeichnet den Spielraum, mit dem eine Anforderung nicht erfüllt wird. Der Timing Analyzer bestimmt das Takt-Setup-Slack, wie in Gleichung 1 für interne Register-zu-Register-Pfade gezeigt.
Gleichung 1
Clock Setup Slack = Benötigte Datenzeit – Datenankunftszeit
Daten erforderlich = Ankunftszeit der Uhr – μtSU – Setup-Unsicherheit
Uhrzeit der Ankunft = Verzögerung des Verriegelungsrands + Taktnetzwerks zum Zielregister
Datenankunftszeit = Startrand + Takt-Netzwerkverzögerungs-Quellenregister + μtCO + Register-to-Register-Verzögerung
Wenn der Datenpfad von einem Eingabe-Port zu einem internen Register stammt, verwendet der Timing Analyzer die in Gleichung 2 gezeigten Gleichungen, um die Setup-Slack-Zeit zu berechnen.
Gleichung 2
Slack-Zeit für Takteinrichtung = Benötigte Datenzeit – Datenankunftszeit
Datenankunftszeit = Startrand + Taktnetzwerkverzögerung zum Quellenregister + maximale Eingabeverzögerung der Pin + Pin zur Registrierungsverzögerung
Erforderliche Datenzeit = Verzögerung des Verriegelungsrands + Taktnetzwerks zum Zielregister – μtSU
Wenn der Datenpfad ein internes Register zu einem Ausgabeport ist, verwendet der Timing Analyzer die in Gleichung 3 gezeigten Gleichungen, um die Setup-Slack-Zeit zu berechnen.
Gleichung 3
Slack-Zeit für Takteinrichtung = Benötigte Datenzeit – Datenankunftszeit
Datenankunftszeit = Startrand + Taktnetzwerkverzögerung zum Quellenregister + μtCO + Register auf Pin-Verzögerung
Erforderliche Datenzeit = Verzögerung des Verriegelungsrands + Taktnetzwerks zum Zielregister – maximale Ausgabeverzögerung der Pin
Clock-Hold-Check
Um eine Clock-Hold-Prüfung durchzuführen, bestimmt der Timing Analyzer eine Hold-Beziehung für jede mögliche Setup-Beziehung, die für alle Quell- und Zielregisterpaare besteht. Der Timing Analyzer überprüft alle angrenzenden Taktkanten aus allen Setup-Beziehungen, um die Hold-Beziehungen zu bestimmen. Der Timing Analyzer führt zwei Hold-Checks für jede Setup-Beziehung durch. Die erste Halteprüfung bestimmt, dass die vom aktuellen Startrand gestarteten Daten nicht vom vorherigen Verriegelungsrand erfasst werden. Die zweite Halteprüfung bestimmt, dass die vom nächsten Startrand gestarteten Daten nicht vom aktuellen Verriegelungenrand erfasst werden.
Abbildung 2 zeigt zwei Setup-Beziehungen, die als Setup A und Setup B gekennzeichnet sind. Die erste Halteprüfung ist mit "Hold Check A1" bzw. "Hold Check B1" für Setup A bzw. Setup B gekennzeichnet. Die zweite Halteprüfung ist mit "Hold Check A2" bzw. "Hold Check B2" für Setup A bzw. Setup B gekennzeichnet.
Aus den möglichen Hold-Beziehungen wählt der Timing Analyzer die halte Beziehung, die am restriktivsten ist. Die Hold-Beziehung mit dem kleinsten Unterschied zwischen der Verriegelung und dem Startrand (d. h. die Verriegelung – starten und nicht der absolute Wert von Verriegelung – Start) wird ausgewählt, da dies die minimale zulässige Verzögerung für den Register-to-Register-Pfad bestimmt. In Abbildung 2 ist die ausgewählte Hold-Beziehung Hold Check A2. Der Timing-Analyzer bestimmt den Takt-Hold-Slack, wie in Gleichung 4 gezeigt.
Gleichung 4
Clock Hold Slack = Datenankunftszeit – Daten erforderlich
Erforderliche Datenzeit = Uhrzeit der Ankunft + μtH + Unsicherheit halten
Uhrzeit der Ankunft = Verzögerung des Verriegelungsrands + Taktnetzwerks zum Zielregister
Datenankunftszeit = Startrand + Taktnetzwerkverzögerung zum Quellenregister +μtCO+ Registrieren, um Verzögerung zu registrieren
Wenn der Datenpfad von einem Eingabe-Port zu einem internen Register stammt, verwendet der Timing-Analyzer die in Gleichung 5 gezeigten Gleichungen, um die Hold-Slack-Zeit zu berechnen.
Gleichung 5
Slack-Zeit für Takteinrichtung = Datenankunftszeit – Daten erforderlich
Datenankunftszeit = Startrand + Taktnetzwerkverzögerung zum Quellenregister + Minimale Eingabeverzögerung der Pin + Pin zur Registrierungsverzögerung
Erforderliche Datenzeit = Verriegelungsrand + Taktnetzwerkverzögerung zum Zielregister + μtH
Wenn der Datenpfad ein internes Register zu einem Ausgabeport ist, verwendet der Timing Analyzer die in Gleichung 6 gezeigten Gleichungen, um die Hold-Slack-Zeit zu berechnen.
Gleichung 6
Slack-Zeit für Takteinrichtung = Datenankunftszeit – Daten erforderlich
Datenankunftszeit = Startrand + Taktnetzwerkverzögerung zum Quellenregister + μtCO + Register auf Pin-Verzögerung
Erforderliche Datenzeit = Verzögerung des Verriegelungsrands + Taktnetzwerks zum Zielregister – Minimale Ausgabeverzögerung der Pin
Wiederherstellung und Entfernung
Die Wiederherstellungszeit ist die mindeste Zeitspanne, die ein Steuerungssignal beispielsweise eingeht und vor dem nächsten aktiven Taktrand stabil sein muss. Die Rückgewinnungs-Slack-Zeitberechnung ist der Takteinrichtungs-Slack-Zeitberechnung ähnlich, wendet aber Kontrollsignale an. Wenn die Steuerung registriert wird, verwendet der Timing Analyzer Gleichung 7, um die Erholungs-Slack-Zeit zu berechnen.
Gleichung 7
Slack-Wiederherstellungszeit = Erforderliche Datenzeit – Datenankunftszeit
Datenankunftszeit = Startrand + Taktnetzwerkverzögerung zum Quellenregister + μtCO+ Registrieren, um Verzögerung zu registrieren
Erforderliche Datenzeit = Verzögerung des Verriegelungsrands + Taktnetzwerks zum Zielregister – μtSU
Wenn die Kontrolle nicht registriert ist, verwendet der Timing Analyzer die in Gleichung 8 gezeigten Gleichungen, um die Erholungs-Slack-Zeit zu berechnen.
Gleichung 8
Slack-Wiederherstellungszeit = Erforderliche Datenzeit – Datenankunftszeit
Datenankunftszeit = Startrand + maximale Eingabeverzögerung + Port zur Registrierung von Verzögerung
Erforderliche Datenzeit = Verzögerung des Verriegelungsrands + Taktnetzwerks zur Verzögerung des Zielregisters – μtSU
Hinweis: Wenn das Rücksetzsignal von einem Port (Geräte-I/O) stammt, müssen Sie eine Input Maximum Delay-Zuweisung an den Rücksetzstift vornehmen, damit der Timing Analyzer eine Wiederherstellungsanalyse auf diesem Pfad durchführt.
Die Entfernungszeit ist die mindeste Zeit, die ein Steuerungssignal nach dem aktiven Taktrand stabil sein muss. Die Timing Analyzer Entfernungszeit-Slack-Berechnung ist der Takt-Hold-Slack-Berechnung ähnlich, wendet aber Kontrollsignale an. Wenn die Steuerung registriert wird, verwendet der Timing Analyzer die in Gleichung 9 gezeigten Gleichungen, um die Entfernung von Slack-Zeit zu berechnen.
Gleichung 9
Entfernung von Slack Time = Datenankunft
Zeit – Daten erforderlich
Datenankunftszeit = Startrand + Taktnetzwerkverzögerung zum Quellenregister + μtCOof Source Register + Register zur Registrierung von Verzögerung
Erforderliche Datenzeit = Verriegelungsrand + Taktnetzwerkverzögerung zum Zielregister + μtH
Wenn die Kontrolle nicht registriert wird, verwendet der Timing Analyzer die in Gleichung 10 gezeigten Gleichungen, um die Entfernung von Slack-Zeit zu berechnen.
Gleichung 10
Entfernung von Slack Time = Datenankunftszeit – Daten erforderlich
Datenankunftszeit = Startrand + Eingabe mindeste Verzögerung der Stiftkontakte + Mindest-Pin zur Registrierungsverzögerung
Erforderliche Datenzeit = Verriegelungsrand + Taktnetzwerkverzögerung zum Zielregister +μtH
Hinweis: Wenn das Rücksetzsignal von einer Geräte-Pins stammt, müssen Sie die Beschränkung "Input Minimum Delay" für den Reset-Pin des Timing Analyzers angeben, um eine Entfernungsanalyse auf diesem Pfad durchzuführen.
Multizyklenpfade
Multizyklenpfade sind Datenpfade, die mehr als einen Taktzyklus benötigen, um Daten am Zielregister zu riegeln. Beispielsweise kann ein Register erforderlich sein, um Daten an jedem zweiten oder dritten ansteigenden Taktrand zu erfassen.
Abbildung 3 zeigt ein Beispiel für einen Multizyklenpfad zwischen den Eingaberegistern eines Multiplikators und dem Ausgaberegister, bei dem das Ziel Daten an jedem anderen Taktrand erfasst. Informationen zum set_multicycle_path Befehl finden Sie unter Timing Analyzer set_multicycle_path Command.
Auf den folgenden Seiten finden Sie Informationen zu SDC-Befehlen zur Beschreibung der Takt- und Takteigenschaften.