Einschränkung einer mit der Mitte ausgerichteten, quellensynchronen 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 mit der Mitte ausgerichtet ist, erfolgt der Taktwechsel in der Mitte des gültigen Datenfensters. Abbildung 1 zeigt eine quellensynchrone Eingangsschnittstelle für die Quelle.

Abbildung 1. Quellensynchrone Eingabeschnittstelle.

Gehen Sie wie folgt vor, um eine mit der Mitte 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

Weitere Informationen zu einem dieser Schritte oder den unten beschriebenen Berechnungen und Beschränkungen finden Sie unter AN 433: Constraining and Analyzing Source-Synchronous Interfaces (PDF).

Verinnung

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. Wenn der Eingabe-Takt mit der Mitte an den Daten ausgerichtet ist, muss Sie die Option -waveform verwenden, um die ansteigenden und fallenden Taktkanten anzugeben, die der Taktphasen-Verschiebung entsprechen.

Generierte Taktfrequenzen sind bei allen PLL-Ausgängen (Phase-Locked-Loop) erforderlich.

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 mit dem Mittelpunkt 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 eine virtuelle Uhr, um den Datentakt in der Nummer des externen Geräts zu
beschreiben.
create_clock -name virt_clk-Periodennummer 10

# Erstellen Sie einen Basis-Takt auf dem Eingabeport des FPGA, mit einer 10-ns-Periodennummer und einer
90-Grad-Phasenverlagerung, da die Schnittstelle mit der Mitte create_clock
-name input_clock -period 10 -waveform { 2.5 7.5 }

[get_ports clk_in] # Erstellen Sie generierte Taktfrequenzen für die PLL-Ausgänge
create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \
[get_pins pll|clk[0]]

Anzahl maximal hinzufügen und mindeste
Eingabeverzögerungsbeschränkungen#, 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 bei 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.