ID de l'article: 000076355 Type de contenu: Dépannage Dernière révision: 24/05/2017

Pourquoi le signal d’état RapidIO I port_ok ne s’affirme-t-il pas après la re-initialisation du lien ?

Environnement

    Intel® Quartus® Prime Pro Edition
    FPGA Intel® IP pour RapiDIO (IDLE1 jusqu'à 5.0 Gbaud)
BUILT IN - ARTICLE INTRO SECOND COMPONENT

Problème critique

Descriptif

port_ok’état de l’erreur bit-0, la RSE d’erreur et d’état du port 0 (0x158) peut rester faible après la re-initialisation du lien. La réin initialisation de la liaison est effectuée soit par le déclenchement de l’PORT_DIS bit-23 dans le port 0 Control CSR (0x15C), soit lorsque le partenaire de liaison effectue une réinitialisation. Cela peut entraîner une erreur fatale lors d’un fonctionnement normal,

Ce problème se produit pour les raisons suivantes :

  • Il est possible que le cœur du RapidIO soit hors de réinitialisation avant que l’émetteur-récepteur sorte de la réinitialisation. Cela entraîne le démarrage du fonctionnement du cœur de RapidIO alors que l’émetteur-récepteur est toujours en réinitialisation.
  • Le processus de re-alignement du mot est limité à la voie 0 et se déclenche uniquement une fois pendant la réin initialisation de la liaison.

Ce problème affecte les variantes RapidIO I suivantes :

  • Arria® V/Cyclone® V avec le mode x2.
  • Arria V/Cyclone V à un débit de 22 000 Mh/s.
  • Arria V avec le mode x4 au débit rial 3 125 M alors.
Résolution

Pour s’assurer que l’émetteur-récepteur est hors de réinitialisation et prêt à lancer toutes les opérations avant le cœur de RapidIO, qualifiez la réinitialisation du cœur RapidIO avec les signaux d’état prêts pour l’émetteur-récepteur dans le module _riophy_reset:

TX_SIDE

 

toujours @(posedge tx_clk ou negedge reset_n)

Commencer

si (!reset_n) commencent

tx_ready_s0 <= 1'b0 ;

tx_ready_s1 <= 1'b0 ;

 

la fin d’autre commence

tx_ready_s0 <= tx_ready ;

tx_ready_s1 <= tx_ready_s0 ;

 

Fin

 

Fin

 

toujours @ (tx_clk posé ou reset_n negedge) commencent

si (!reset_n)commencez

txreset_n_p2 < = 1'b0 ;

txreset_n_p1 <= 1'b0 ;

txreset_n <= 1'b0 ;

la fin d’autre commence

si (!gxbpll_locked_tx_clk_d2 || !tx_ready_s1)commencent

txreset_n_p2 <= 1'b0 ;

txreset_n_p1 <= 1'b0 ;

txreset_n <= 1'b0 ;

la fin d’autre commence

txreset_n_p2 <= 1'b1 ;

txreset_n_p1 <= txreset_n_p2 ;

txreset_n <= txreset_n_p1 ;

Fin

Fin

Fin

 

RX_SIDE

 

toujours @(posedge rx_clk ou negedge reset_n)

Commencer

si (!reset_n) commencent

rx_ready_s0 <= 1'b0 ;

rx_ready_s1 <= 1'b0 ;

 

la fin d’autre commence

rx_ready_s0 <= rx_ready ;

rx_ready_s1 <= rx_ready_s0 ;

 

Fin

Fin

 

toujours @ (rx_clk ou negedge reset_n) démarrer

si (!reset_n)commencez

rxreset_n_p2 <= 1'b0 ;

rxreset_n_p1 <= 1'b0 ;

rxreset_n < = 1'b0 ;

la fin d’autre commence

si (!rx_ready_s1) commencent

rxreset_n_p2<=1'b0 ;

rxreset_n_p1<=1'b0 ;

rxreset_n<=1'b0 ;

 

la fin d’autre commence

rxreset_n_p2 <= 1'b1 ;

rxreset_n_p1 <= rxreset_n_p2 ;

rxreset_n <= rxreset_n_p1 ;

 

Fin

Fin

Fin

 

Pour déclencher le processus de réin alignage du mot manuellement, effectuez les étapes suivantes à l’aide de l’interface Avalon-MM phy_mgmt’émetteur-récepteur :

(1) Affirmez phy_mgmt_write=1'b1 pour spécifier le fonctionnement de l’écriture.

(2) Écrivez les données phy_mgmt_writedata=32'b0 dans l’adresse phy_mgmt_address=9'h80 à la cible de la voie 0.

(3) Écrivez les données phy_mgmt_writedata=32'b1 dans une adresse phy_mgmt_address=9'h85 pour faire valoir rx_enapatternalign qui déclenche le fonctionnement d’alignement de mots sur la voie 0.

(4) Écrivez les données phy_mgmt_writedata=32'b0 dans l’adresse phy_mgmt_address=9'h85 à de≥ rx_enapatternalign.

Répétez les étapes ci-dessus pour toutes les autres voies : voie 1 (0x80=32'b1), voie 2 (0x80=32'b2) et voie 3 (0x80=32'b3).

Produits associés

Cet article concerne 2 produits

FPGA et FPGA SoC Arria® V
FPGA et FPGA SoC Cyclone® V

1

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.