Architecture pour les systèmes multimédia SÉANCE 2 : LES FPGAS LORANDEL Jordane [email protected] (Sur les bases du cours de B. Miramond) Slides du cours disponibles ici : http://perso-etis.ensea.fr/lorandel/M2_SoC.php ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 2 Plan I.Problématiques et techniques de conception II.Les FPGAs III.Microprocesseur NIOS-II IV.Présentation du sujet de projet ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 3 Partie II. Les FPGAs ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 4 Sommaire 1.Pourquoi des circuits reconfigurables ? 2.Les PLDs 3.Les CPLDs 4.Les FPGAs 5.Xilinx vs Altera ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 5 1.Pourquoi des circuits reconfigurables ? •Un circuit est dit ‘configurable’ (ou programmable) lorsque sa fonctionnalité n’est pas définie lors de sa fabrication mais peut être spécifiée plus tard par une configuration (un programme) •La programmation comme mesure de flexibilité d’un circuit ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 6 Vers des circuits reconfigurables •Créer des sortes de « gate arrays » dont les caractéristiques logiques sont programmables électriquement (plutôt que gravés physiquement) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 7 Flexibilité vs performances General Purpose Processor Flexibilité DSP Domain Specific FPGA Reconfigurable ASIC Application Specific Performances ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 8 FPGA vs ASIC Critère FPGA ASIC Temps de développement Coûts Faible Elevé Faibles Très élevés Consommation Moyenne Très faible Performances Moyennes Excellente Flexibilité Bonne Faible •Temps de conception d’un ASIC est environ 55% plus long que celui d’un FPGA ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 9 Procédés technologiques •Fusible Programmable 1 fois, techno bipolaire •Anti-Fusible Programmable 1 fois, techno CMOS •EPROM Programmable grâce aux UVs, techno CMOS •EEPROM Programmable à volonté, techno CMOS •FLASH •SRAM Programmable à volonté, techno FLASH meilleure intégration que CMOS Programmable à volonté, techno CMOS non-Volatile Volatile ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 10 Technologies des éléments programmables Fusible Anti-fusible PROM UVEPROM EEPROM FLASH SRAM Reprogrammabilité Vitesse de reprogrammation Volatile Surface Technologie Non Non Non - Non Non Non ++++ ++++ +++ Bipolaire CMOS CMOS Oui (hors du circuit) + Non +++ UVCMOS Oui (dans le circuit) ++ Non ++ EECMOS Oui (dans le circuit) +++ Non + CMOS Oui (dans le circuit) +++ Oui + CMOS ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 11 Marché des systèmes embarqués en Europe Taux de croissance annuel moyen de 5.3% Marché atteignant 62 milliards de $ en 2023 -> porté par l’IoT, les smart grids, les véhicules intelligents, … www.gminsights.com/ ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 12 Marché des FPGAs Taux de croissance annuel moyen de 8.4% entre 2015-2022 En 2013 : 47% du marché - Xilinx 45% du marché - Altera+ Lattice Autres entreprises importantes : -Microsemi, -Achronix, -Tabula, -Cypress Semiconductors, -Quick Logic,… www.radiantinsights.com ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 13 Positionnement des circuits logiques programmables Circuits intégrés pour la conception de systèmes Circuits classiques Processeurs, DSP, Périphériques, Mémoires, … ASIC Full Custom Pré-diffusés Précaractérisés -Sea of gates -Gate array -Standard Cells -Cell-based ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS CLP -SPLD : PAL,.. -CPLD, -FPGA 14 2. Les circuits programmables (Programmable Logic Devices) PLD / CLP SPLD : Simple Programmable Logic Device CPLD : Complex Programmable Logic Device PAL : Programmable Array Logic PLA : Programmable Logic Array GAL : Generic Array Logic (Lattice) PROM : UVPROM, … FPGA : Field Programmable Gate Array Type SRAM ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Type Flash, Anti-fusible,… 15 SPLD : Simple Programmable Logic Device •Principe : Toute fonction peut s’exprimer sous la forme d’un produit de min-termes (cas particulier de la somme de produits) •Un min-terme est un produit d’éléments dans lequel chaque variable apparaît une seule fois • Une fonction à n variables a 2n min-termes •Ex n=2 : f(x,y) -> x’y’ ,xy’ ,x’y ,xy •Elle est facilement identifiable à l’aide d’une table de vérité x’y’ x’y x=0, y=0 x=0, y=1 xy’ xy x=1, y=0 x=1, y=1 Le circuit est donc composé d’une matrice de portes AND et d’une matrice de portes OR prédiffusées Seule l’interconnexion est programmable ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 16 PAL : Programmable Array of Logic Seule l’interconnexion de la matrice (AND) se programme ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 17 PLA : Programmable Logic Array Les deux matrices AND/OR sont programmables ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 18 Compromis Flexibilité Performances PLA ++ - PAL + ++ ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 19 Simple Programmable Logic Device or Sequential PAL •Introduction des registres => Séquentiel, bascule D -> Permet d’utiliser des sorties en entrées ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 20 3. Les CPLDs (Complex Programmable Logic Devices) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 21 Limitations du PLD •Impossibilité d’implémenter des fonctions à multi-niveaux, de partager des produits entre fonctions •Avec les CPLDs, on peut non-seulement programmer la fonctionnalité des cellules mais aussi les interconnexions entre cellules •Contrairement aux FPGAs, il n’y a qu’un seul chemin entre deux points ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 22 Complex PLD •L e s CPLDs r e g r o u p e n t plusieurs PLD interconnectés par une matrice d’interconnexions programmables PLD E/S PLD Interconnection Matrix PLD ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS E/S PLD 23 Le premier CPLD (Altera) •En 1984, Altera fournit une première solution utilisable de CPLD •Utilisée pour le prototype rapide •Architecture : en ensemble de macro-cellules et un réseau d’interconnexions Quelques chiffres : • 24000 portes dont 12000 utilisables • Equivalent à 50 à 100 PALs ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 24 Les CPLDs actuels (Altera) •Aujourd’hui, Altera produit la série appelée MAX (Multiple Array Matrix) altera.com ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 25 Limitations •Problème au niveau de la scalabilité quadratique de la matrice d’interconnexion entre les PLDs, •limitant la taille des designs à prototypes •Mais les CPLDs offre de la prédictibilité au niveau des temps d’interconnexion A titre d’exemple, la série MAX10 d’Altera délivre des CPLDs contenant de 2k à 50k d’éléments logiques (LE) Les FPGAs Stratix-10 possèdent de 484k à 5500k de LEs ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 26 4. Les FPGAs (Field Programmable Gate Arrays) •Principe général •Structure •Architecture des FPGAs (Xilinx et Altera) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 27 CPLD -> FPGA •1 9 8 5 , X i l i n x l a n c e l e p r e m i e r F i e l d Programmable Gate Array (FPGA), le XC2064 (800 portes, 2um) •La principale différence est sa scalabilité sans perte de performances •S o n i n c o n v é n i e n t e s t l e m a n q u e d e prédictibilité des temps d’interconnexion source image : siliconpr0n.org ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 28 Différences •Les cellules logiques sont placées dans une topologie donnée, et reliées par une infrastructure d’interconnexion. •Leur fonction est programmable, •Les chemins entre 2 cellules sont multiples et les temps de propagation ne sont connus qu’après le routage! •Les cellules externes (IO cells) ne sont pas programmables fonctionnellement mais en : -direction, -tension, -bufferisation,… •Avantage majeur : LE TEMPS DE CONCEPTION ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 29 Architecture générale ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 30 Xilinx Virtex-2 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 31 Comparaison avec le Pentium IV ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 32 Pourquoi les FPGAs ? 80% des designs d’ASIC peuvent être prototypés sur FPGA ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 33 Pourquoi les FPGAs ? Besoin de prototypage rapide sur FPGA pour diminuer les coûts de développement ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 34 Pourquoi les FPGAs ? Réduction du Time-To-Market Time-To-Market Potential Sales Achieved First-to-Market 100 % 3 months late 73 % 6 months late 53 % 9 months late 32 % 12 months late 9 % ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS Pertes allant de 27 % à 3 mois et jusqu’à 91% avec un an de retard 35 Principe simplifié ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 36 Principe simplifié ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 37 Fichier de configuration : le bitstream •Le bitstream représente le fichier de configuration de l’ensemble des éléments configurables du circuit •Un transfert de bitstream est nécessaire à la mise sous tension (CPLD, SRAM) et à chaque reconfiguration (EPROM) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 38 Flot de conception du FPGA Description HDL, schématique Simulation Fonctionnelle Synthèse Les étapes dites d’implémentation sont dépendantes du FPGA choisi Implémentation Placement Simulation Temporelle Routage Génération du Bitstream ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 39 Configuration • Reconfiguration statique -Tout le bitstream du design est chargé dans le FPGA -L’exécution est interrompue • Reconfiguration partielle statique -Seule une portion du bitstream est chargée sur le FPGA, -l’exécution est interrompue pendant une durée plus petite • Reconfiguration dynamique partielle -Une portion du FPGA est reconfigurée pendant que le reste continu de s’exécuter (-> SRAM) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 40 Architecture des FPGAs • Architecture générale CLB : Configurable Logic Block Structure générale d’un FPGA Schéma de base d’un bloc logique configurable (CLB) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 41 Architecture des FPGAs • 2 types d’architecture qui diffèrent selon la complexité du bloc logique élémentaire (CLB) -Architecture à grains fins : la cellule est constituée de simples blocs logiques : . quelques portes logiques . 1 FF (Flip-Flop) -Architecture à grains épais : la cellule correspond à un chemin de données configurable, elle est constituée de larges blocs logiques : . 2 ou plus LUT (Look-Up Table) . 2 ou plus FF (Flip-Flop • Un circuit à grain fin implique un grand nombre de cellules et donc un routage plus complexe • A l’inverse du circuit à grain épais mais exploite moins bien sa structure (utilisation des cellules) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 42 Elément de base du FPGA : Le CLB • CLB : Configurable Logic Block • Il est constitué de : ✴ Un ensemble configurable d’entrées ✴ Plusieurs LUT à 2,3,4,5 entrées ✴ Un système de connexions internes ✴ Un élément séquentiel : registre, latch • Il permet donc d’implanter des fonctions séquentielles, combinatoires ou les deux ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 43 La Look-Up Table (LUT) • La LUT est une mémoire permettant d’implémenter une table de vérité Ainsi, une valeur de sortie est associée pour chaque combinaison de n entrées. • Exemple d’une LUT à 2 entrées -> 2^2 combinaisons d’entrées A B S 0 0 0 0 1 1 1 0 1 1 1 0 Fonction XOR implémentée sous forme d’une mémoire 0 1 1 MUX 4 vers 1 0 A B S ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 44 Les interconnexions • Le réseau d’interconnexion est prédiffusé, • Il existe plusieurs chemins entre deux ports, • Chaque point de programmation est contrôlé par un bit de SRAM (5 transistors) Cellule SRAM ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 45 Les blocs d’Entrée/Sortie • Possibilités : .Entrée et/ou sortie directe, .Entrée et/ou sortie mémorisée Driver de sortie à 3 états adaptation électrique ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 46 Autres blocs dans un FPGA • Distribution et génération d’horloge (PLL, DLL…) • Blocs mémoires embarqués • Blocs spécifiques - bloc matériel DSP (multiplieurs, additionneurs, registre) - processeur embarqué, - High-speed serial transceivers ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 47 Vue générale ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 48 Les FPGAs Xilinx • 1984, premier FPGA appelé alors LCA (Logic Cell Array) • Aujourd’hui, 1er fournisseur devant Altera • Plusieurs séries de circuits : -Virtex -Spartan (Low-cost) -Artix (Low-power) -Kintex Et Des SoCs : -ZynQ-7000 combinant 1 dual Core ARM cortex A9 et un FPGA série 7 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 49 Les FPGAs Xilinx 2 fonctions de 4 variables ou 1 fonction à 5 variables 2 bascules D • Le XC4000 (ancien, 1999) contient plusieurs milliers de cellules et nécessite 650 bits de configuration pour chaque cellule et ses interconnexions. • Le chargement du bitstream prend plusieurs milli-secondes • Il est impossible de configurer une partie du FPGA CLB simplifié du XC4000 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 50 Architecture du Virtex-2 Pro (~2002) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 51 Architecture du CLB des Virtex-6 (~2009) • 1 slice possède 4 LUTs, 8 FF, des MUX, fonctions logiques. -SliceL -> Fonction Logique et arithmétique -SliceM -> Fonction Logique et Mémoire ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 52 Architecture du CLB des Virtex-6 (~2009) • Architecture simplifiée d’un slice pour les FPGAs Virtex-6 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 53 Architecture du CLB des Virtex-6 (~2009) • Architecture simplifiée d’un slice pour les FPGAs Virtex-6 LUT/RAM/SRL MUX Carry logic (retenue propagée verticalement) FF et FF/Latch ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 54 Virtex-6 vs Spartan-6 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 55 Dimensionnement du circuit ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 56 Configuration via des trames Chaque frame de configuration comporte 81x32 bits = 2592 bits ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 57 Reconfiguration dynamique partielle • Méthodes de reconfiguration supportées par le Virtex-7 de Xilinx (SoC) Le procédé de reconfiguration dynamique peut être initié par un processeur externe ou par la logique interne du FPGA : -Extérieurement : Utilisation l’interface série de configuration, le port JTAG, ou le Processor Configuration Access Port (PCAP) -Intérieurement : utilisation du port ICAP (Internal Configuration Access Port) grâce à une machine à état ou d’un processeur embarqué (ex: MicroBlaze…) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 58 Reconfiguration dynamique partielle • ICAP : Grâce à ce port, il est possible de lire la configuration actuelle d’une partie du FPGA, de la modifier puis de la recharger ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 59 Les mémoires - Xilinx Virtex&Spartan-6 • Bloc mémoire de base double ports de 36kB • Configurations supportées : -32Kx1 -16Kx2 -8Kx4 -4Kx9(or8) -2Kx18(or16) -1Kx36(or32) -512x72(or64) • Possibilité de cascader 2 blocs RAM adjacents (64kB) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 60 Environnement de conception • ISE ( Integrated Software Environment) Design Suite • VIVADO : Préconisé pour le développement de design sur la série 7 des FPGAs de Xilinx (SoC) -Suppléments de Vivado : .Synthèse de haut niveau (C/C++) .nouvel algo de placement/routage .Réduction de l’empreinte mémoire (4X plus rapide) .Développement système centré autour de la réutilisation d’IP ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 61 Utilitaire d’IP Xilinx Xilinx Core Generator (ISE) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 62 Quelques plateformes • Xilinx ML605 • ZedBoard (Zynq) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 63 Architecture des FPGAs Altera • 1983, Fondation d’Altera • 1er circuit commercialisé en 1984 (Europe 1985) : l’EP300 • 1er CPLD en 1988 : MAX (Multiple Array Matrix) • 1992, 1er FPGA : le Flex8000 (15k portes) • Plusieurs séries de circuits FPGA: -Stratix, -Arria -Cyclone, -Max (structured Asic, non-volatile) Et Des SoCs : -Arria 10, Stratix10, Arria V et Cyclone V ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 64 Le Flex8000 • Technologie Flex (Flexible Logic Element matriX) • Utilisation d’une RAM pour stocker la configuration • Programmation rapide série ou parallèle • Elément principal est appelé LAB (Logic Array Block) et qui est constitué de LE (Logic Element) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 65 Le Flex8000 • 1 LAB = 10 LEs • Routage suivant ligne et colonne ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 66 Architecture du Logic Element (Flex 8000) • 1 LAB = 10 LEs (Element de base) LUT-4 : implantation de fonction combinatoire à 4 entrées Carry Chain : propagation de retenue entre LE (<1ns) Mise en cascade : utilisé pour des fonctions nécessitant la propagation de signaux (additionneurs,…) 1 bascule configurable (D, T, JK, RS) ou possibilité de la supprimer ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 67 Architecture du bloc IO (Flex8000) • IO Element : Contient un buffer bidirectionnel + un registre permettant d’augmenter la vitesse : -rapide temps de setup en entrée -sortie rapide (clock-tooutput) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 68 Les FPGAs Cyclone (IV) • Technologie SRAM • FPGA très faible coût, faible consommation • 6K à 150K d’éléments logiques (LE) • Jusqu’à 6,3 Mb de mémoire embarquée • Jusqu’à 360 18x18 multiplieurs DSP ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 69 Les FPGAs Cyclone (IV) • Technologie SRAM • FPGA très faible coût, faible consommation • 6K à 150K d’éléments logiques (LE) • Jusqu’à 6,3 Mb de mémoire embarquée • Jusqu’à 360 18x18 multiplieurs DSP ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 70 Les FPGAs Cyclone (IV) • Architecture du LE ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 71 Les FPGAs Cyclone (IV) • Architecture du LE : 2 modes de configuration -Mode normal : -Mode arithmétique fonctions logiques et combinatoires fonctions arithmétiques (compteur, adder, comp, acc…) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 72 Les interconnexions (Cyclone IV) • LAB interconnect : Interconnexions en lignes et colonnes et les sorties du même LAB + connexions aux LAB adjacents • Local interconnect : connexion rapide entre LEs du même LAB ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 73 Comparaison Xilinx CLB / Altera LE Xilinx Virtex-6 Altera Stratix 6 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 74 Les mémoires - Altera Le système TriMatrix (ex:Stratix II) • 3 tailles de mémoires embarquées pour adresser les différents besoins -Petite Fifo -> M512 -mémoire programme de processeur -> M4K -buffer de trame vidéo -> MRAM ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 75 Les mémoires - Altera Le système TriMatrix (ex:Stratix II) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 76 Comparaison des blocs DSP Xilinx DSP48E2 Altera Variable-Precision DSP block ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 77 Comparaison des blocs DSP Xilinx DSP48E2 Altera Variable-Precision DSP block Mêmes éléments : Pré-additionneurs Multiplieurs Accumulateurs ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 78 Distribution d’horloge Global Clocks Cyclone V clock management Regional Clocks Virtex-6 clock management ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 79 Vue générale Stratix ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 80 Quelques plateformes d’Altera DE-2 board (Cyclone II) DE-5 board (Stratix V) ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 81 Outil de conception ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 82 Utilitaire d’IP Altera MegaWizard Plug-In Manager ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 83 Conclusion • FPGA : -Circuit reconfigurable qui a tué l’ASIC -Performances inférieures mais flexibilité accrue -Le temps et les outils de conception sont nettement inférieures -Possibilité de reconfiguration partielle en cours d’exécution -Contrainte limitante est le temps de reconfiguration -Conception possible de SoC -> besoin de nouveaux outils ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 84 Prochain cours … •Le microprocesseur NIOS-II d’ALTERA ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 85 Bibliographie [1] B. Miramond, ‘‘Conception des SoCs’’, http://perso-etis.ensea.fr/miramond/Enseignement/M2/ SoC.html [2] B. Miramond, ‘‘SystemC, Joined Design at System Level’’, [3] A. Tisserand, ‘’Introduction aux circuits FPGAs’’, Séminaire MIM, 2003 [4] Altera, Logic Elements and Logic Array Blocks in Cyclone IV Devices, in Cyclone IV Device Handbook, Vol. 1, Nov. 2009 [5] Altera, Flex8000 Programmable Logic Device Family, Datasheet ver. 11.1, January 2003 [6] Xilinx, XC4000E and XC4000X Series Field Programmable Gate Arrays, Product Specification, v1.6, 1999 [7] Xilinx, Xilinx FPGA Embedded Memory advantages, White Paper: Virtex-6 and Spartan-6 Families, Feb. 2010 ARCHITECTURE POUR LES SYSTÈMES MULTIMÉDIAS 86