Interface RGMII de contrainte Ethernet à trois vitesses avec la fonction de retard externe PHY

author-image

Par

L’objectif de cet exemple de conception est de montrer le moyen de contrainter les TSE_RGMII. Cet exemple de conception n’est applicable que lorsque la fonction de retard (décalage de 90 degrés) de TX_CLK et RX_CLK de PHY externe sont activées. Il peut fonctionner à 3 vitesses différentes, à 10 MHz, 100 MHz et 1000 MHz.

L’utilisateur est familiarisé avec le noyau de propriété intellectuelle (IP) Triple Speed Ethernet, altDDIO, ALTPLL, TimeQuest et Static Timing Analysis, ainsi que le concept synchrone source à double débit de données (DDR).

Comment contrainter

  1. Sélectionnez la méthode de la contrainte d’interface : méthode centrée sur le système ou Intel® FPGA méthode centrée sur le système.
    • Une méthode différente nécessite une formule différente pour calculer la valeur de retard dans la commande set_input_delay et set_output_delay
    • Cet exemple de conception utilise la méthode centrée sur le système
  2. Déterminez s’il faut activer ou désactiver la fonction de retard (± changement de degré de 90 degrés) du PHY externe, car cela déterminera le type d’alignement entre l’horloge et les données.
    • Changement de 90 degrés - centre > aligné
    • Pas de changement - > périphérie alignée
    • Cet exemple de conception s’applique aux fonctionnalités de retard de TX et RX de PHY externes activées (changement de 90 degrés) uniquement
  3. Déterminez la relation de lancement et de loquet souhaitée.
    • Il existe 4 types de relation de lancement et de loquet. Il s’agit d’une relation Rise-Rise (RR), Rise-Fall (RF), Fall-Rise (FR) et Fall-Fall (FF)
    • La spécification RGMII indique que le LSB de données [3:0] sera envoyé d’abord à la périphérie montante et que le MSB de données [7:4] est envoyé suivi par le bord descendant
    • La conception de TSE avec interface RGMII capturera les données à la périphérie montante, puis sera suivie par une chute en périphérie. Il est indiqué que l’horloge doit être décalée de +90 degrés au lieu de -90 degrés
    • Le lancement de l’installation et la relation de loquet souhaités (flèche en rouge) : RR et FF
    • Relation de maintien et de loquet souhaitée (flèche en bleu) : FR et RF
  4. Contrainte de l’interface RGMII. Les contraintes de conception Synopsys (SDC) sont basées sur la conception et l’application. Cependant, il existe une certaine SDC principale nécessaire pour l’interface RGMII.

Figure 2. Lancez la relation horloge et loquet

TX

  • create_clock
    • l’horloge qui verrouillera les données dans le Intel® FPGA avant de la transmettre à PHY externe
  • create_generated_clock :
    • l’horloge avec le changement de phase de 90 degrés qui loquet les données à l’externe PHY
  • set_false_path :
    • Il s’agit d’une relation intempestif à ne pas analyser dans l’analyse du timing. Dans cet exemple de conception, la relation intempestif pour l’installation est RF et FR tandis que la relation intempestif pour la prise est UNE ET 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 :
    • une horloge virtuelle qui verrouiller les données dans le PHY externe avant de les transmettre à l’Intel® FPGA
  • créez _clock :
    • l’horloge avec le changement de phase de 90 degrés qui verrouiller les données à l’intérieur du Intel® FPGA
  • set_false_path :
    • Il s’agit d’une relation intempestif à ne pas analyser dans l’analyse du timing. Dans cet exemple de conception, la relation intempestif pour l’installation est RF et FR tandis que la relation intempestif pour la prise est UNE ET 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

 

Comment vérifier

Il existe quelques rapports à vérifier afin de vérifier que la contrainte synchrone source est limitée correctement.

  1. Rapport d’horloge
    • Vérifiez la fréquence de 3 horloges (125 MHz, 25 MHz et 2,5 MHz) et sa phase
    • Horloge Core TX (Intel® FPGA) : 125 MHz, 25 MHz et 2,5 MHz
    • RGMII_TX_Clock (PHY externe) : 125 MHz +90º, 25 MHz +90º et 2,5 MHz +90º
    • RGMII_RX_Clock (Intel® FPGA) : 125 MHz +90º, 25 MHz +90º et 2,5 MHz +90º
    • RGMII_RX_Virtual_Clock (PHY externe) : 125 MHz, 25 MHz et 2,5 MHz
  2. Rapport de transfert d’horloge
    • Vérifiez toutes les relations sur la configuration et maintenez la relation de lancement-loquet de l’interface RGMII pour le transfert d’horloge
    • Configuration souhaitée : RR et FF
    • Prise souhaitée : FR et RF
  3. Tous les rapports de synchronisation des E/S
    • Vérifiez s’il existe une relation de verrouillage et de chemin d’accès défectueux en fonction de l’installation souhaitée et maintenez la relation lancement-loquet
      • Entrées pour s’inscrire à l’installation et tenir
      • Inscrivez-vous à la sortie pour la configuration et maintenez

Notes:

  1. TSE_10_1_RGMII_SDC est le fichier SDC généré par Megafunction. Il ne couvre pas la contrainte RGMII SDC. La contrainte RGMII SDC est incluse dans le SDC RGMII.
  2. Modification dans le fichier TSE_10_1_RGMII_SDC.sdc :
    • Commentez le derived_pll_clock (ligne 246) car il vous empêchera d’utiliser la commande create_gererated_clock pour la pll dans RGMII.sdc
    • Changez le nom de FF_TX_CLK et de FF_RX_CLK dans les lignes 59 et 60 selon la conception
  3. Il existe des avertissements qui peuvent être ignorés lors de l’analyse du timing. Reportez-vous à la page readme.txt se trouvant dans TSE_RGMII_With_SDC.qar pour plus de détails.
  4. Téléchargez le fichier utilisé dans cet exemple : TSE_RGMII_With_SDC.qar

L’utilisation de cette conception est régie par les conditions générales du contrat de licence d’Intel® Design Example et est soumise.

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.