Einschränkung einer am Rand ausgerichteten quellesynchronen Eingabe

author-image

Von

Eine quellensynchrone Eingabeschnittstelle ist auf ähnliche Weise eingeschränkt wie eine systemsynchrone Eingabeschnittstelle. Der FPGA empfängt eine Uhr und verwendet diese Taktfrequenz, um die Eingabedaten zu riegeln. In einer quellensynchronen Schnittstelle, die am Rand ausgerichtet ist, erfolgt der Taktwechsel gleichzeitig mit dem Datenwechsel. Abbildung 1 zeigt eine quellensynchrone Eingangsschnittstelle für die Quelle.

Abbildung 1. Quellensynchrone Eingabeschnittstelle.

Gehen Sie wie folgt vor, um eine am Netzwerkrand ausgerichtete quellesynchrone Eingabeschnittstelle einzuschränken:

  1. Virtuelle, Basis- und generierte Taktfrequenzen erstellen

  2. Eingabeverzögerungsbeschränkungen hinzufügen

  3. Hinzufügen von Ausnahmen für falscher Pfad, um ungültige Pfade aus der Zeitablaufanalyse und -berichterstattung auszuschließen

Weitere Einzelheiten zu einem dieser Schritte oder den unten beschriebenen Berechnungen und Beschränkungen finden Sie unter href="/literature/an/an433.pdf">AN 433: Constraining and Analyzing Source-Synchronous Interfaces (PDF).

Uhren

Ein virtueller Takt modelliert den Takt im externen Gerät, der die Datenregister steuert, um Daten an den FPGA zu übertragen.

Am Eingangsport des FPGA ist ein Basistakt erforderlich. Der Basistakt beschreibt die Takteigenschaften beim Takteingang des FPGA.

Generierte Taktfrequenzen sind bei allen PLL-Ausgängen (Phase-Locked Loop) erforderlich. In einer am Rand ausgerichteten quellensynchronen Eingabeschnittstelle muss die PLL den empfangenen Takt um 90 Grad verschieben, um die internen Timing-Anforderungen der Datenerfassungsregister zu erfüllen.

Eingabeverzögerungsbeschränkungen

Sie können eine maximale schiefe Spezifikation verwenden, um Eingabeverzögerungswerte zu berechnen. Die maximale Schiefenspezifikation bezeichnet die zulässige Zeitveränderung für einzelne Bits eines Datenbus, um zum FPGA zu gelangen.

Der Wert der maximalen Verzögerung der Eingabe ist der maximale Schrägwert.

Der Wert der minimalen Verzögerung der Eingabe ist der maximale Schrägwert.

Ausnahmen von falschem Pfad

In diesem am Netzwerkrand ausgerichteten Beispiel werden Daten bei Rise-Rise- und Fall-Fall-Quellen- und Ziel-Taktübergängen übertragen. Verwenden Sie False-Path-Ausnahmen, um Rise-Fall- und Fall-Rise-Taktübergänge zu reduzieren, da Daten nicht auf Übergänge mit Gegenüber-Edge-Takt übertragen werden.

SDC-Beispieldatei

# Erstellen Sie einen virtuellen Takt, um den Datentakt in der Nummer des externen Geräts zu
beschreiben, create_clock -name virt_clk -period 10

# Eine Basis-Taktfrequenz auf dem Eingabeport des FPGA erstellen, mit einer 10-ns-Zeitspanne
create_clock -name input_clock -period 10 [get_ports clk_in]

# Erstellen Sie generierte Taktfrequenzen auf den PLL-Ausgängen
create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \
-phase 90 [get_pins pll|clk[0]]

Anzahl Maximal hinzufügen und minimum input delay constraints
#, unter der Annahme, dass eine Schiefanforderung von +/- 250ps
# besteht, verwenden Sie die Gleichungen für die eingangs aufgeführten Verzögerungswerte
set_input_delay -max -clock virt_clk 0,250 [get_ports data_in*]
set_input_delay -min -clock virt_clk -0,250 [get_ports data_in*]
set_input_delay -max -clock virt_clk -clock_fall \
0,250 [get_ports data_in*]
-add set_input_delay -min -clock virt_clk -clock_fall \
-0.250 [get_ports data_in*] -add

Anzahl Hinzufügen von Ausnahmen für Fehlpfade für Cross-Clock-Übertragungen
set_false_path -setup -end -rise_from [get_clocks virt_clk] \
-fall_to [get_clocks data_clock]
set_false_path -setup -end -fall_from [get_clocks virt_clk] \
-rise_to [get_clocks data_clock]
set_false_path -hold -end -rise_from [get_clocks virt_clk] \
-rise_to [get_clocks data_clock]
set_false_path -hold -end -fall_from [get_clocks virt_clk] \
-fall_to [get_clocks data_clock]

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.