Rôle stratégique des FPGA dans les liens de série à grande vitesse

De la transmission vidéo entre les caméras et les processeurs à l'acquisition de données à partir de CDA à grande vitesse et d'interconnexions dans les centres de données, les liaisons série ont remplacé les bus parallèles sur pratiquement toutes les interfaces. Les bus parallèles souffrent de limites de nombre de broches, de crosstalk et de broches au-dessus de quelques centaines de mégahertz. Les liaisons série surmontent ces problèmes en utilisant la signalisation différentielle, les horloges intégrées et l'égalisation avancée, atteignant des taux par voie au-delà de 100 Gbps.

Contrairement aux ASI qui nécessitent des ensembles de masques coûteux et des cycles de fabrication longs, les FPGA permettent aux ingénieurs de prototyper, valider et déployer des protocoles série personnalisés en quelques semaines. Cette reconfiguration est un atout stratégique lorsque les normes évoluent, lorsque les protocoles propriétaires offrent un avantage concurrentiel, ou lorsque les volumes de production ne justifient pas un ASI. Les FPGA modernes intègrent des transcepteurs multi-gigabit durcis contenant des boucles verrouillées par phase, des circuits de récupération d'horloge et de données et une péréquation programmable, offrant des performances qui rivalisent avec les appareils SERDES dédiés. Le tissu FPGA gère la logique de protocole et le traitement des données, tandis que les transcepteurs durcis gèrent des tâches numériques analogiques et à grande vitesse qui ne peuvent être efficacement mises en œuvre dans une logique programmable.

Architecture des émetteurs : couches PMA et PCS

Chaque émetteur-récepteur FPGA comprend deux sous-blocs principaux : l'attache physique moyenne (PMA) et la couche de codage physique (PCS). La compréhension de cette division est essentielle pour configurer les paramètres et décider quelles fonctions mettre en œuvre dans le tissu FPGA.

La couche APM

Le PMA gère toutes les fonctions numériques analogiques et à haute vitesse. Du côté de la transmission, il contient le sérialisateur (convertisseur parallèle à série). Du côté de la réception, il contient le désérialisateur (convertisseur série à parallèle). Le PMA comprend également l'unité de multiplicateur d'horloge (CMU) ou transmet PLL qui multiplie l'horloge de référence au taux de ligne. Sur le chemin de réception, le circuit de récupération d'horloge et de données (CDR) extrait l'horloge bit du flux de données entrant. L'égalisation programmable comprend les touches pré-accentsées sur l'émetteur et l'égalisation linéaire continue (CTLE) plus l'égalisation de la rétroaction de décision (DFE) sur le récepteur. L'impédance de terminaison, le basculement de sortie et les niveaux de tension différentielle sont également configurés à ce niveau.

La couche PCS

Le PCS relie le PMA à grande vitesse au tissu FPGA, fonctionnant au rythme de mots parallèle. Il gère les fonctions numériques qui nécessitent une complexité modérée mais sont trop rapides pour une mise en œuvre logique souple. Les fonctionnalités PCS typiques comprennent 8b/10b ou 64b/66b encodage et décodage, détection de virgules et alignement de mots, tampon élastique pour le croisement de domaines d'horloge, liaison de canal pour les protocoles multi-voies, et génération de motifs PRBS et vérification pour l'auto-test intégré. La plupart des fournisseurs FPGA fournissent un assistant de configuration qui vous permet de sélectionner le protocole et définit automatiquement les paramètres d'encodage, d'alignement et d'horlogenement appropriés.

La documentation du fournisseur est essentielle pour les diagrammes de blocs détaillés et les cartes de registre.Le Xilinx 7 Series Transceivers User Guide fournit une couverture complète de la configuration de PMA et PCS, tandis que le Intel High-Speed Serial Interface Handbook couvre les familles de transceiver Intel Agilex et Stratix. Pour les FPGA SERDES User Guide[ décrit leur architecture de transceiver intégrée.

Placement des émetteurs et des routages

Les fournisseurs FPGA organisent des émetteurs-récepteurs en quads ou banques, chaque partage de PLL et d'entrées d'horloge de référence. Le placement physique de ces quads sur la matrice détermine quelles banques E/S FPGA peuvent recevoir des données série. Vous devez vérifier que la banque d'émetteurs sélectionnée a un accès direct à la logique FPGA nécessaire au traitement des protocoles. Certains appareils limitent certaines fonctions d'émetteur à des quads spécifiques. Consultez toujours les tableaux de fiches techniques et les lignes de placement des émetteurs-récepteurs avant de commencer à mettre en page PCB.

Conception des émetteurs basés sur le FPGA

Le chemin d'émetteur convertit les données parallèles du tissu FPGA en un flux série haute vitesse. Bien que le concept est simple, la mise en œuvre pratique nécessite une manipulation soigneuse de l'horlogerie, du conditionnement du signal et du formatage spécifique au protocole.

Sérialisation et structure des données

Le sérialiste à l'intérieur de la PMA accepte un mot parallèle, généralement 8, 10, 16, 20, 32 ou 40 bits, et le déplace à la vitesse de la ligne. Le bus parallèle fonctionne à une fraction de la vitesse de la ligne égale à la largeur du bus divisée en débit de la vitesse de la ligne. Par exemple, une liaison Ethernet de 10,3125 Gbps utilisant un datapath 32 bits fonctionne sur le côté parallèle à environ 322 MHz. Cette fréquence est gérable pour la fermeture du chronométrage du tissu FPGA lorsque des ressources d'horloge appropriées sont utilisées. Le PCS transceiver fournit souvent une fonction de boîte de vitesses qui convertit entre différentes largeurs parallèles, permettant au tissu de fonctionner à une fréquence inférieure tandis que le PMA utilise un bus interne plus étroit et plus rapide.

Génération d'horloge et contrôle de la jitter

La plupart des émetteurs-récepteurs FPGA acceptent les horloges de référence différentielles (LVDS, LVPECL ou HCSL) et exigent une fréquence qui est un sous-multiple rationnel de la vitesse de ligne. L'émetteur-récepteur PLL multiplie cette référence au débit de bits série. Le jitter sur l'horloge de référence apparaît comme un jitter déterministe sur la sortie série, gradué par le facteur de multiplication PLL. Un jitter 1 ps rms sur une référence 100 MHz devient environ 10 ps rms sur une sortie 10 Gbps. Cette magnification explique pourquoi la qualité de l'horloge de référence est primordiale. Utilisez des oscillateurs de cristaux ou des générateurs d'horloges dédiés conçus pour des applications de communication, comme des appareils de SiTime, Microchip ou Renesas.

Certains protocoles nécessitent un alignement de spectre (SSC) pour réduire les interférences électromagnétiques. PCI Express, SATA et USB 3.0 spécifient tous SSC avec des profils de modulation spécifiques. Si votre émetteur doit supporter SSC, vérifiez que la PLL peut suivre la fréquence de modulation (habituellement 30–33 kHz) et que le CDR à l'extrémité de réception a suffisamment de bande passante pour suivre la variation de fréquence.

Encodage de ligne et solde DC

Les liaisons série ne peuvent tolérer de longues séries de bits identiques. Le circuit CDR a besoin de bords pour maintenir le verrouillage, et les récepteurs couplés AC nécessitent un bilan DC pour éviter les écarts de base. Le codage en ligne résout les deux problèmes. Le code le plus répandu est 8b/10b, qui massique chaque octet de données 8 bits à un symbole de 10 bits choisi pour maintenir une disparité de fonctionnement proche de zéro et limiter la longueur d'exécution à cinq bits identiques consécutifs. Les émetteurs FPGA implémentent l'encodage et le décodage 8b/10b dans le PCS, exigeant seulement que le tissu présente des données correctement formatées avec des caractères de contrôle identifiés. Pour les taux supérieurs à 8-10 Gbps, 8b/10b en haut (25%) devient prohibitif.

Pour les liens personnalisés, des codes alternatifs tels que 16b/18b, 8b/9b ou Manchester codifie peuvent être mis en place. L'échange est toujours entre les frais généraux, la balance DC, la densité de transition et la complexité de la mise en œuvre. Une ressource utile pour sélectionner les codes de ligne est IEEE 802.3 documentation de normes, qui spécifie des schémas de codage pour chaque taux Ethernet.

Transmettre la péréquation et les pré-symphases

La perte de canal dépend de la fréquence : les composants haute fréquence qui définissent les transitions rapides de bits sont atténués plus que les composants basse fréquence. Cette atténuation provoque des interférences intersymboles, ce qui rend plus difficile pour le récepteur de distinguer les uns des zéros. Transmettre la péréquation compense en stimulant les hautes fréquences avant que le signal ne quitte le pilote. L'implémentation la plus courante est un filtre FIR multi-tap. La touche principale correspond au bit courant, tandis que les touches précurseur et postcurseur règlent la sortie en fonction des bits adjacents.

Les émetteurs-récepteurs FPGA exposent ces coefficients de tap à travers les registres de configuration. Les valeurs de départ sont fournies dans les notes d'application pour les protocoles communs. Commencez par les paramètres recommandés, puis optimisez en observant le diagramme oculaire à l'entrée du récepteur. Augmentez les tapages précurseur et postcurseur jusqu'à ce que l'œil s'ouvre, mais arrêtez avant que la surégalisation provoque des sonneries et des crosstalks excessifs.

Sortie Éssèchement, fin et intégrité du signal

Le pilote de sortie du récepteur est programmable. La baisse de la balance réduit la consommation de puissance et l'IMI, mais réduit le rapport signal-bruit au récepteur. Réglez la tension de sortie différentielle au minimum requis pour obtenir une ouverture oculaire acceptable à l'extrémité du canal, compte tenu de la perte de la voie. L'impédance de fin de course doit correspondre à l'impédance caractéristique de la ligne de transmission, généralement 100 ohms différentiel.

Conception de récepteurs basés sur l'AGFP

La conception du récepteur est l'endroit où l'expérience et l'attention aux détails séparent un lien solide d'un lien qui fonctionne de façon intermittente. Le récepteur doit récupérer une horloge propre d'un signal dégradé, aligner les limites des mots et compenser les déficiences du canal.

Horloge et récupération de données

Le circuit CDR dans les émetteurs-récepteurs FPGA utilise un interpolateur de boucle ou de phase verrouillé par phase pour générer une horloge d'échantillonnage qui suit les bords de données entrants. La bande passante CDR détermine la rapidité avec laquelle l'horloge récupérée suit les changements de fréquence et les jitters. La bande passante supérieure suit mieux les jitters, mais permet plus de bruit des transitions de données pour affecter l'horloge récupérée. La plupart des émetteurs-récepteurs vous permettent de sélectionner les paramètres de bande passante CDR appropriés pour le protocole.

Le DDC exige une horloge de référence qui est verrouillée par fréquence aux données entrantes dans une tolérance spécifiée, généralement de ±100 à ±300 ppm. Si les fréquences de référence et de données diffèrent de plus de la plage de traction du DDC, le DDC ne sera pas verrouillé. Cette exigence devient critique lorsque l'émetteur à distance utilise une source de référence différente.

Alignement des mots et détection des virgules

Une fois que le CDR récupère l'horloge bit, le désérialiseur présente un mot parallèle au PCS. Les limites de mot sont arbitraires; le circuit d'alignement doit trouver la limite correcte en cherchant un motif connu. Pour les liens 8b/10b, le caractère virgule K28.5 (modèle binaire 1100000101) apparaît périodiquement dans les séquences de ralenti ou d'entraînement. Le PCS déplace la limite de mot jusqu'à ce que la virgule s'aligne, puis verrouille l'alignement. Certains émetteurs prennent en charge plusieurs modèles de virgules et vous permettent de définir la valeur de virgule et les bits de masque. Pour les liens 64b/66b, l'alignement utilise le motif en-tête de synchronisation bibit : 01 pour les blocs de données et 10 pour les blocs de contrôle.

Après alignement, le récepteur doit maintenir la synchronisation. La perte de synchronisation survient lorsque les erreurs corrompent le modèle d'alignement. Le PCS comprend généralement une machine d'état qui passe de synchronisé à perte de sync après un nombre programmable d'erreurs. Cette hystérésis empêche les éclatements de bruits courts de provoquer un réalignement inutile.

Péréquation des receveurs

À des vitesses multigigabits, le signal arrivant aux broches du récepteur peut avoir une hauteur de l'œil de seulement des dizaines de millivolts. Deux étapes d'égalisation récupèrent le signal. CTLE amplifie les composants haute fréquence par rapport aux basses fréquences, atténuant efficacement la teneur en signal basse fréquence. Les émetteurs-récepteurs FPGA fournissent un gain CTLE réglable, généralement avec des réglages discrets de 3 à 5 . Le réglage correct dépend de la perte de canal : plus de perte nécessite un gain CTLE plus élevé.

Après CTLE, l'ISI résiduel reste dû à des réflexions et à des réponses de canaux à longue queue. DFE soustrait les interférences des bits détectés précédemment en utilisant des touches de rétroaction. Chaque robinet multiplie une décision de bits antérieure par un coefficient et la soustrait de l'échantillon courant. La plupart des émetteurs-récepteurs FPGA mettent en œuvre des touches DFE 1–5 avec des algorithmes de mise à jour des coefficients adaptatifs. Activement de l'adaptation pendant la formation des liens et permettent aux coefficients de converger vers des valeurs stables. Après convergence, vous pouvez geler les coefficients ou laisser l'adaptation active.

Analyse des yeux et analyse des marges

Les outils de balayage oculaire fournis par le fournisseur sont précieux pour caractériser la marge de liaison. Le transmetteur fournit un port d'analyse de marge qui vous permet de déplacer le point d'échantillonnage en tension et en temps tout en mesurant le taux d'erreur de bits. En balayant le point d'échantillonnage sur l'intervalle d'unité, vous générez une courbe de baignoire montrant le BER en fonction de la position d'échantillonnage. Une région large et plate à faible BER indique une marge saine. La fonctionnalité de balayage oculaire est accessible par l'IP du fournisseur ou par l'accès direct au registre via un contrôleur mis en place dans le tissu FPGA. Keysight System Design software fournit des outils pour le traitement des données de balayage oculaire et la production de rapports de conformité.

Intégrité du signal et conception des PCB

La meilleure configuration d'émetteur ne peut compenser la mauvaise conception des PCB. La discipline d'intégrité du signal est obligatoire pour les liaisons série haute vitesse fiables.

Conception de la ligne de transmission

Les paires différentielles de parcours comme des traces de microstrip ou de stripline étroitement couplées avec une impédance différentielle de 100 ohms ± 10 %. L'impédance caractéristique dépend de la largeur des traces, de l'espacement des traces, de l'épaisseur diélectrique et du poids du cuivre. Utilisez votre fabricant de PCB , qui recommande de empiler et calculer la géométrie des traces à l'aide d'un résolveur de champ tel que Polar Instruments Si9000 ou Cadence Sigrity.

Si les vias sont inévitables – par exemple, lorsqu'ils sont acheminés vers un connecteur situé du côté opposé de la carte –, ils minimisent le via stub en utilisant un rétro-perçage ou en routant sur une couche près du connecteur. Le via stub agit comme un stub résonant qui dégrade l'œil à des fréquences où la longueur du stub est d'un quart de longueur d'onde. Pour les signaux de 25 Gbps, un via stub de plus de 15 mil (0,38 mm) peut provoquer une dégradation mesurable.

Livraison d'électricité pour les émetteurs

Les alimentations électriques des émetteurs-récepteurs sont notoirement sensibles au bruit. Un FPGA haut de gamme typique peut avoir plusieurs alimentations de 1,0 V : une pour le PMA des émetteurs-récepteurs, une pour la logique numérique du PCS, et une pour le tissu FPGA. Ne pas partager ces alimentations sans isolement. Utilisez des régulateurs linéaires à faible bruit (LDO) dédiés pour les rails analogiques des émetteurs-récepteurs. Les régulateurs de commutation pour l'alimentation du tissu devraient être physiquement séparés des DL des émetteurs-récepteurs et filtrés avec des perles ferrites. Placez les condensateurs de découplage le plus près possible des goupilles de colis FPGA, en commençant par les plus petites valeurs (0,1 μF et 0,01 μF) les plus proches des goupilles, suivies par des condensateurs en vrac (10 μF et 47 μF) à proximité.

Sélection du connecteur et du câble

Pour les applications à l'arrière du plan, utilisez des connecteurs conçus pour la signalisation multi-gigabits, tels que Samtecs Q Series ou MolexSondage. Les câbles à grande vitesse doivent être spécifiés pour le taux de données et la longueur. Pour les courts tronçons (moins de 1 mètre), les câbles en cuivre d'attache directe offrent une solution rentable. Pour les distances au-delà de 1 mètre, des câbles optiques actifs ou des transceivers à fibre optique sont nécessaires.

Protocoles modernes et modèles de mise en œuvre

Aurora et les protocoles de streaming personnalisés

Xilinx propose le protocole Aurora comme un lien léger et évolutif pour connecter FPGA-à-FPGA à travers les plans arrières. Aurora gère l'initialisation, le collage des canaux et le contrôle du débit, laissant le contenu des données entièrement à l'utilisateur. Le protocole prend en charge les liaisons simples ou duplex avec un nombre de voies configurables. La mise en œuvre est simple à l'aide du noyau IP Aurora, qui gère la configuration des transceivers, l'alignement et le collage. Le noyau comprend la conception testbench et exemple, ce qui en fait un excellent point de départ pour les liens série personnalisés.

JESD204B/C pour convertisseurs de données à grande vitesse

La norme d'interface JESD204 est devenue la méthode dominante pour connecter les CDA et les CAD à haute vitesse aux FPGA. La révision B prend en charge la latence déterministe, la synchronisation multi-appareils et les vitesses de voies jusqu'à 12,5 Gbps. La révision C étend le taux de voie à 32 Gbps. La mise en œuvre de JESD204 nécessite une attention particulière au cadrage : le convertisseur envoie des données dans des cadres regroupés en multi-images, avec des signaux d'alignement intégrés dans les caractères de contrôle. Les cœurs IP FPGA gèrent la couche de transport, mais vous devez configurer les paramètres de liaison (nombre de voies, convertisseurs, échantillons par cadre, etc.) pour correspondre aux exigences du convertisseur.

PCI Express

PCI Express est omniprésent dans le calcul, et de nombreux FPGA comprennent des blocs IP PCI Express durcis. La couche physique fonctionne à 2,5 GT/s (Gen1), 5 GT/s (Gen2), 8 GT/s (Gen3), 16 GT/s (Gen4) et 32 GT/s (Gen5). Gen3 et plus utilisent 128b/130b encodage avec brouillage et nécessitent DFE au récepteur. La spécification de base PCI Express définit la séquence de formation et d'égalisation des liens, que les transceivers FPGA supportent par la machine d'état PCS. La mise en œuvre d'un paramètre PCI Express personnalisé nécessite le noyau IP PCI Express, qui comprend la couche transactionnelle, la couche de liaison de données et la couche physique. Le noyau gère automatiquement l'espace de configuration, la détection d'erreurs et le contrôle du flux, vous laissant concevoir l'interface de couche d'application.

100G/400G Ethernet et PAM4

La modulation PAM4 code deux bits par symbole en utilisant quatre niveaux de tension, ce qui double le taux de données pour une vitesse de baud. La modulation PAM4 présente de nouveaux défis : il y a trois ouvertures verticales des yeux au lieu d'une, et le rapport signal-bruit est intrinsèquement inférieur à NRZ. Les émetteurs-récepteurs FPGA tels que Xilinx GTY (jusqu'à 58 Gbps PAM4) et GTM (jusqu'à 112 Gbps PAM4) incluent des trancheurs PAM4 dédiés, le CDR optimisé pour la modulation multiniveaux et la logique de boîte de vitesses.

Essais, validation et débogage

Auto-test intégré

Chaque émetteur FPGA comprend des générateurs de motifs et des contrôleurs intégrés. Utilisez les modèles PRBS (PRBS-7, PRBS-15, PRBS-23, PRBS-31) pour souligner le lien avec des modèles de transition de données réalistes. Transmettez PRBS-31 de l'émetteur et vérifiez que le somme de contrôle du récepteur correspond. Les différences indiquent des erreurs de bits ou des problèmes d'alignement. La plupart des émetteurs prennent également en charge les modes de boucle : le retour en boucle série à l'intérieur du PMA (les données sont rééchelonnées et en boucle vers le récepteur) et le retour en boucle parallèle dans le tissu. Utilisez le retour en boucle pour isoler les problèmes : le retour en boucle série teste la logique numérique du récepteur, tandis que le retour en boucle externe par câble ou par rétroplan teste le canal complet.

Essai de la vitesse d'erreur du bit

Pour une cible BER de 10−12, vous devez observer au moins 10[ bits sans erreur. Cela correspond à environ 100 secondes à 10 Gbps. En pratique, tester pendant des périodes plus longues pour détecter des erreurs intermittentes causées par des crosstalk ou des bruits d'alimentation. Certains protocoles nécessitent BER en dessous de 10−12 avec marge; PCI Express Gen4, par exemple, spécifie un BER de 10−12 à l'entrée du récepteur.

Dépannage de problèmes communs

Lorsque le lien ne parvient pas à initialiser, vérifiez les éléments suivants dans l'ordre : présence de l'horloge de référence et précision de la fréquence, réinitialisation du séquençage du récepteur, état de verrouillage du LVL, état de verrouillage du DMC et état d'alignement. Chaque fournisseur de FPGA fournit des indicateurs de statut accessibles par l'interface du récepteur. Si le DMC se verrouille mais que l'alignement échoue, vérifiez que l'émetteur envoie le bon schéma d'alignement et que le récepteur est configuré pour le détecter. Si l'œil est fermé au récepteur, augmentez l'accentuation de l'émetteur et ajustez le TBLE. Si le lien fonctionne de façon intermittente, vérifiez l'onduleur d'alimentation et assurez-vous que les condensateurs de découplage sont correctement placés.

Méthodologie de conception et flux d'outils

Une approche systématique réduit les risques et accélère le développement. Commencez par l'assistant de l'émetteur fournisseur pour générer l'instantiation primitive correcte. Simuler le comportement de l'émetteur à l'aide des modèles de simulation fournis par le fournisseur, vérifier le timing de remise à zéro, le temps de verrouillage PLL et le comportement de verrouillage CDR. Créez un testbench qui exerce le générateur de patron PRBS intégré et le vérificateur. Une fois la simulation passée, passez au matériel d'arrivée à l'aide d'un simple test de boucle. Après avoir confirmé que l'émetteur fonctionne correctement, ajoutez votre logique de protocole progressivement. Utilisez les capacités d'analyse de logique embarquées (Xilinx ILA, Intel Signal Tap) pour surveiller les signaux d'état interne pendant le débogage.

Maintenir un log de marge de liaison pendant le développement, enregistrer les mesures de hauteur et de largeur des yeux pour chaque planche et chaque coin de température. Ces données aident à identifier les variations de fabrication et guide les changements de conception pour la prochaine révision.

Orientations futures et tendances technologiques

Les débits de données en série continuent d'augmenter, en raison des exigences de bande passante du centre de données et des normes émergentes comme l'Ethernet 800G et PCI Express Gen6 (64 GT/s). Les émetteurs-récepteurs FPGA intégreront des formats de modulation avancés, y compris PAM6 et PAM8, nécessitant une péréquation encore plus sophistiquée. Les optiques co-emballées, où les émetteurs-récepteurs optiques sont intégrés dans le même paquet que le FPGA, élimineront les pertes de conversion électrique-optique-électrique à l'interface du module.

En comprenant l'architecture des émetteurs-récepteurs, en s'attaquant à l'intégrité des signaux dès le départ et en utilisant les outils de test et de mesure disponibles, vous pouvez implémenter de manière fiable la communication série multi-gigabits dans vos systèmes.