23
Utilisation des liaisons Utilisation des liaisons séries embarquées dans séries embarquées dans les FPGA XILINX les FPGA XILINX

Utilisation des liaisons séries embarquées dans les FPGA XILINX

Embed Size (px)

Citation preview

Page 1: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Utilisation des liaisons Utilisation des liaisons séries embarquées dans séries embarquées dans

les FPGA XILINXles FPGA XILINX

Page 2: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Participation au Firmware de la Participation au Firmware de la TCC68TCC68

Utilisation du Virtex II ProUtilisation du Virtex II Pro11erer FPGA Xilinx à contenir des modules FPGA Xilinx à contenir des modules

séries haute vitesse intégrésséries haute vitesse intégrés Le Rocket IO : intégration au FPGAs Le Rocket IO : intégration au FPGAs

d’une interface série rapided’une interface série rapide Possibilité de réaliser des liens série Possibilité de réaliser des liens série

haute vitesse avec l’architecture haute vitesse avec l’architecture ordinaire d’un FPGAordinaire d’un FPGA

Page 3: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Le Rocket IOLe Rocket IO 11èreère intégration dans les Virtex II Pro intégration dans les Virtex II Pro

~2001~2001 Collaboration entre Xilinx, Mindspeed, Collaboration entre Xilinx, Mindspeed,

IBM et WindRiverIBM et WindRiver

Xilinx Xilinx Expertise FPGA, avec : Expertise FPGA, avec : - SELECTIO (entrées/sorties Multiples SELECTIO (entrées/sorties Multiples

standards jusqu’à 840 Mb.sstandards jusqu’à 840 Mb.s-1 -1 dans les dans les Virtex II Pro)Virtex II Pro)

- XCITE (XCITE (Controlled Impedance TechnologyControlled Impedance Technology) ) pour l’ Intégrité de Signalpour l’ Intégrité de Signal

Page 4: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Le Rocket IOLe Rocket IO

MindSpeed MindSpeed SkyRail : IP’s SkyRail : IP’s

Transmetteurs à Transmetteurs à Performances Performances

(600 Mb à 3.125 (600 Mb à 3.125 Gbits.sGbits.s-1-1) et ) et

manufacturabilité manufacturabilité prouvéesprouvées

PCS

Physical Coding Sublayer

PMA

Physical Media Attachement

Page 5: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Le Rocket IOLe Rocket IO

IBM IBM manipulation live : PowerPC 405 manipulation live : PowerPC 405 connectique : CoreConnect Busconnectique : CoreConnect Bus

WindRiver Compiler, Soft Debugger et WindRiver Compiler, Soft Debugger et Hardware Probe : lien softwareHardware Probe : lien software

Solution Complète avec support sur Solution Complète avec support sur chaque partie du flowchaque partie du flow

Concurrent des SoC haute bande Concurrent des SoC haute bande passante auparavant uniquement passante auparavant uniquement

ASICsASICs

Page 6: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Le Rocket IO : solutions Le Rocket IO : solutions intégréesintégrées

Standards complètements intégrés : Standards complètements intégrés :

Ethernet, Fast Ethernet, Gigabit Ethernet, Ethernet, Fast Ethernet, Gigabit Ethernet,

Infiniband et XAUI (Ethernet 10 Gbits)Infiniband et XAUI (Ethernet 10 Gbits)

Possibilité de customiser, mixer les ParamètresPossibilité de customiser, mixer les Paramètres Vs Circuit externe : PuissanceVs Circuit externe : Puissance

utilisation surface PCB utilisation surface PCB lignes sur les bus lignes sur les bus contrôle des terminaisons, du swing et possibilité de contrôle des terminaisons, du swing et possibilité de

préaccentuation préaccentuation optimiser le rapport signal/bruit optimiser le rapport signal/bruit

Page 7: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Power Switching : Power Switching : signal signal Power offPower off place les RIO au niveau BIAS place les RIO au niveau BIAS

Le Rocket IO : solutions Le Rocket IO : solutions intégréesintégrées

Configurable en partie même en cours de fonctionnement Configurable en partie même en cours de fonctionnement à partir du cœur FPGA et du PowerPC (ICAP)à partir du cœur FPGA et du PowerPC (ICAP)

possibilité de couper possibilité de couper (externe) (externe)

les alims de terminaison les alims de terminaison des Pads VTTX/RXdes Pads VTTX/RX ports de sortieports de sortie

en HighZen HighZ

Page 8: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Complications…Complications…

Les inconvénients : Les inconvénients : - Composant rapideComposant rapide

modèles dédiés pour la simulationmodèles dédiés pour la simulation

HSPICE : analogique (modèles HSPICE : analogique (modèles encryptés)encryptés)

SmartModels : logique (également SmartModels : logique (également cryptés)cryptés)

circuits circuits boîtes noires boîtes noires

Font le lien avec les modèles Swift Font le lien avec les modèles Swift

(librairies HDL encryptées)(librairies HDL encryptées)

Page 9: Utilisation des liaisons séries embarquées dans les FPGA XILINX

L’évolution Logicielle a un L’évolution Logicielle a un coûtcoût

- Modèles analogiques hautes fréquences : Modèles analogiques hautes fréquences : convergence simulateur :convergence simulateur :

pas simulation pas simulation picosecondepicoseconde temps simulation temps simulation du même rapport du même rapport

- Modification d’options du simulateursModification d’options du simulateurs- Utilisation des librairies Utilisation des librairies SwiftSwift avec les avec les

simulateurs simulateurs Licences de niveau supérieurLicences de niveau supérieur~30 simulateurs supportés~30 simulateurs supportés

Ex : ModelSim Ex : ModelSim versions PE, SE ou XEIII et pas XE versions PE, SE ou XEIII et pas XE

Page 10: Utilisation des liaisons séries embarquées dans les FPGA XILINX

L’installation des LibrairiesL’installation des Librairies

Installation SmartModels Installation SmartModels

utilitaire Xilinx sl_admin [2]utilitaire Xilinx sl_admin [2] Compilation librairies Verilog Compilation librairies Verilog

cryptéescryptées

Environnement SimulateurEnvironnement Simulateur

Page 11: Utilisation des liaisons séries embarquées dans les FPGA XILINX

L’exemple de la TCC68L’exemple de la TCC68

Lien SRP (Lien SRP (Selective Readout ProcessorSelective Readout Processor) ) réalisée au CEA/DAPNIA (Irakli Mandjavidze)réalisée au CEA/DAPNIA (Irakli Mandjavidze)

Implémentation d’un lien Customisé à 1.6 Implémentation d’un lien Customisé à 1.6 Gbits avec 8b/10b, Calcul de CRCGbits avec 8b/10b, Calcul de CRC

Les problèmes rencontrés : Les problèmes rencontrés :

La compilation : version et param. du La compilation : version et param. du simulateursimulateur

Les constantes (Nombreuses et parfois Les constantes (Nombreuses et parfois obscures), génériques obscures), génériques vs vs signauxsignaux

Page 12: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Attention!!!Attention!!!

Un certain nombre de contraintes à respecter : Un certain nombre de contraintes à respecter : Outre, la précision des alims et des circuits de protectionOutre, la précision des alims et des circuits de protection Le Jitter de l’horloge externe (≤60ppm)Le Jitter de l’horloge externe (≤60ppm) Pads et Buffers d’horloge à utiliserPads et Buffers d’horloge à utiliser Les différents domaines d’horloge à générer en Les différents domaines d’horloge à générer en

interne pour récupération, réception, transmission, interne pour récupération, réception, transmission, contrôle…contrôle…

Un guide de l’utilisateur lourd et manquant parfois de Un guide de l’utilisateur lourd et manquant parfois de cohérence et de détails alors que peu synthétique.cohérence et de détails alors que peu synthétique.

Paramétrage complexe et non intuitifParamétrage complexe et non intuitif Merci à …Merci à …

Page 13: Utilisation des liaisons séries embarquées dans les FPGA XILINX

SynthèseSynthèse

ComplexitéComplexité à 1à 1èreère vue, quelques semaines devraient vue, quelques semaines devraient

suffiresuffire En fait… quelques mois et plusieurs lectures En fait… quelques mois et plusieurs lectures

avec prise de notesavec prise de notes Formations (ex: MVD) : quelques jours, jargon Formations (ex: MVD) : quelques jours, jargon

accumulé au fur et à mesure des accumulé au fur et à mesure des développements, difficulté d’accès développements, difficulté d’accès plus utile pour une synthèse et un supportplus utile pour une synthèse et un support

Appel à l’aideAppel à l’aide

Mais Robustesse, précision et observabilitéMais Robustesse, précision et observabilité

Page 14: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Un autre casUn autre cas

Le rocket IO a de nombreux avantages Le rocket IO a de nombreux avantages Mais, Fréquences < 840 Mbits.sMais, Fréquences < 840 Mbits.s-1-1

implémenter un lien série à la main peut implémenter un lien série à la main peut être plus rentableêtre plus rentable

Description + proche du hardware Description + proche du hardware Permet d’approcher de + près la structure Permet d’approcher de + près la structure

du FPGA (meilleure maîtrise des enjeux) du FPGA (meilleure maîtrise des enjeux) Meilleure maîtrise de la synthèseMeilleure maîtrise de la synthèse Compétences + réutilisablesCompétences + réutilisables

Page 15: Utilisation des liaisons séries embarquées dans les FPGA XILINX

SituationSituation

Modèles disponibles dans les notes Modèles disponibles dans les notes d’application Xilinx qui possède de très bons d’application Xilinx qui possède de très bons développeurs FPGA (Ex : xapp265 [5] par développeurs FPGA (Ex : xapp265 [5] par Nick Sawyer).Nick Sawyer).

Données du LHC : TCC Données du LHC : TCC DCC (concentration DCC (concentration de de données) données)

Lien cuivre à 720 Mb.sLien cuivre à 720 Mb.s-1-1 réceptionné par un réceptionné par un circuit de déserialisation fondeur (DS92LV18) circuit de déserialisation fondeur (DS92LV18)

Protocole de données peu standard.Protocole de données peu standard.

Page 16: Utilisation des liaisons séries embarquées dans les FPGA XILINX

SpécificationsSpécifications

Horloge récupérée sur les données série mais Horloge récupérée sur les données série mais paspas avec un code Manchester, signaux NRZ… avec un code Manchester, signaux NRZ… Transmission directe de la Clock en début de Transmission directe de la Clock en début de motmot

(équivalent de la master transition du CIMT)(équivalent de la master transition du CIMT)

Régularité des transition forcée : Régularité des transition forcée :

Page 17: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Détachement du modèleDétachement du modèleProblème : Problème :

Change la fréquence de transmission, Change la fréquence de transmission, Perte de la symétrie des puissances de Perte de la symétrie des puissances de 2.2.

Clock @80 MHz, Mots de 16 bits @40 MHzClock @80 MHz, Mots de 16 bits @40 MHz

640 Mb.s640 Mb.s-1-1 normalement normalement

Ici Ici 720 Mb.s 720 Mb.s-1-1..

Machine de génération des trames Machine de génération des trames séries séries

plus complexeplus complexe

Page 18: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Marge, enjeux, RobustesseMarge, enjeux, Robustesse

Horloges : 1 @ rapport cyclique 1/9Horloges : 1 @ rapport cyclique 1/91 @4,5xClk (9x@Data) + bascules 1 @4,5xClk (9x@Data) + bascules

DDR DDR fréq. interne 360 MHzfréq. interne 360 MHz

Utilisation multiplication d’horloge DCM : Utilisation multiplication d’horloge DCM : fréq. < 640 Mb.sfréq. < 640 Mb.s-1-1 conseillé (Jitter) conseillé (Jitter)

Point crucial : placement fortement contraint Point crucial : placement fortement contraint des bascules du design (location absolue) des bascules du design (location absolue)

routabilité et respect des contraintes de routabilité et respect des contraintes de timings très fortes.timings très fortes.

Page 19: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Schéma du Sérialiseur 720 Schéma du Sérialiseur 720 MHzMHz

Page 20: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Netteté des signauxNetteté des signaux

A l’oscilloscope en sortie de la carte (3 jours d’accumulation)

Oscilloscope Lecroy

Bande Passante

500MHz

5 Gsample/sec

Page 21: Utilisation des liaisons séries embarquées dans les FPGA XILINX

ValiditéValiditéUtilisation de Matlab pour processer les données échantillonnées à l’oscilloscope

Jitter calculé sur 5 Méga échantillons

avec un oscilloscope

Lecroy 500MHz 5Gsample/sec

Page 22: Utilisation des liaisons séries embarquées dans les FPGA XILINX

ConclusionConclusion

Fonction de la fréquence de Fonction de la fréquence de fonctionnementfonctionnement

RIO très utile, plutôt facile d’utilisation RIO très utile, plutôt facile d’utilisation et robuste une fois maîtriséet robuste une fois maîtrisé

Bonnes performances et meilleure Bonnes performances et meilleure compréhension dans le 2compréhension dans le 2èmeème cas casUtilisable également quand pas de RIOUtilisable également quand pas de RIO

Page 23: Utilisation des liaisons séries embarquées dans les FPGA XILINX

Liens et ContactsLiens et ContactsRéférences : Références : [1] RocketIO User’s Guide[1] RocketIO User’s Guide[2] Installation des librairies pour la simulation[2] Installation des librairies pour la simulationDossiers de Presse Xilinx : Dossiers de Presse Xilinx : [3][3] et et [4][4][5] Application Note 265 (SerDes)[5] Application Note 265 (SerDes)

Électroniciens responsables du développement des cartes sus citées : Électroniciens responsables du développement des cartes sus citées : TCC68 : TCC68 : Yannick GereebaertYannick GereebaertSRP : SRP : Irakli MandjavidzeIrakli Mandjavidze

Marques pages dans le User’s Guide du RIO: Marques pages dans le User’s Guide du RIO: P22 : schéma fonctionnel globalP22 : schéma fonctionnel globalp74 : liste des séquences de Clock correctionp74 : liste des séquences de Clock correctionp78 : machine d’état de synchronisation du récepteurp78 : machine d’état de synchronisation du récepteurp143 : liste des K-charactersp143 : liste des K-characters