Beschränkte, center-aligned Quelle-synchrone Ausgabe

author-image

Von

In einer quellensynchronen Ausgabeschnittstelle quellen die FPGA den Takt für das Zielgerät. In einer quellensynchronen Schnittstelle, die mit der Mitte ausgerichtet ist, erfolgt der Taktwechsel in der Mitte des gültigen Datenfensters. Abbildung 1 zeigt eine Quelle-synchrone Ausgangsschnittstelle.

Abbildung 1. quellensynchrone Ausgabeschnittstelle.

Gehen Sie wie folgt vor, um eine mit der Mitte ausgerichtete, quellensynchrone Ausgabeschnittstelle einzuschränken:

  1. Basis- und generierte Taktfrequenzen erstellen
  2. Hinzufügen von Ausgabeverzögerungsbeschränkungen
  3. Hinzufügen von Ausnahmen für falscher Pfad, um ungültige Pfade aus der Zeitablaufanalyse und -berichterstattung auszuschließen

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).

Uhren

Am Eingangsport des FPGA ist ein Basistakt erforderlich.
Generierte Taktfrequenzen sind bei allen PLL-Ausgängen (Phase-Locked Loop) erforderlich. Eine zweifache, für Rechenzentren ausgerichtete, quellensynchrone Ausgabe verschiebt den Ausgabe-Takt um 90 Grad im Vergleich zum Datentakt.
Am Ausgabe-Takt-Port des FPGA ist ein generierter Takt erforderlich. Der generierte Takt ist die Taktreferenz für Ausgabeverzögerungswerte für den Datenbus.

Beschränkungen für Die Ausgabeverzögerung

Sie können eine maximale Skew-Spezifikation verwenden, um Ausgabeverzögerungswerte zu berechnen. Die maximale Schiefenspezifikation zeigt die zulässige Zeitveränderung für einzelne Bits eines Datenbus an, um den FPGA zu verlassen.

Der Wert der maximalen Verzögerung der Ausgabe beträgt(Unit Interval / 2) – Maximum Skew Value.

Der Wert der minimalen Verzögerung der Ausgabe ist der maximale Schrägwert - (1,5 * Einheitenintervall).

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


# Create a base clock on the input port of the FPGA, with a 10 ns period
create_clock -name input_clock -period 10 [get_ports clk_in]

# Create generated clocks on the PLL outputs
# Output clk[0] drives the data register
# Output clk[1] drives the output clock port with a 90 degree shift
create_generated_clock -name data_clock -source [get_pins pll|inclk[0]] \
[get_pins pll|clk[0]]
create_generated_clock -name clock_clock -phase 90 -source [get_pins pll|inclk[0] \
[get_pins pll|clk[1]]

# Create the generated clock on the output clock port of the FPGA
create_generated_clock -name output_clock -source [get_pins pll|clk[1]] \
[get_ports clk_out]

# Add maximum and minimum output delay constraints
# assuming a skew requirement of +/- 250ps
# Use the equations for the output delay values listed above
set_output_delay -max -clock output_clock [expr { (5 / 2) - 0.250 }] \
[get_ports data_out*]
set_output_delay -max -clock output_clock -clock_fall \
[expr { (5 / 2) - 0.250 }] [get_ports data_out*] -add
set_output_delay -min -clock output_clock [expr { (0.250 - (1.5 * 5) }] \
[get_ports data_out*]
set_output_delay -min -clock output_clock -clock_fall \
[expr { (0.250 - ( 1.5 * 5 ) }] [get_ports data_out*] -add

# Add false path exceptions for cross-clock transfers
set_false_path -setup -end -rise_from [get_clocks data_clock] \
-fall_to [get_clocks output_clock]
set_false_path -setup -end -fall_from [get_clocks data_clock] \
-rise_to [get_clocks output_clock]
set_false_path -hold -end -rise_from [get_clocks data_clock] \
-fall_to [get_clocks output_clock]
set_false_path -hold -end -fall_from [get_clocks data_clock] \
-rise_to [get_clocks output_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.