Constraint-RGMII-Schnittstelle des Dreifachgeschwindigkeits-Ethernet mit der externen PHY-Verzögerungsfunktion

author-image

Von

Ziel dieses Designbeispiels ist es, den Weg zu einer Einschränkung der TSE_RGMII zu zeigen. Dieses Designbeispiel gilt nur, wenn die Verzögerungsfunktion (90-Grad-Verschiebung) der TX_CLK und RX_CLK der externen PHY eingeschaltet ist. Es kann mit 3 verschiedenen Geschwindigkeiten ausgeführt werden, die 10 MHz, 100 MHz und 1000 MHz sind.

Es wird angenommen, dass der Benutzer mit dem geistigen Eigentum (IP) Core (Dreifachgeschwindigkeits-Ethernet), ALTDDIO, ALTPLL, TimeQuest und statischer Timing-Analyse und dem synchronen Doppel-Datenraten-Konzept (DDR) vertraut ist.

Beschränkungen

  1. Wählen Sie die Methode der Schnittstellenbeschränkung: systemzentrierte Methode oder Intel® FPGA-zentrische Methode.
    • Für die Berechnung des Verzögerungswertes im set_input_delay und set_output_delay-Befehl erfordert eine andere Methode eine andere Formel
    • In diesem Designbeispiel wird die systemzentrierte Methode verwendet
  2. Entscheiden Sie, ob Sie die Verzögerungsfunktion (±90-Grad-Verschiebung) der externen PHY ein- oder ausschalten möchten, da sie den Typ der Ausrichtung zwischen der Taktfrequenz und den Daten bestimmt.
    • 90-Grad-Umschalttaste – > Mitte ausgerichtet
    • Keine Umschalttaste – > Edge ausgerichtet
    • Dieses Designbeispiel gilt für die Verzögerungsfunktion, dass TX und RX der externen PHY eingeschaltet sind (nur 90-Grad-Shift)
  3. Bestimmen Sie die gewünschte Start- und Verriegelungsbeziehung.
    • Es gibt 4 Arten von Start- und Verriegelungen-Beziehung. Sie sind Rise-Rise (RR), Rise-Fall (RF), Fall-Rise (FR) und Fall-Fall (FF) Beziehung
    • Laut der RGMII-Spezifikation wird der LSB an Daten [3:0] zuerst am ansteigenden Edge gesendet, und MSB an Daten [7:4] werden dann an den herabfallenden Rand gesendet
    • Das Design von TSE mit RGMII-Schnittstelle erfasst zuerst die Daten am ansteigenden Rand und dann gefolgt von einem fallenden Rand. Es gilt, die Taktfrequenz um +90 Grad anstelle von -90 Grad zu verschieben.
    • Gewünschte Setup-Start- und Verriegelungs-Beziehung (Pfeil in Rot): RR und FF
    • Gewünschte Halte-Start- und Verriegelungen-Beziehung (Pfeil in blau): FR und RF
  4. Einschränkung der RGMII-Schnittstelle. Die Synopsys Design Constraints (SDC) basieren auf dem Design und der Anwendung. Allerdings gibt es einige der wichtigsten SDC, die für die RGMII-Schnittstelle benötigt werden.

Abbildung 2. Launch Clock and Latch Clock Beziehung

TX

  • create_clock
    • die Taktfrequenz, die die Daten innerhalb des Intel® FPGA vor der Übertragung an die externe PHY einriegelt
  • create_generated_clock:
    • der Taktgeber mit 90-Grad-Phasenverlagerung, die die Daten an der externen PHY riegelt
  • set_false_path:
    • Es ist eine unerwünschte Beziehung, die bei der Timing-Analyse nicht analysiert werden kann. In diesem Designbeispiel ist die unerwünschte Beziehung für das Setup RF und FR, während die unerwünschte Beziehung für den Laderaum RR und FF ist.

set_false_path -fall_from [data_clock] -rise_to [output_clock] -setup
set_false_path -rise_from [data_clock] -fall_to [output_clock] -setup
set_false_path -rise_from [data_clock] -rise_to [output_clock] -hold
set_false_path -fall_from [data_clock] -fall_to [output_clock] -hold

 

  • set_output_delay

set_output_delay -clock output_clock\
-max [expr $data_delay_max + $tsu - $clk_delay_min] \
[get_ports data_out] \
-add_delay

set_output_delay -clock output_clock\
-max [expr $data_delay_max + $tsu - $clk_delay_min] \
[get_ports data_out] \
-clock_fall \
-add_delay

set_output_delay -clock output_clock \
-min [expr $data_delay_min - $th - $clk_delay_max] \
[get_ports data_out ] \
-add_delay

set_output_delay -clock output_clock \
-min [expr $data_delay_min - $th - $clk_delay_max] \
[get_ports data_out ] \
-clock_fall \
-add_delay

 

TSE_RGMII RX

  • create_clock:
    • eine virtuelle Taktfrequenz, die die Daten innerhalb der externen PHY einriegelt, bevor sie an die Intel® FPGA
  • erstellen Sie _clock:
    • der Taktgeber mit 90-Grad-Phasenwechsel, der die Daten innerhalb der Intel® FPGA
  • set_false_path:
    • Es ist eine unerwünschte Beziehung, die bei der Timing-Analyse nicht analysiert werden kann. In diesem Designbeispiel ist die unerwünschte Beziehung für das Setup RF und FR, während die unerwünschte Beziehung für den Laderaum RR und FF ist.

set_false_path -fall_from [data_clock] -rise_to [output_clock] -setup
set_false_path -rise_from [data_clock] -fall_to [output_clock] -setup
set_false_path -rise_from [data_clock] -rise_to [output_clock] -hold
set_false_path -fall_from [data_clock] -fall_to [output_clock] -hold

 

Verifizierung

Es gibt einige Berichte, die überprüft werden müssen, um zu überprüfen, ob die synchrone Quellenbeschränkung korrekt eingeschränkt ist.

  1. Taktbericht
    • Überprüfen Sie die 3-Taktfrequenz (125 MHz, 25 MHz und 2,5 MHz) und ihre Phase
    • Core TX Takt (Intel® FPGA): 125 MHz, 25 MHz und 2,5 MHz
    • RGMII_TX_Clock (externe PHY): 125 MHz +90°, 25 MHz +90° und 2,5 MHz +90°
    • RGMII_RX_Clock (Intel® FPGA): 125 MHz +90, 25 MHz +90° und 2,5 MHz +90°
    • RGMII_RX_Virtual_Clock (externe PHY): 125 MHz, 25 MHz und 2,5 MHz
  2. Clock-Transfer-Bericht
    • Überprüfen Sie die gesamte Beziehung zum Setup und halten Sie die Startverriegelung der RGMII-Schnittstelle für die Taktübertragung gedrückt
    • Gewünschtes Setup: RR und FF
    • Gewünschter Haltegriff: FR und RF
  3. Alle I/O-Timing-Berichte
    • Überprüfen Sie, ob es einen fehlerhaften Pfad und eine Start-Verriegelung-Beziehung entsprechend dem gewünschten Setup gibt, und halten Sie die Start-Verriegelung-Beziehung gedrückt
      • Eingabe zur Registrierung für das Setup und Halten
      • Registrieren Sie sich, um die Ausgabe für das Setup durchzuführen und halten Sie es gedrückt

Notizen:

  1. TSE_10_1_RGMII_SDC ist die von Megafunction generierte SDC-Datei. Sie deckt die Beschränkungen der RGMII-SDC nicht ab. Die Beschränkung der RGMII-SDC ist in der RGMII-SDC enthalten.
  2. Änderung in TSE_10_1_RGMII_SDC.sdc-Datei:
    • Kommentieren Sie den derived_pll_clock (Zeile 246), da er Sie daran hindert, create_gererated_clock Befehl für den pll in RGMII.sdc zu verwenden
    • Ändern Sie den Namen FF_TX_CLK und FF_RX_CLK in Zeile 59 und Zeile 60 je nach Design.
  3. Es gibt Warnungen, die bei der Zeitablaufanalyse ignoriert werden können. Weitere Informationen finden Sie in der Datei readme.txt in TSE_RGMII_With_SDC.qar.
  4. Laden Sie die in diesem Beispiel verwendete Datei herunter: TSE_RGMII_With_SDC.qar

Die Verwendung dieses Designs unterliegt den Bedingungen der Intel® Design Example Lizenzvereinbarung.

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.