Nicolas LETENDRE – LAPP Annecy Journées VLSI - PCB - FPGA – IAOCAO Jeudi 24 Juin 2010
Les FPGA actuels Tendance à l’intégration des transceivers dans les FPGA: Jusqu’à 48 transceivers par FPGA Jusqu’à 11.3 Gbps par lien Blocs hardware dédiés: PCI express, Ethernet → économie d’ éléments logiques. Intégration des transceivers dans les FPGA « Low cost » 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO2 Utilisation: Liaisons cuivre fond de panier, inter-fpga, adc… Liaisons fibres optiques Protocoles: PCI Express Ethernet (GbE, XAUI, & SGMII) Serial Rapid I/O HyperTransport TM Fibre Channel SDI Protocol « Maison » etc…
Le marché AlteraXilinxLattice Haut de gammeStratix IV GX Maxi 48 Stratix II GX Maxi 20 Stratix GX Maxi 20 Virtex 6 Maxi 48 Virtex 5 Maxi 48 Middle rangeArria II GX Maxi 16 Arria GX Maxi 12 LFSC Maxi 32 Low costCyclone IV GX Maxi 8 Spartan 6 LXT Maxi 8 ECP3 Maxi 16 ECP2M Maxi 8 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO3
Fonctionnement 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO4 Sérialiseur 16b/8b Encodeur 8b/10b Sérialiseur PLL Transmission PLL Reception Recouvrement horloge Word Aligner Décodeur 8b/10b Déserialiseur 8b/16b Alignement Deserialiseur Horloge réception Horloge référence 2 2 Tx_control Rx_control Partie AnalogiquePartie Numérique Réception Emission
Buffer d’entrée 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO5 Plusieurs standards différentiels supportés (voir tableau ci-dessous pour l’Arria II GX d’Altera) Résistances différentielles de terminaison programmables (bloc de calibration) Détection de signal Réglage de la tension de mode commun Egalisation programmable (boost des hautes fréquences), suppression d’offset Couplage AC ou DC
Buffer de sortie 24 Juin 2010 Journées VLSI - PCB - FPGA – IAOCAO6 Les données sont transmises en différentiel Sur le StratixGx, ArriaII GX: 1.5V PCML (Pseudo current mode logic) Possibilité de pré-accuentuation du signal (pre-emphasis) Réglage de la tension différentielle Transmission cuivre sur 100 Ohm différentiel, sur des distances maximum d’1.4m Résistances de terminaison programmables (OCT On Chip Terminaison)
Implémentation 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO7 Configuration graphique relativement simple (Altera) => génération d’un ficher en langage HDL à utiliser dans son design
Hardware Attention au jitter de l’oscillateur de référence Utilisation de « jitter cleaner » en cas de problème Routage: Impédance contrôlée des pistes différentielles Routage microstrip ou stripline Éviter les vias (rupture d’impédance et stubs) Choix du diélectrique du PCB Simuler les liaisons si possible 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO8
Débogage 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO9 Des rebouclages internes sont prévus pour effectuer des tests sans passer par la liaison externe Un générateurs de données aléatoires (PRBS) et un vérificateur permettent de vérifier l’integrité des données. Sérialiseur 16b/8b Encodeur 8b/10b Sérialiseur PLL Transmission PLL Reception Recouvrement horloge Word Aligner Décodeur 8b/10b Déserialiseur 8b/16b Alignement Deserialiseur Horloge réception Horloge référence 2 2 Tx_contro l Rx_contro l Générateur PRBS Vérification PRBS
débogage Scopes rapides – Serial Data Analyser Analyse de l’œil, du jitter, vérification des standards (PCI-e …) Prévoir les connexions éventuelles lors de la CAO 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO10
Expérience Virgo - Calva Système d’acquisition avec interfaces optiques SFP à 1.6 Gbps Carte d’interface PCI ↔ Fibres Optiques (StratixII GX) Carte de routage 8 e/s de données transitant sur le réseau de fibres optiques (Stratix GX) Carte ADC 16 canaux avec e/s sur fibre optique (Cyclone II + SerDes externe pour raison de coûts) 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO11
CTF3 Interface ADC Méch sorties sur liens séries à 2 Gbps (StratixII GX) Interface optique SFP à 6 Gbps (StratixII GX) 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO12
Upgrade LAR Atlas Interfaces optiques à 8.5 Gbps sur une carte format ATCA 30 liens par FPGA (24 vers optique + 6 vers FPGA) Stratix IV GX 24 Juin 2010Journées VLSI - PCB - FPGA – IAOCAO13