Timing-Analyzer-Taktanalyse

author-image

Von

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.

Abbildung 1. Setup-Überprüfung.

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.

Abbildung 2. Überprüfen Sie die Überprüfung.

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.

Abbildung 3. Multizyklenpfad.

Auf den folgenden Seiten finden Sie Informationen zu SDC-Befehlen zur Beschreibung der Takt- und Takteigenschaften.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.