FORMATION : 3 journées pour comprendre le meilleur de Xilinx Recettes VHDL pour tirer le meilleur profit des architectures Spartan-6, Virtex-6 et Series-7 Implémentation de fonctions DSP et entrées/sorties à 1 GigaSample/sec en Spartan-6 Utiliser PlanAhead comme environnement de développement et d analyse Lieux : PARIS du 16 au 18 Novembre 2011 GRENOBLE du 22 au 24 Novembre 2011
SOMMAIRE PRESENTATION GENERALE 3 OBJECTIFS 4 DESCRIPTION DU CONTENU 4 PREREQUIS 8 TARIF DES FORMATIONS 8 CONDITIONS DE PAIEMENT 8 INFORMATIONS ADMINISTRATIVES ET FISCALES DE L ORGANISME DE FORMATION 8 DATES, HORAIRES ET LIEU DES FORMATIONS 9 HOTELS A PROXIMITE 9 INSCRIPTIONS 10 A PROPOS DE MVD TRAINING 10
Présentation générale Ces journées de formation FPGA organisées en collaboration entre MVD Training, Silica et Xilinx sont destinées à sensibiliser les participants sur les méthodes et les outils de conception permettant d optimiser à la fois la densité et la performance des designs, en tirant le meilleur profit des aspects les plus sophistiqués des architectures Spartan-6, Virtex-6 et Series-7, tout en utilisant un code VHDL totalement portable. De nombreuses recettes d écriture de code VHDL compactes, portables et très efficaces en termes de résultats de synthèse, permettront aux participants de faire appel à ces techniques et d améliorer ainsi leur technique de synthèse et d implémentation. Durant la première journée, les points les plus importants de l architecture (nouvelles ressources de slices, gestion et distribution d horloges) sont passés en revue. De nombreux exemples de code VHDL portable et générique seront fournis avec des exemples permettant entre autres - de cibler les ressources cachées des slices (mémoire distribuée, registres à décalage de profondeur ajustable dynamiquement, wide multiplexeurs MuxFx, sans oublier les nouvelles possibilités de la logique arithmétique). La structure des éléments de gestion et de distribution d horloge de la famille Spartan-6 (PLL, DCM, BUFG, BUFIO2, BUFPLL...) sera également passée en revue, afin de comprendre la méthodologie d utilisation. La deuxième journée sera orientée sur les applications de Traitement Numérique du Signal (DSP), et sur les liens de communication rapides en utilisant les ISERDES et OSERDES des blocs d entrée/sortie. Les techniques d implémentation d algorithmes DSP seront analysées en se basant sur les caractéristiques architecturales de l ensemble des familles Spartan-6, Virtex-6 et Series-7. De nombreux exemples de code VHDL générique et portable permettant d inférer efficacement blocs DSP48 et ressources arithmétiques des slices pour des fonctions complexes de filtrage travaillant à 250 MHz voire davantage, et autres fonctions (NCO, modulation AM...) couramment utilisées dans les applications DSP. Souvent directement liés aux applications DSP, les liens de communication rapides mettant en œuvre les ISERDES et/ou OSERDES ainsi que la structure des horloges associées seront présentés dans toute leur simplicité. Un exemple classique d interface FPGA => DAC 14 bits a 2 Giga échantillons par seconde sera détaillé. Xilinx ISE Design Suite 13.2 sera utilisé pour l ensemble des présentations. Les exemples de code source VHDL seront fournis sur une clef USB qui sera remise à chacun des participants. Lors de la troisième journée l outil PlanAhead sera utilisé comme environnement de développement et d analyse. Le cockpit de PlanAhead devient de plus en plus complet, il permet de développer un FPGA en partant du code source et/ou de netlist jusqu à la génération de bitstream et la programmation du FPGA en passant par l insertion d IP, l utilisation de jeux d option et de contrainte, le lancement de simulation D autre part, l analyse des designs de plus en plus complexe (taille, performance, quantité de domaine d horloge ) devient réalisable avec cet outil qui permet de nombreuses actions et vérifications comme les règles de conception, l analyse de timing à différents niveaux, la sélection croisée entre les différentes vues, la visualisation de différentes mesures comme le pourcentage de Flip-Flop utilisé dans une région Le point sera fait sur les possibilités avancées de l outil : TCL, Partitions, Cette journée de formation se basera sur un exemple de projet complet qui sera fourni sur une clef USB remise à chacun des participants. Page 3
Objectifs Première journée (Recettes VHDL pour tirer le meilleur profit des architectures Spartan-6, Virtex-6 et Series7 ): Mieux comprendre les architectures afin d optimiser les fréquences de travail et la densité des designs, tout en réduisant la consommation d un facteur significatif. Maîtriser la méthodologie de conception en langage VHDL compact, flexible et portable, et utiliser efficacement les options et attributs de synthèse et d implémentation ainsi que les contraintes de placement et de timing Comprendre la structure de gestion et de distribution d horloges pour une utilisation efficace Bénéficier d une grande variété d exemples à la fois pratiques et pédagogiques Deuxième journée (Implémentation de fonctions DSP et entrées/sorties à 1 GigaSample/sec en Spartan-6 ) : Tirer profit des ressources DSP (blocs de RAM, blocs DSP48, nouvelles ressources arithmétiques des slices...) pour des fonctions complexes pouvant fonctionner à 250 MHz et davantage en famille Spartan-6. Bien comprendre la méthodologie de mise en œuvre des blocs IO ultra rapides que sont les ISERDES et OSERDES de Spartan-6, permettant de communiquer à plus de 1 Giga- Bit/sec Bénéficier d une grande variété d exemples à la fois pratiques et pédagogiques Pour ces deux journées, les participants désireux d effectuer des travaux pratiques, sont invités à apporter leur PC Portable équipé de ISE Design Suite 13.2 Troisième journée (Utiliser PlanAhead comme environnement de développement et d analyse) : Savoir utiliser l outil PlanAhead comme outil de développement Savoir lancer les différentes analyses Comprendre quand et comment appliquer des contraintes de placement Description du contenu Première journée : Recettes VHDL pour tirer le meilleur profit des architectures Spartan-6, Virtex-6 et Series-7 (Formateur : Mr Edgard GARCIA) Cette journée est destinée à faire comprendre les points essentiels des architectures des FPGA Xilinx, familles Spartan-6, Virtex6 et Series-7, afin d en tirer le meilleur profit dans le cadre de développements en langage VHDL, tout en assurant la portabilité et la maintenabilité des designs. Architectures Informations générales sur les architectures des FPGA Xilinx Rappel sur les architectures Spartan-3 et Virtex-4 Evolution du slice en familles Spartan-6, Virtex-6 et Series-7 Réseaux de distribution d horloges BUFG BUFIO BUFPLL Page 4
Dispositifs de gestion d horloges DCM PLL Structure des blocs d entrée-sortie Bascules d Ios Modes DDR et alignement ISERDES2 et OSERDES2 et réseaux de génération et distribution d horloges rapides Blocs de RAM Spartan-6 et Virtex-6 /Series-7 Blocs DSP48 Spartan-6 et Virtex-6 /Series-7 Recommandations sur la méthodologie de design digital Designs multi horloges Méthodologie de Reset comment éviter les pièges Simulation et utilisation de l analyseur de timing pour détection de problèmes potentiels Notions de pipeline pour augmenter la performance Contraintes de timing Utilisation efficace de l analyseur de timing Conseils pour l écriture du code VHDL Conseils généraux pour un code VHDL sain et non ambigu Différences d interprétation de certaines constructions entre la synthèse et la simulation Quelques tournures à connaitre pour un code efficace et compact Exemples d inférence de fonctions fréquemment utilisées Mémoire distribuée simple et double port Registres à décalage compacts (SRL) Code d inférence de blocs de RAM simple Code d inférence de blocs de RAM double port, avec largeur de bus différents sur les deux ports Exemple d inférence de blocs DSP48 sur quelques fonctions fréquemment utilisées Options, contraintes et attributs de synthèse Revue des options les plus importantes de chacune des étapes synthèse, Translate, Map et Par Principales contraintes de timing Attributs de synthèse pour une meilleure qualité de résultats Deuxième journée : Techniques d implémentation de fonctions DSP en langage VHDL (Formateur : Mr Edgard GARCIA) Cette journée est dédiée à l implémentation de fonctions DSP et à l utilisation des ISERDES et OSERDES pour communication rapide avec le monde extérieur. Basé sur de nombreux exemples réalistes, le contenu de cette formation consiste à montrer comment obtenir des performances impressionnantes, tout en optimisant le nombre de ressources utilisées et la consommation électrique, tout en conservant un code VHDL simple, clair et portable Notions d arithmétiques et d implémentation hardware Arithmétique non signée Arithmétique signée et complément à deux Règles à observer en langage VHDL Addition, soustraction, multiplication Page 5
Nombres fractionnels et notion de virgule fixe Notions de troncation et d arrondi. Implémentation en langage VHDL Notions de saturation exemples concrets Rappel sur les architectures Spartan-6, Virtex-6 et Series-7 Slice et notions d inférence BRAM et notions d inférence DSP48 et notions d inférence Filtres FIR Structures séquentielles et parallèles Notion de dynamique arrondi saturation Exemple de filtre MAC (multiplieur-accumulateur) Comment combiner les fonctions SRL, mémoire distribuée et blocs DSP48 Comment mettre à profit la symétrie des coefficients pour tirer profit de l architecture sur quelques exemples réalistes Exemples de filtres utilisant de multiples Multiplieurs-Accumulateurs Comprendre le séquencement pour pouvoir optimiser à la fois le nombre de ressources utilisées, réduire la consommation et obtenir la meilleure performance Exemples VHDL concrets utilisant des techniques complémentaires Filtres parallèles à base de blocs DSP48 Structure en arbre d additions Structure Transpose : tirer un meilleur profit de l architecture pour augmenter la performance et réduire la consommation électrique tout en simplifiant le code source Structure de filtre systolique pour une performance maximale, réduction de la consommation et simplicité de code source Mise à profit de la symétrie sur la structure de filtre systolique Utilisation de la symétrie sur la structure de filtre Transpose Filtres parallèles à base de slices Décomposition de la structure de filtre Transpose en additionneur à deux ou trois opérandes Traduction en code VHDL : implémentation d un filtre FIR parallèle en Spartan6 de N Taps 100 MHz en code comportemental évolutif de quelques lignes Améliorations possibles de performance et d utilisation de ressources, code VHDL associé et utilisation des options de synthèse appropriées Notions de filtre multi-rate Interpolation et organisation en filtre polyphase Exemple VHDL Décimation et organisation en filtre polyphase Conseils pour la mise à profit de la symétrie Exemple de filtre interpolateur HalfBand Analyse du code source VHDL Implémentation de NCOs et modulation/démodulation Génération d un NCO en mettant à profit la symétrie des quatre quarts de table de sinus/cosinus Mise à profit de l architecture des blocs de RAM pour une implémentation plus efficace Notions de modulation d un signal complexe : I x Sin + Q x Cos, combinant deux blocs DSP par leurs liens directs Implémentation de l arrondi sans utiliser de ressources complémentaires Cas d un Up Converter en Spartan-6 pour DAC 16 bits @1GHz Page 6
Filtre interpolateur par 8 (de 125 MHz a 1 GHz) implémenté en slices Modulation sur la fréquence porteuse entre 0 et 500 MHz Utilisation des ressources de génération/distribution d horloges Mise en services des OSERDES pour communication avec le DAC 16 bits @1GHz Notions de FFT : différents modes possibles d implémentation en fonction des besoins Estimation des performances et des ressources Autres fonctions DSP Cas des filtres IIR Calcul d histogramme Questions/réponses Troisième journée : Utiliser PlanAhead comme environnement de développement et d analyse (Formateur : Mr Ludovic AUBEL) Cette journée est dédiée à l utilisation de l outil PlanAhead comme chaîne de développement. L objectif de cette formation est d expliquer tout le flow de conception de la saisie de code RTL jusqu à la génération du bitstream en passant par les différentes analyses et les outils complémentaires. Toutes les explications se baseront sur un exemple. Introduction au flow Projet de placement des IOs Projet RTL Projet Netlist Projet de placement des IOs Création de ports et d interfaces Ajout/création de contraintes (placement et configuration d IOs) Import/export des IOs DRC et Analyse de bruit Projet RTL/Netlist Ajout/création de code RTL Ajout/création d IP (Coregen) Ajout/création de contraintes de timing Run de synthèse Run d implémentation Programmation et Debug Outils d analyse et de debug Estimation de ressource Estimation de consommation Analyse de timing (estimation pré-implémentation/analyse post Implémentation) Analyse schématique et hiérarchique Vérification des règles de conception (DRC) Chipscope Simulation Page 7
Floorplanning Placement de ressources Méthodologie de placement régional PBlock / Outil de mesure Outils avancés Partition Script TCL Analyse de timing avancée Questions/réponses Prérequis La participation à ces journées de formation requiert une bonne connaissance du langage VHDL pour la synthèse logique, ainsi qu une expérience préalable dans l utilisation de FPGA Xilinx à partir de l environnement ISE. Tarif des formations Par journée : 300 HT + TVA Ou : 07 Training Crédits par journée (pour les entreprises bénéficiant du programme Xilinx Productivity Advantage XPA) Ou : 14 Training Crédits pour assister aux 3 journées Remise de 20% pour le second participant (et suivants) de la même entreprise Le déjeuner et les pauses café sont compris dans le prix Conditions de paiement Par virement bancaire au moins 2 semaines avant la date de la formation Informations administratives et fiscales de l organisme de formation MVD Training 106, avenue des guis - 31830 Plaisance du Touch N Organisme de formation : 73 3105366 31 TVA intracommunautaire : FR 74510766066 Instructeurs : Première et deuxième journées : Mr Edgard GARCIA Troisième journée : Mr Ludovic AUBEL Page 8
Dates, horaires et lieu des formations Région Parisienne : Région Grenobloise : Dates : 16 au 18 Novembre 2011 Novotel MASSY PALAISEAU 18-20 rue Emile Baudot 91120 Palaiseau Dates : 22 au 24 Novembre 2011 NOVOTEL GRENOBLE NORD VOREPPE 1625, route de Veurey 38340 VOREPPE Horaires De 9h à 12h30 et de 14h00 à 17h30 Dès 8h00 : Accueil, Enregistrement et Café de bienvenue Pauses café de 10 minutes à 10h45 et 16h Hôtels à proximité Région Parisienne : NOVOTEL MASSY MERCURE Massy Gare TGV KYRIAD Massy PALAISEAU 18-20 rue Emile Baudot 21 Rue Carnot 82 Place de France 91120 Palaiseau 91300 MASSY 91300 MASSY (+33)1 64 53 90 00 (+33)1 69 32 80 20 (+33)1 60 11 55 54 Région Grenobloise : NOVOTEL Grenoble nord KYRIAD Grenoble Le Fontanil Campanile Grenoble St Egreve 1625 Route de Veurey 8 Ave de Louisiane, Le Fontanil Avenue de l Ile Brune 38340 VOREPPE 38120 GRENOBLE 38120 SAINT EGREVE (+33)4 76 50 55 55 (+33)4 76 75 27 38 (+33)4 76 75 57 88 Page 9
Inscriptions Vous pouvez vous inscrire en envoyant un bon de commande ou le formulaire d inscription joint, à l adresse suivante : fpgadays@mvd-fpga.com Pour toute demande de renseignements complémentaires vous pouvez aussi appeler le numéro suivant : Renseignements administratifs o Mme Evelyne PORTIE : 05 62 13 52 32 ou evelyne.portie@mvd-fpga.com Renseignements techniques sur le contenu des formations o o Mr Edgard GARCIA : 09 77 218 222 ou edgard.garcia@mvd-fpga.com Mr Ludovic AUBEL : 06 06 45 13 64 ou ludovic.aubel@mvd-fpga.com A propos de MVD Training MVD Training est un centre de formation agréé partenaire des prestigieuses compagnies MVD Training offre également une large gamme de formations publiques (Inter-entreprises) et sur site (Intra-entreprises) pour toutes sortes de technologies utilisées dans le domaine de l électronique et l informatique embarqué. Les formations peuvent être personnalisées en fonction des besoins précis des participants Pour plus d informations, consultez notre catalogue de formation sur notre site web : www.mvd-training.com ou contactez-nous par téléphone : 05 62 13 52 32 Page 10