Table of Contents
Les cartes de porte programmables sur le terrain (FPGA) sont devenues indispensables dans les systèmes numériques modernes à grande vitesse, offrant une flexibilité et des performances inégalées pour des applications allant des télécommunications et des centres de données au commerce à haute fréquence et à l'aérospatiale. Cependant, la conception de systèmes basés sur FPGA qui fonctionnent à des fréquences multigigahertz introduit une foule de défis complexes qui exigent une expertise approfondie dans l'intégrité des signaux, la fermeture du calendrier, la gestion de l'énergie et la conception des PCB.
Comprendre les systèmes à grande vitesse basés sur l'AFPG
Contrairement aux circuits intégrés spécifiques aux applications (ASIC), les FPGA permettent un prototypage rapide et des mises à jour sur le terrain, ce qui les rend idéales pour les applications à grande vitesse où le temps de mise sur le marché et l'adaptabilité sont critiques. Les FPGA modernes contiennent des blocs IP rigides tels que les émetteurs-récepteurs à grande vitesse (jusqu'à 112 Gbps PAM4), la mémoire intégrée, les tranches DSP et les cœurs de processeur, permettant aux systèmes de traitement des données à des taux dépassant 1 Tbps. Dans le commerce à haute fréquence, par exemple, les plates-formes basées sur FPGA atteignent une latence inférieure à la microseconde en traitant les données du marché directement dans le matériel, contournant les frais généraux des approches basées sur les logiciels.
L'avantage fondamental des FPGA réside dans leur architecture parallèle. Alors que les CPU et les GPU dépendent de l'exécution d'instructions séquentielles, les FPGA peuvent mettre en œuvre des milliers de chemins de traitement parallèles, chacun fonctionnant à haute fréquence d'horloge. Cependant, ce parallélisme introduit la complexité de conception : chaque chemin de signal doit être soigneusement géré pour répondre aux contraintes de temps, et la disposition physique de la FPGA mourir et des PCB environnants doit préserver l'intégrité du signal à des vitesses multi-gigabits.
Principaux défis de conception dans les systèmes à grande vitesse FPGA
La conception de systèmes à haute vitesse basés sur FPGA implique la navigation de multiples défis interdépendants. Ci-dessous, nous examinons chaque défi en profondeur, de l'intégrité du signal à la gestion thermique, et nous discutons de l'influence qu'ils ont sur la performance et la fiabilité du système.
1. Intégrité du signal aux vitesses multi-Gigabits
L'intégrité des signaux (SI) est peut-être la préoccupation la plus critique dans les conceptions FPGA à haute vitesse. Comme les taux de données grimpent au-dessus de 1 Gbps, les effets physiques négligeables aux fréquences inférieures deviennent dominants. Le comportement de la ligne de transmission, les erreurs d'appariement, les interférences croisées et électromagnétiques (IME) peuvent corrompre les données et causer des défaillances du système.
Les questions communes d'IS comprennent :
- Réflections causées par des erreurs d'impédance entre la sortie du FPGA, la trace de PCB et le récepteur. Une bonne terminaison (série, parallèle ou AC) est essentielle.
- Crosstalk à partir de traces adjacentes dues à un couplage capacitif et inductif. Des règles d'espacement strictes et des traces de garde à la terre réduisent le couplage.
- Nuisance d'alimentation[ qui se combine en voies de signal. Des réseaux de distribution d'électricité à faible impédance (PDN) avec des condensateurs de découplage adéquats sont requis.
- Jitter provenant de sources d'horloge, de bruit de puissance et d'ISI. Il faut minimiser les jitters déterministes pour maintenir les marges de timing.
Pour atténuer ces problèmes, les concepteurs se fient à des outils de simulation tels qu'Ansys HFSS, Cadence Sigrity ou HyperLynx pour modéliser les chemins de signal avant la fabrication. Les diagrammes oculaires, les paramètres S et les diagrammes de réflectométrie du domaine temporel (TDR) sont des paramètres standard pour évaluer les performances SI. Par exemple, un diagramme oculaire avec une ouverture large « œil » indique une faible agitation et un bruit, tandis qu'un œil fermé suggère une dégradation sévère du signal.
2. Fermeture du calendrier : atteindre les fréquences cibles de conception
La fermeture à temps implique de s'assurer que tous les registres de la FPGA répondent aux contraintes de temps et de configuration à la fréquence de l'horloge cible. Les conceptions à grande vitesse repoussent souvent les limites du tissu FPGA, nécessitant une synthèse, un placement et un routage méticuleux.
Voici les principaux aspects de la fermeture du calendrier :
- Définition des contraintes précises de l'horloge, y compris les délais de temps d'horloge, de jitter et d'entrée/sortie.
- Enregistrer la retiming pour équilibrer les retards de chemin en déplaçant les registres à travers la logique combinatoire.
- Pipelining long chemin combinatoire pour réduire la longueur du chemin critique. Par exemple, un adder 32 bits peut être pipelineé en plusieurs étapes pour fonctionner à des fréquences plus élevées.
- Optimisation physique[ telle que duplication de filets à haut débit ou déplacement de cellules pour réduire les retards de routage.
- Utiliser des ressources matérielles dédiées comme des blocs DSP48 (Xilinx) ou ALM/ALUTs (Intel) optimisés pour la vitesse.
Malgré ces techniques, la fermeture du temps nécessite souvent une synthèse itérative et des parcours de place-et-route, ainsi qu'une intervention manuelle. Les concepteurs peuvent avoir besoin d'échanger la zone pour réduire les contraintes de vitesse ou de détendre sur les chemins non critiques.
3. Consommation d'énergie et gestion thermique
L'opération à grande vitesse augmente intrinsèquement la consommation de puissance dynamique, qui s'échelle linéairement avec la fréquence et quadratiquement avec la tension. Dans les grandes FPGA avec des centaines de milliers de cellules logiques et d'émetteurs à grande vitesse, la puissance totale peut dépasser 50-100 watts. Cela génère une chaleur importante, augmentant les températures qui dégradent les performances et la fiabilité.
La consommation d'énergie des FPGA comporte trois composantes : dynamique (interrupteur), statique (défaillance) et puissance d'entrée et d'entrée et d'entrée. Les conceptions à grande vitesse exacerbent la puissance dynamique en raison de la fréquence des basculements de filets et d'arbres d'horlogerie.
- Voltage dynamique et calibrage de fréquence (DVFS) – diminution de la tension centrale et de la fréquence de l'horloge pendant les périodes de ralenti.
- Clock gating – désactivation des branches d'horloge à la logique inutilisée pour réduire l'activité de commutation.
- Gating de puissance – arrêt de régions entières du FPGA (supportées par certains appareils).
- Utilisation sélective des émetteurs-récepteurs à grande vitesse – ne permettant les canaux que lorsque cela est nécessaire.
- ]Une conception logique efficace – minimiser les problèmes et éviter les changements d'état inutiles.
La gestion thermique implique à la fois un refroidissement actif (fans, refroidissement liquide) et des puits de chaleur passifs. Des outils de simulation comme FloTHERM ou Icepak prédisent les températures de jonction et guident la sélection des puits de chaleur.
4. Défis de conception des BPC pour les signaux à grande vitesse
Les signaux à grande vitesse (≥1 Gbps) nécessitent des traces d'impédance contrôlées (généralement 50--extrémité unique, 100-différent), une adéquation précise de longueur et des stubs minimaux. Les FPGA modernes avec paquets BGA (p. ex., pitch à billes 0,8 mm ou 1,0 mm) ajoutent une complexité supplémentaire en raison de la densité du routage et par le biais de structures.
Les principales considérations liées à la conception des BPC sont notamment les suivantes :
- Emballage de layer – utilisant au moins 6-8 couches pour l'acheminement des signaux, avec des plans sol et puissance séparés. Les signaux à grande vitesse doivent être acheminés sur les couches extérieures avec des plans sol adjacents.
- Renvoi de ligne de transmission – configurations de microstrip ou de stripline avec impédance contrôlée. Éviter les coins de 90 degrés; utiliser des chanfreins de 45 degrés ou des traces courbes.
- Renvoi de paires différentielles[ – maintien d'un couplage serré et de longueurs égales (peau de moins de 5-10 ps pour les signaux 10+ Gbps).
- Découplage du positionnement du condensateur – proche des goupilles de puissance FPGA, avec des vias à faible inductance et des valeurs multiples pour couvrir une large gamme de fréquences.
- L'optimisation de la voie – utilisant des microvias ou des trous de dos pour réduire les effets de stub. Pour les signaux supérieurs à 10 Gbps, via les stubs peut causer une perte d'insertion significative.
- Rondissement – plans de sol solides avec des fentes minimales, et coutures via des clôtures pour réduire l'IME.
Des outils de conception comme Altium Designer, Cadence Allegro ou Mentor PADS offrent des fonctionnalités avancées pour la mise en page à grande vitesse, y compris le routage par contrainte et l'analyse de l'intégrité du signal liée au schéma.
5. Réalisation d'une faible latence avec un haut rendement
Dans les applications comme le trading à haute fréquence, le traitement radar ou l'inférence AI, la latence et le débit sont requis. Les FPGA excellent ici en raison de leur capacité à mettre en œuvre des architectures de streaming où les données circulent à travers un pipeline avec un tampon minimal. Cependant, équilibrer la latence et le débit est un défi constant.
Les stratégies sont les suivantes :
- Pipelining avec des coutures de registre – ajout de registres seulement là où il est nécessaire de casser les chemins critiques tout en gardant les chemins courts.
- Structures de cascade – utilisant des chaînes de transport ou des cascades DSP dédiées pour des opérations arithmétiques sans retard de routage supplémentaire.
- La conception de domaine multi-horloges – actionnant différentes parties du système à leur fréquence optimale, en utilisant des FIFO pour la synchronisation.
- Reconfiguration partielle[ – échange de modules de traitement à la volée sans réinitialiser l'ensemble du système, réduisant ainsi le temps de ralenti.
- Interfaces série haute vitesse (p. ex. JESD204B, PCIe Gen5) – déplacer les données rapidement dans et hors du FPGA tout en minimisant les frais généraux du protocole.
Par exemple, un système de négociation pourrait traiter les données du marché entrantes dans une architecture en pipelines avec un budget de latence de 10 microsecondes. Chaque étape de traitement doit se terminer en quelques cycles d'horloge, et le retard total du pipeline détermine la latence finale.
Stratégies pour surmonter les défis de la conception à grande vitesse
Pour relever les défis ci-dessus, il faut adopter une approche systématique qui intègre la simulation, la mesure et le raffinement itératif. Voici des stratégies éprouvées utilisées par les équipes de conception de FPGA.
Analyse complète de l'intégrité des signaux
Commencez l'analyse SI au début du cycle de conception, même avant que la mise en page des PCB ne soit finalisée. Utilisez les modèles IBIS ou IBIS-AMI pour les I/S FPGA pour simuler le comportement du pilote et du récepteur. Effectuez des simulations pré-couche pour déterminer la largeur optimale des traces et l'espacement. Après la mise en page, exécutez des simulations post-couche avec des paramètres S extraits pour vérifier les ouvertures des yeux et les budgets de jitter.
- Recommandations d'outils:[ Ansys SIwave, CST Studio, Keysight ADS.
- Mesures clés: Hauteur des yeux > 200 mV, largeur des yeux > 0,6 UI, total de la perte < 0,2 UI.
Ingénierie des contraintes de temps
Écrire des contraintes de temps détaillées dès le premier jour. Inclure les incertitudes d'horloge (jitter, skew), les retards d'entrée et de sortie, les faux chemins et les chemins à cycle multiple. Utiliser les rapports de synthèse pour identifier le plus mauvais cas de relâchement négatif (WNS) et fixer d'abord les chemins les plus critiques.
Conseil:[ Régler les contraintes de retard d'entrée pour tenir compte des retards de propagation et des changements de phase de l'horloge au niveau de la planche.
Gestion de l'énergie et refroidissement
Utilisez des outils d'estimation de puissance (Xilinx Power Estimator (XPE), Intel Early Power Estimator) pour calculer la puissance dynamique et statique aux premiers stades. Choisissez des FPGA avec des puissances appropriées et des capacités de dissipation de chaleur. Implémentez le ginging des horloges en désactivant les horloges aux modules de ralenti (par exemple, en utilisant des primitives BUFGCE).
- Réduction de la puissance dynamique:[ Fréquence de fonctionnement inférieure pendant les périodes non critiques.
- Réduction de la puissance statique:[ Utiliser des variantes FPGA de faible puissance (p. ex. Xilinx Kintex UltraScale+).
Méthodes de conception avancées des PCB
Concevoir des BPC en mettant l'accent sur les règles de routage à grande vitesse. Utiliser des résolveurs de champ 2D (p. ex. Polar SI9000) pour déterminer les géométries de trace pour l'impédance de la cible. Pour les paires différentielles, garder le rapport entre l'écart et la hauteur (h/j) autour de 1:1. Éviter de faire passer des signaux à grande vitesse à travers des plans à sol partagé.
Pour les systèmes multi-cartes, considérez les connecteurs à encombrement aveugle pour 25 Gbps (par exemple, série Samtec HSEC8). Validez les modèles de connecteurs et de câbles avec simulation en onde pleine.
Utilisation des ressources de l'AGFP à haut rendement
Pour les communications à grande vitesse, utilisez les émetteurs-récepteurs intégrés (p. ex., les émetteurs Xilinx GTM jusqu'à 112 Gbps). Pour le traitement des données, utilisez des tranches DSP48 qui peuvent effectuer une accumulation multiple jusqu'à 890 MHz. Les blocs-mémoire embarqués (Block RAM, UltraRAM) fournissent un stockage rapide et double port pour les FIFO et les tampons.
L'utilisation de ces ressources décharge le tissu logique souple, réduisant ainsi la congestion de l'acheminement et la consommation d'énergie.
Considérations supplémentaires: Vérification et débogage
Les modèles FPGA à grande vitesse nécessitent une vérification approfondie au-delà de la simulation. Utilisez des cœurs de débogue intégrés (par exemple Xilinx ILA, Intel SignalTap) pour capturer les signaux internes à la vitesse. Pour les liaisons avec les émetteurs-récepteurs, utilisez des fonctions de surveillance oculaire pour mesurer la qualité des signaux en temps réel.
Le prototypage avec des FPGA plus petits ou des conceptions partielles aide à identifier les problèmes tôt. La collaboration avec les ingénieurs de la mise en page des PCB pendant la phase de conception empêche les respins coûteux.
Tendances futures et solutions en évolution
Les systèmes d'emballage 3D-IC (p. ex., interconnection en silicium empilé Xilinx) réduisent la longueur des traces entre la mémoire FPGA et la mémoire HBM, améliorant à la fois la latence et l'intégrité des signaux. Les interconnections optiques pour la communication au niveau des panneaux promettent une perte plus faible et une bande passante plus élevée que le cuivre. Du côté de l'EDA, des algorithmes d'apprentissage des machines sont utilisés pour le placement et le routage automatisés, réduisant ainsi les itérations de fermeture des horaires.
Les concepteurs doivent rester à jour avec la documentation des fournisseurs (par exemple Xilinx UG949, Intel AN767) et participer à des groupes industriels comme le JEDEC et l'OIF pour les normes. La voie vers la conception FPGA à haute vitesse réussie se situe dans une simulation rigoureuse, la conception prudente des PCB et la mise à profit de ressources matérielles spécialisées.
Pour plus de détails, voir Xilinx Documentation, Intel FPGA Documentation[ et papiers d'IEEE sur la conception à grande vitesse FPGA.