Synthèse de composants :
Composants logiques reconfigurables
Module d’Electronique Numérique
www.geii.eu 2
Composants programmables …
Pour un projet de nature évolutive,
vous avez besoin :
 de portes logiques,
 de...
www.geii.eu 3
Classification des composants logiques
 ASIC : Application Specific Integrated Circuit
 SPLD : Simple Prog...
www.geii.eu 4
Qu’est-ce qu’un composant logique reconfigurable ?
Ensemble de portes logiques et fonctions de traitement du...
www.geii.eu 5
A quoi ça sert ?
Au traitement rapide en général
 Développement de cœur de processeur spécifique.
 Traitem...
www.geii.eu 6
Différentes architectures
Faible nombre de portes logiques (composants appartenant à
l’histoire …).
 PAL (P...
www.geii.eu 7
Choix à l’IUT : pourquoi Xilinx et Altera ?
Xilinx est l’Inventeur du FPGA.
Ils sont leaders sur le marché d...
FPGA : Famille Cyclone II Altera
Module d’Electronique Numérique
www.geii.eu 9
Famille Cyclone II
Caractéristiques principales
 Gravure en 90 nm.
 Architecture haute densité avec entre ...
www.geii.eu 10
Elément logique (LE : Logic Element)
Le plus petit élément de logique dans le Cyclone II
 LUT (Look up tab...
www.geii.eu
11
www.geii.eu 12
Bloc de Réseaux logiques (LAB)
Le LAB, c’est :
 16 Eléments Logiques (LE).
 Des signaux dédiés pour optim...
www.geii.eu 13
LAB et interconnexions directes (entre éléments
adjacents)
13
www.geii.eu 14
Interconnexions longues distances
En lignes, pour optimiser les temps de propagation de 4 LABs en 4 LABs
(e...
www.geii.eu 15
Réseau Global d’Horloges - PLL
But :
 Permettre une distribution optimale des signaux d’horloge avec un te...
www.geii.eu 16
Standards d’entrées/sorties
LVTTL et LVCMOS
 Interfaçage avec des circuits logiques
d’usages généraux, fon...
www.geii.eu 17
Multiplicateurs intégrés
Objectifs
 Réaliser des fonctions de traitement du signal massivement parallèles
...
www.geii.eu 18
FPGA en 2015
Stratix 10 Altera
 1 867 680 ALM (Adaptative Logic
Module) pour un équivalent de
5 510 000 LE...
Synthèse de composants :
Moyens utilisés – Approche hiérarchique
Module d’Electronique Numérique
www.geii.eu 20
Les moyens utilisés à l’IUT
Le système de développement Quartus II Web Edition
 Outil de référence autoris...
www.geii.eu 21
La carte DE2
Elle est constituée
 d’un FPGA Cyclone II EP2C35 (35000 LEs).
 De mémoire Flash et SDRAM.
 ...
www.geii.eu 22
Cycle de développement
Il peut être présenté de différentes façons. Le cycle en V
en est une :
22
Analyse d...
www.geii.eu 23
Cycle de développement
Le cas du cycle de développement avec le logiciel Quartus II
d’Altera
23
www.geii.eu 24
Approche hiérarchique
C’est un point du cycle en V
 La conception architecturale.
Objectifs
 Apporter une...
www.geii.eu 25
Exemple : compteur de secondes
Enjeu
 Compter les secondes de 0 à 9 sur un unique afficheur 7 segments à p...
www.geii.eu 26
Exemple : compteur de secondes
Description des blocs fonctionnels
 En langage VHDL (Very high speed Hardwa...
Modèle Powerpoint utilisé par les présentations Intel
www.geii.eu 28
…
Il y a 30 ans, il y aurait eu deux possibilités :
 Mettre le projet à la corbeille par faute de moyen.
...
Prochain SlideShare
Chargement dans…5
×

Composants reconfigurables

872 vues

Publié le

Aperçu de ce que sont les composants logiques reconfigurables tels que les FPGA et CPLD.
Niveau DUT Génie Electrique et Informatique Industrielle.

Publié dans : Formation
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
872
Sur SlideShare
0
Issues des intégrations
0
Intégrations
175
Actions
Partages
0
Téléchargements
29
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Composants reconfigurables

  1. 1. Synthèse de composants : Composants logiques reconfigurables Module d’Electronique Numérique
  2. 2. www.geii.eu 2 Composants programmables … Pour un projet de nature évolutive, vous avez besoin :  de portes logiques,  de mémoire,  de buffers 3 états,  d’additionneurs, compteurs, multiplicateurs … Tout cela par milliers ! Doit-on utiliser 1000 composants discrets ?  Non : mise au point ? Fiabilité ? Création d’un PCB ? Faut-il fabriquer un composant spécialisé ASIC pour quelques exemplaires seulement ?  Non : c’est coûteux et long. 2 AND2 inst AND2 inst1 OR3 inst2 ALT_IOBUF inst3 CLRN D PRN Q DFF inst4 address[] outclock memenab inclock w e outenab dio[] LPM_RAM_IO inst5 LPM_ADDRESS_CONTROL LPM_FILE LPM_INDATA LPM_NUMWORDS LPM_OUTDATA "UNREGISTERED" LPM_WIDTH LPM_WIDTHAD Parameter Value
  3. 3. www.geii.eu 3 Classification des composants logiques  ASIC : Application Specific Integrated Circuit  SPLD : Simple Programmable Logic Device  PAL : Programmable Array Logic  CPLD : Complex Programmable Logic Device  FPGA : Field Programmable Gate Array  Psoc : Programmable System on a Chip 3 (source Dataquest) Logic Standard Logic ASIC Programmable Logic Arrays Devices ASIC Full Custom SPLD CPLD FPGA PSoC
  4. 4. www.geii.eu 4 Qu’est-ce qu’un composant logique reconfigurable ? Ensemble de portes logiques et fonctions de traitement du signal liées par des réseaux d’interconnexions configurables  Somme de produits de termes (ET puis OU).  Mémoire de base (bascule D, RS, T, JK).  RAM double accès.  Multiplicateurs, additionneurs … Configurable  Une seule fois : technologie anti-fusible.  Plusieurs fois : technologie Flash, EEPROM (non volatile) et SRAM (volatile). 4
  5. 5. www.geii.eu 5 A quoi ça sert ? Au traitement rapide en général  Développement de cœur de processeur spécifique.  Traitement numérique du signal (analyse HF, filtrage, détection …).  Logique de systèmes de communication et datacenter.  Instrumentation de test totalement reconfigurable (avec Labview par exemple).  Imagerie médicale.  Système de contrôle d’énergie grâce aux fonctionnalités DSP incluent dans les FPGA (exemples : onduleur, variateur). Au remplacement d’ASIC (Full Custom) numériques dans certains cas  Petites et moyennes séries.  Fortes contraintes de Time To Market.  Besoins en structures évolutives. A la mise au point fonctionnelle d’ASIC (full custom)  Des sociétés comme ONSEMI peuvent fabriquer un ASIC à partir d’un projet exploitant un FPGA 5
  6. 6. www.geii.eu 6 Différentes architectures Faible nombre de portes logiques (composants appartenant à l’histoire …).  PAL (Programmable Array Logic).  GAL (Generic Array Logic). Nombre élevé de portes logiques  CPLD (Complex Programmable Logic Device)  Des centaines de milliers de portes en équivalence.  FPGA (Field Programmable Gate Array)  Plusieurs dizaines de millions de portes (équivalence).  Intégration d’un processeur simple ou multi-coeurs (ARM en général).  PSoC (Programmable System on Chip)  Bloc logique configurable.  Intégration d’un microcontrôleur (8051 au Cortex M3) avec ses périphériques.  Bloc analogique reconfigurable (ADC, DAC, AOp …). 6 CPLD FPGA
  7. 7. www.geii.eu 7 Choix à l’IUT : pourquoi Xilinx et Altera ? Xilinx est l’Inventeur du FPGA. Ils sont leaders sur le marché des FPGA. Ils développent tous les deux des programmes universitaires hors normes  Soutien des projets de recherches.  Soutien pédagogique avec des donations :  logiciels en version complète et couvrant toute le gamme des FPGA et CPLD Xilinx et Altera,  cartes de développement gratuites ou à tarif très préférentiel : Altera DE1 et DE2 à base de Cyclone II à l’IUT. 7
  8. 8. FPGA : Famille Cyclone II Altera Module d’Electronique Numérique
  9. 9. www.geii.eu 9 Famille Cyclone II Caractéristiques principales  Gravure en 90 nm.  Architecture haute densité avec entre 4608 et 68416 LE (Eléments logiques).  Jusqu’à 1.1 Mbits de RAM (M4K Blocks)  Largeur de bus de données configurable (x1, x2, x4, x8, x16, x32 et x36).  Véritable mode double accès.  Vitesse de fonctionnement pouvant atteindre 260 MHz.  Jusqu’à 150 Multiplicateurs 18x18 embarqués (Embedded Multipliers).  Entrée/Sorties avancées (IOEs)  Différentielles (LVDS, LVPECL …).  Simples (3.3v, 2.5v, 1.8v et 1.5v LVCMOS, 3.3v, 2.5v et 1.8v LVTTL …).  PCI et PCI Express.  Configuration  Mode rapide pour une configuration en moins de 100 ms.  Mode série ou JTAG.  Possible avec des mémoires de configuration série à bas coût. 9
  10. 10. www.geii.eu 10 Elément logique (LE : Logic Element) Le plus petit élément de logique dans le Cyclone II  LUT (Look up table) à 4 entrées permettant le calcul de n’importe quelle fonction de 4 entrées.  1 registre de sortie programmable.  Les LE sont regroupés par 16 dans des LAB (Logic Array Bloc).  1 entrée de retenue dédiée (Carry Chain) provenant du LE précédent dans le même LAB.  1 signal de Carry de sortie destiné au LE suivant dans le même LAB. L’EP2C35 de la carte DE2 (travaux pratiques) en contient un peu plus de 33 000. 10
  11. 11. www.geii.eu 11
  12. 12. www.geii.eu 12 Bloc de Réseaux logiques (LAB) Le LAB, c’est :  16 Eléments Logiques (LE).  Des signaux dédiés pour optimiser les calculs entre LE (signal de carry par exemple).  Un réseau d’interconnexion local pour la communication entre LE du même LAB.  Un accès direct aux éléments adjacents du LAB dans la structure du FPGA :  un autre LAB,  un bloc mémoire pour les LAB adjacents aux zones mémoires,  un signal d’horloge d’une PLL,  un multiplier  un IOE (Elément d’entrée/sortie)).  Un accès aux réseaux d’interconnexions lignes/colonnes pour atteindre n’importe quel point du composant. 12
  13. 13. www.geii.eu 13 LAB et interconnexions directes (entre éléments adjacents) 13
  14. 14. www.geii.eu 14 Interconnexions longues distances En lignes, pour optimiser les temps de propagation de 4 LABs en 4 LABs (existe aussi de 24 en 24 LABs). En colonnes, pour optimiser les temps de liaison de 4 en 4 LABs (existe également de 16 en 16 LABs). 14
  15. 15. www.geii.eu 15 Réseau Global d’Horloges - PLL But :  Permettre une distribution optimale des signaux d’horloge avec un temps de propagation le plus constant possible.  Autoriser l’emploi d’une horloge externe de basse fréquence (simplification de la conception du PCB).  Etre capable de disposer de sources d’horloges diverses à partir d’une horloge unique (par multiplication et division de fréquence, signaux en quadrature …). 15 Dans les Cyclone II  4 PLL pour multiplier ou diviser les fréquences d’horloge entrantes, les retarder ...  Jusqu’à 16 lignes d’horloges en interne  Gestion jusqu’à la fréquence maximale de 402.5 MHz
  16. 16. www.geii.eu 16 Standards d’entrées/sorties LVTTL et LVCMOS  Interfaçage avec des circuits logiques d’usages généraux, fonctionnant à des fréquences en deçà de 100MHz. SSTL  Standard mis en place pour la mémoire SDRAM DDR. LVDS (Low Voltage Differential Signaling)  Signaux différentiels pour des communications à fort débit et faible EMI (émissions électromagnétiques). LVPECL (Low Voltage Positive Emitter Coupled Logic)  Signaux différentiels à haute immunité au bruit utilisés en vidéo, télécom, distribution d’horloge. PCI et PCI Express  Bus locaux des PC utilisés pour la connexion de carte d’extension (vidéo …). 16
  17. 17. www.geii.eu 17 Multiplicateurs intégrés Objectifs  Réaliser des fonctions de traitement du signal massivement parallèles à faible coût sans amputer le potentiel en LE du FPGA. Applications ciblées  Traitement du signal (télévision numérique, radar ...).  Traitement du son.  Optimisation en vidéo-projection. Ressources de la famille Cyclone  De 1 à 3 banques de multiplicateurs 18 bits x 18 pour un total pouvant atteindre 150 multiplicateurs dans le plus gros Cyclone II. Note : ce chiffre peut être étendu en utilisant les modules mémoires M4K pour réaliser des multiplicateurs logiciels (250 dans le plus gros Cyclone II). 17
  18. 18. www.geii.eu 18 FPGA en 2015 Stratix 10 Altera  1 867 680 ALM (Adaptative Logic Module) pour un équivalent de 5 510 000 LE (35 000 sur le FPGA utilisé en TP).  Processeur ARM 64 bits quadri-cœurs à 1.5GHz et ses périphériques.  Transceiver 30Gbps.  Interfaces pour différents types de mémoires :  DDR3, DDR4.  HMC (Hybrid Memory Cube).  Blocs DSP  10 TFLOPS de puissance de calcul en simple précision  23 TMACS en 16 bits à virgule fixe.  Réseaux d’interconnexions optimisés.  Coût d’un tel composant > 10 000 $ 18
  19. 19. Synthèse de composants : Moyens utilisés – Approche hiérarchique Module d’Electronique Numérique
  20. 20. www.geii.eu 20 Les moyens utilisés à l’IUT Le système de développement Quartus II Web Edition  Outil de référence autorisant un développement de A à Z.  Pour nous, pas de différence notable avec la version complète.  Téléchargeable gratuitement sur internet pour les utilisateurs enregistrés sur le site www.altera.com . Simulateur externe ModelSim-Altera Web Edition  Complète et remplace avantageusement le simulateur intégré de Quartus II.  Capable de simuler au niveau du code source (ce que ne fait pas Quartus II).  Gratuit Carte de développement DE2 20
  21. 21. www.geii.eu 21 La carte DE2 Elle est constituée  d’un FPGA Cyclone II EP2C35 (35000 LEs).  De mémoire Flash et SDRAM.  De divers périphériques :  Nombreux afficheurs et leds.  Interrupteurs et boutons poussoirs.  CODEC audio, décodeur vidéo, encodeur vidéoPorts USB, souris série, Ethernet.  D’un port de programmation et de debug JTAG.
  22. 22. www.geii.eu 22 Cycle de développement Il peut être présenté de différentes façons. Le cycle en V en est une : 22 Analyse des besoins et faisabilité Recette Spécifications Conception architecturale Conception détaillée Codage Tests de validation Tests d’intégration Tests unitaire
  23. 23. www.geii.eu 23 Cycle de développement Le cas du cycle de développement avec le logiciel Quartus II d’Altera 23
  24. 24. www.geii.eu 24 Approche hiérarchique C’est un point du cycle en V  La conception architecturale. Objectifs  Apporter une lisibilité maximale au projet.  Faciliter la mise en œuvre de tests.  Rendre plus aisé l’emploi d’éléments pré-existants (IP : Intellectual Property). Moyens  Une représentation fonctionnelle du projet reposant sur un schéma où s’interconnectent des blocs fonctionnels uniquement.  Un langage de haut niveau (le VHDL dans notre cas) pour décrire les blocs fonctionnels. 24
  25. 25. www.geii.eu 25 Exemple : compteur de secondes Enjeu  Compter les secondes de 0 à 9 sur un unique afficheur 7 segments à partir d’une horloge à 50 MHz. Découpage fonctionnel proposé  Construire un signal de 1 Hz à partir du signal d’horloge à 50 MHz.  Compter les secondes avec un compteur BCD 4 bits synchrones. Schéma fonctionnel résultant dessiné sous Quartus II 25 PIN_N2 VCC clk_50MHz INPUT PIN_V2 VCC reset INPUT VCC clk_1hz INPUT PIN_AE23 ledOUTPUT PIN_AF10 segment_aOUTPUT PIN_AB12 segment_bOUTPUT PIN_AC12 segment_cOUTPUT PIN_AD11 segment_dOUTPUT PIN_AE11 segment_eOUTPUT PIN_V14 segment_fOUTPUT PIN_V13 segment_gOUTPUT bcd[3..0]OUTPUT clk_50MHz reset clk_1hz clk_1hz inst reset clk_1hz bcd[3..0] compteur_bcd inst1 bcd[3..0] a b c d e f g dec_bcd_7_seg inst2 bcd[3..0] clk_1hz
  26. 26. www.geii.eu 26 Exemple : compteur de secondes Description des blocs fonctionnels  En langage VHDL (Very high speed Hardware Description Language).  Ou à partir de macro-fonctions pré-existantes dans le logiciel Quartus II. Tests  Par la simulation fonctionnelle ou temporelle :  de chaque bloc fonctionnel pour commencer,  de l’ensemble du projet hiérarchique pour une validation finale lorsqu’elle est possible. Note : inutile de tenter des simulations durant une seconde avec une horloge d’entrée à 50 MHz.  En utilisant une cible et des outils d’introspection :  la carte DE 2 dans notre cas,  outil SignalTap II debugging. 26
  27. 27. Modèle Powerpoint utilisé par les présentations Intel
  28. 28. www.geii.eu 28 … Il y a 30 ans, il y aurait eu deux possibilités :  Mettre le projet à la corbeille par faute de moyen.  Etre militaire ou impliqué dans la conquête spatiale et se lancer dans un développement mettant en jeu des racks de cartes de blocs fonctionnels surchargées de composants. Aujourd’hui :  On fera le choix :  de composants logiques reconfigurables de types CPLD ou FPGA pour des applications purement numériques,  de circuits mixtes de type PSoC pour les applications oeuvrant dans les domaines analogiques et numériques. 28

×