Lorsque vous configurez un canal d’émetteur-récepteur GX Stratix® II dans le protocole SONET OC12 avec une entrée d’horloge de 155,52 MHz à partir d’une broche refclk dédiée, le logiciel Quartus® II n’synchronise pas le diviseur refclk requis pour faire fonctionner le canal au débit de données SONET OC12 (622 Mbit/s). Comme le pré-diviseur refclk n’est pas instantané, les canaux SONET OC12 fonctionnent à un taux de données deux fois plus élevé (1 244 Mbit/s).
Ce problème existe uniquement dans les versions du logiciel Quartus II 7.0, 7.1 et 7.1 SP1, et est résolu à partir du logiciel Quartus II version 7.2 .
Deux méthodes permettent de contourner ce problème, selon la conception, dans les versions 7.0, 7.1 et 7.1 du logiciel Quartus II. La solution 1 est destinée aux conceptions utilisant le canal dynamique et la fonction de reconfiguration TXPLL (activée par le canal Enable et l’option de reconfiguration TX PLL dans le plug-in MegaWizard® ALT2GXB). La solution 2 est destinée aux conceptions utilisant une reconfiguration dynamique des canaux (activée par l’option Utiliser une autre option d’horloge de référence sur la page Reconfig du plug-in MEGAWizard ALT2GXB) ou qui n’utilisent aucune reconfiguration dynamique.
Solution de contournement 1 - Pour les conceptions qui utilisent le canal dynamique et la fonction de reconfiguration TXPLL dans les versions 7.0, 7.1 et 7.1 SP1 des logiciels Quartus II.
Dans le fichier de l’emballage généré par MegaWizard pour l’instance alt2gxb du protocole SONET OC12, modifiez le enable_pll_inclk<x>_divider
paramètre (où x est 0,1,2,3 ou 4) true
sur , pour l’entrée d’horloge correspondante connectée à la broche refclk qui fournit la fréquence d’horloge de 155,52 MHz. Par exemple, si l’entrée 1 de l’horloge dans l’instance MegaWizard SONET OC12 ALT2GXB est connectée à la broche refclk fournissant une horloge de 155,52 MHz, réglée enable_pll_inclk1_divider
sur true
. Ce changement permet au logiciel Quartus II de créer un pré-diviseur refclk pour l’entrée clock1 lorsque vous compilez l’instance alt2gxb modifiée.
Changez le paramètre dans les fichiers de dossier de enable_pll_inclk<x>_divider
true
l’emballage générés alt2gxb MegaWizard pour toutes les instances qui se connectent à la même entrée d’horloge 155,52 MHz. Par exemple, si le port d’entrée clock2 d’une autre instance alt2gxb est connecté à la broche refclk fournissant le 155,52 MHz, changez de fichier enable_pll_inclk2_divider
true
dans le dossier correspondant.
Après avoir apporté les modifications ci-dessus, soumettez de très près le fichier d’initialisation de la mémoire (. mif) pour toutes les instances modifiées.
Pour simuler la conception, génèrez le fichier de simulation de modèle de l’émetteur-récepteur (.vo pour Verilog HDL, .vho pour VHDL) avec le netlist Writer EDA Quartus II au lieu d’utiliser le plug-in MegaWizard alt2gxb. Vous devez utiliser l’EDA Netlist Writer, car le modèle de simulation fonctionnelle généré par le plug-in megaWizard alt2gxb n’inclut pas le enable_pll_inclk_divider
paramètre. L’auteur de netlist EDA crée le pré-diviseur refclk dans le fichier du modèle de simulation (.vo ou .vho). Utilisez les étapes suivantes pour générer le fichier du modèle de simulation :
- Dans le menu Affectations, choisissez Paramètres.
- Sous Paramètres de l’outil EDA,choisissez Simulation.
- Sélectionnez le nom de l’outil de votre outil de simulation tiers.
- Dans le Format de la liste des netlists de sortie, sélectionnez VHDL ou Verilog en fonction de vos exigences.
- Dans le champ Répertoire de sortie, précisez le répertoire pour le fichier .vo ou .vho.
- Cliquez sur Autres paramètres et définissez Générer une netlist pour la simulation fonctionnelle uniquement sur Activé.
- Compilez le module de haut niveau de votre conception qui contient l’alt2gxb et les instances alt2gxb_reconfig.
- Remarque : vous devez connecter les ports et les
reconfig_fromgxb
reconfig_togxb
ports entre les instances alt2gxb et alt2gxb_reconfig. Sinon, le logiciel Quartus II supprime ces ports, et le fichier de modèle de simulation .vo ou .vho généré ne fonctionne pas comme prévu.
Solution de contournement 2 - Pour les conceptions qui utilisent la reconfiguration dynamique des canaux ou qui n’utilisent aucune reconfiguration dynamique, dans les versions 7.0, 7.1 et 7.1 SP1 des logiciels Quartus II.
Ajoutez le code Verilog suivant à votre conception pour ajouter le pré-diviseur refclk. Connectez le port d’entrée de l’instance pré-diviseur refclk à la broche de refclk qui fournit une entrée d’horloge de 155,52 MHz. Connectez le port de sortie à toutes les instances alt2gxb qui utilisent cette entrée d’horloge de 155,52 MHz.
//refclk divider Verilog code for Workaround 2
module my_refclk_div(in, out);
input in;
output out;
stratixiigx_hssi_refclk_divider my_refclk_divider (
.inclk(in),
.clkout(out));
defparam my_refclk_divider.enable_divider = "true";
defparam my_refclk_divider.divider_number = 0;
defparam my_refclk_divider.refclk_coupling_termination = "normal_100_ohm_termination";
endmodule
Si votre conception possède une autre instance de canal d’émetteur-récepteur qui utilise l’entrée d’horloge 155,52 MHz de la même broche refclk que l’instance SONET OC12 alt2gxb, changez la fréquence d’horloge d’entrée ? Configurez le paramètre à 77,76 MHz sur la page générale du plug-in MegaWizard alt2gxb.
Cette étape est nécessaire car tout canal qui utilise la même entrée d’horloge de 155,52 MHz ne reçoit qu’une fréquence d’horloge de référence de 77,76 MHz lorsque le pré-diviseur refclk est ajouté au chemin d’horloge. Par exemple, si vous avez configuré un canal en mode BASIC pour fonctionner à 2 488 Mbit/s avec la même entrée d’horloge de 155,52 MHz, définissez la fréquence d’entrée de 77,76 MHz.
Si la fonction de reconfiguration du canal est activée, déstabilisez le fichier d’initialisation de la mémoire (. mif) pour toutes les instances modifiées.
Vous pouvez utiliser les fichiers de modèle de simulation (.vo ou .vho) générés par le plug-in MEGAWizard ALT2GXB pour simuler la conception.