Interfaccia RGMII Constraint di Ethernet a tripla velocità con la funzione di ritardo PHY esterna

author-image

di

L'obiettivo di questo esempio di progettazione è mostrare il modo di vincolare la TSE_RGMII. Questo esempio di progettazione è applicabile solo quando la funzione di ritardo (spostamento di 90 gradi) di TX_CLK e RX_CLK di PHY esterno sono attivati. Può funzionare su 3 velocità diverse, che sono 10 MHz, 100 MHz e 1000 MHz.

Si presuppone che l'utente conosca il core della proprietà intellettuale (IP) Triple Speed Ethernet, ALTDDIO, ALTPLL, TimeQuest e Static Timing Analysis e il concetto sincrono di origine double data rate (DDR).

Come vincolare

  1. Selezionare il metodo del vincolo di interfaccia: metodo incentrato sul sistema o Intel® FPGA metodo incentrato.
    • Un metodo diverso richiede una formula diversa per calcolare il valore di ritardo nel comando set_input_delay e set_output_delay
    • Questo esempio di progettazione utilizza il metodo incentrato sul sistema
  2. Decidere se attivare o disattivare la funzione di ritardo (±90 gradi) di PHY esterno in quanto determinerà il tipo di allineamento tra il clock e i dati.
    • Spostamento di 90 gradi - > centro allineato
    • Nessun spostamento -> edge allineato
    • Questo esempio di progettazione è applicabile alle funzionalità di ritardo di TX e RX di PHY esterno attivate (solo spostamento di 90 gradi)
  3. Determinare la relazione di avvio e di chiusura desiderata.
    • Esistono 4 tipi di relazione di avvio e chiusura. Sono relazioni Rise-Rise (RR), Rise-Fall (RF), Fall-Rise (FR) e Fall-Fall (FF)
    • Le specifiche RGMII affermano che l'LSB dei dati [3:0] verrà inviato prima all'edge in aumento e MSB dei dati [7:4] viene inviato seguito dal bordo in caduta
    • La progettazione di TSE con interfaccia RGMII acquisirà i dati all'edge in aumento, poi seguito da un edge in caduta. Implica che il clock deve essere spostato di +90 gradi invece di -90 gradi
    • Relazione di avvio e latch di configurazione desiderata (freccia in rosso): RR e FF
    • Relazione di avvio e chiusura della sospensione desiderata (freccia in blu): FR e RF
  4. Vincolo dell'interfaccia RGMII. I vincoli di progettazione Synopsys (SDC) si basano sulla progettazione e sull'applicazione. Tuttavia, sono necessari alcuni SDC principali per l'interfaccia RGMII.

Figura 2. Rapporto di clock di avvio e clock di chiusura

TX

  • create_clock
    • il clock che latch i dati all'interno del Intel® FPGA prima di trasmettere a PHY esterno
  • create_generated_clock:
    • il clock con uno spostamento di fase di 90 gradi che aggaglia i dati alla PHY esterna
  • set_false_path:
    • È una relazione indesiderata da non analizzare nell'analisi dei tempi. In questo esempio di progettazione, la relazione indesiderata per l'installazione è RF e FR, mentre la relazione indesiderata per la sospensione è RR e FF

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:
    • un clock virtuale che attacca i dati all'interno del PHY esterno prima di trasmettere al Intel® FPGA
  • creare _clock:
    • il clock con uno spostamento di fase di 90 gradi che aggaglia i dati all'interno del Intel® FPGA
  • set_false_path:
    • È una relazione indesiderata da non analizzare nell'analisi dei tempi. In questo esempio di progettazione, la relazione indesiderata per l'installazione è RF e FR, mentre la relazione indesiderata per la sospensione è RR e FF

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

 

Come verificare

Ci sono alcuni report da controllare per verificare che il vincolo sincrono di origine sia vincolato correttamente.

  1. Report sull'orologio
    • Controllare la frequenza di clock a 3 (125 MHz, 25 MHz e 2,5 MHz) e la sua fase
    • Clock core TX (Intel® FPGA): 125 MHz, 25 MHz e 2,5 MHz
    • RGMII_TX_Clock (PHY esterno): 125 MHz +90º, 25 MHz +90º e 2,5 MHz +90º
    • RGMII_RX_Clock (Intel® FPGA): 125 MHz +90º, 25 MHz +90º e 2,5 MHz +90º
    • RGMII_RX_Virtual_Clock (PHY esterno): 125 MHz, 25 MHz e 2,5 MHz
  2. Rapporto trasferimento clock
    • Controllare tutta la relazione sulla configurazione e tenere premuta la relazione di avvio-chiusura dell'interfaccia RGMII per il trasferimento dell'orologio
    • Configurazione desiderata: RR e FF
    • Sospensione desiderata: FR e RF
  3. Tutti i report di I/O Timing
    • Verificare se esiste un percorso di errore e una relazione di avvio-chiusura in base alla configurazione desiderata e mantenere la relazione di avvio-chiusura
      • Input per registrarsi per l'installazione e la conservazione
      • Registrati all'output per l'installazione e la conservazione

Note:

  1. TSE_10_1_RGMII_SDC è il file SDC generato da Megafunction. Non copre il vincolo RGMII SDC. Il vincolo RGMII SDC è incluso nell'SDC RGMII.
  2. Modifica nel file TSE_10_1_RGMII_SDC.sdc:
    • Commenta il derived_pll_clock (riga 246) in quanto impedirà di utilizzare il comando create_gererated_clock per il pll in RGMII.sdc
    • Modificare il nome di FF_TX_CLK e FF_RX_CLK nella riga 59 e nella riga 60 in base al design
  3. Ci sono avvisi che possono essere ignorati durante l'analisi dei tempi. Per informazioni dettagliate, fare riferimento al file readme.txt disponibile in TSE_RGMII_With_SDC.qar.
  4. Scaricare il file utilizzato in questo esempio: TSE_RGMII_With_SDC.qar

L'utilizzo di questo progetto è regolato e soggetto ai termini e condizioni del Contratto di licenza Intel® Design Example.

Il contenuto di questa pagina è il risultato della combinazione tra la traduzione umana e quella automatica del contenuto originale in lingua inglese. Questo contenuto è fornito soltanto a titolo di informazione generale e non ha pretese di completezza o accuratezza. In presenza di contraddizioni tra la versione in lingua inglese di questa pagina e la sua traduzione, fa fede la versione inglese. Visualizza la versione in lingua inglese di questa pagina.