ELE3311– Systèmes logiques programmables Chapitre 4: Introduction à la logique programmable et ses outils de développement Introduction Évolution de la technologique Introduction des circuits programmables Évolution des circuits programmables Évolution des outils de développement Philippe Levesque, Ph.D. ELE3311– Systèmes logiques programmables Page 2 P. Levesque Introduction L'origine des différentes sortes de PLD est liée aux résultats de recherche menés dans le milieu des années 1960. Au rythme d'un nouveau produit par mois, les progrès dans ce domaine constituent une partie importante du rayonnement du parc technologique Silicon Valley de la Californie. ASIC « Application Specific Integrated Circuits » PLD « Programmable Logic Device » et outils. Technologies de programmation ELE3311– Systèmes logiques programmables Page 3 P. Levesque Évolution de la technologie Depuis l’invention du transistor en 1947 par Bell Labs et des premiers circuits intégrés en 1958, l’évolution de la technologie n’a pas cessé d’évoluer et continue de suivre la loi de Moore. À la fin des années 70, les circuits SSI, MSI et LSI offrent plusieurs centaines de fonctions générales qui peuvent être utilisées pour créer toutes sortes d’applications en logique câblée les microprocesseurs sont couramment utilisés ; ce qui a un impact sur l’accélération du développement de la technologie des mémoires. 1 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) Page 4 ELE3311– Systèmes logiques programmables P. Levesque Évolution de la technologie Note 1 : Sans co-processeur mathémathique Item 1 Année Nom du CPU 1968 Intel 4004 Fréquence de Nombre de Technologie de l’horloge (max) transistors lithographie 740 kHz 2300 10 µm 8 bits1 2 MHz 4500 6 µm 16 bits1 10 MHz 29 000 3 µm 32 bits1 12 MHz 134 000 1,5 µm 32 bits1 16 MHz 275 000 1 µm 32 bits 50 MHz 1,2 million 0,8 µm 32 bits 100 MHz 1,6 million 0,6 µm Type de CPU 4 bits1 Intel 8080 2 (1975 : Microsoft 1974 MITS Altair 8800 – PC) Intel 8086 (10 x 8080) 3 (1976 : Apple, 1976 1979 : Motorola 16 bits) (1981 : IBM PC, Intel iAPX432) 4 1982 5 1985 Intel 80286 (16-data, 24-add) Intel 80386 (1988-1989 : Cyrix Coprocesseurs) 6 1989 Intel 80486 (1990 : spécificités) (1992 : 80486DX2) 7 1994 Intel 80486DX4 Page 5 ELE3311– Systèmes logiques programmables P. Levesque Évolution de la technologie Fréquence de Item Année Nom du CPU Type de CPU l’horloge Nombre de transistors (max) Technologie de lithographie (1993-1996) Intel Pentium (80586) 8 (1995 : Cycix, P166+) 1996 FSB max = 66 MHz 32 bits 200 MHz 3,3 million 0,35 µm 32 bits 300 MHz 4,5 million 0,35 µm 32 bits 450 MHz 4,5 million 0,25 µm 32 bits 1 GHz 28,1 million 0,18 µm (1995 : Intel Pentium Pro (L2)) Intel Pentium MMX FSB > 66 MHz 9 1997 Pentium II (Pentium Pro + MMX) 10 1998 11 1999 Pentium II AMD Athlon / Intel Pentium III Page 6 ELE3311– Systèmes logiques programmables P. Levesque Évolution de la technologie Fréquence de Item Année Nom du CPU Type de CPU l’horloge Nombre de transistors (max) Technologie de lithographie 12 2002 32 bits 2.2 GHz 42 million 0,13 µm 13 2004 64 bits 3,8 GHz 125 million 90 nm 14 2005 ~3 GHz 230 million 90 nm ~3 GHz 291 million 65 nm ~3 GHz 820 million 45 nm ~3 GHz 2,6 milliard 32 nm Intel Dual Core 15 2006 16 2008 17 2012 Multi-cœurs 64 bits Intel Dual Core 2 Multi-cœurs 64 Intel i3, i5 et i7 Multi-cœurs 64 Intel Xeon E5-4650 + hyper Multi-cœurs 64 threading (2x8 cœurs) bits bits bits 2 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) ELE3311– Systèmes logiques programmables Page 7 P. Levesque ASIC ASIC : circuits intégrés destinés à des applications spécifiques Sont conçu pour réaliser une applications spécifiques Contrairement aux application générique qui permettant de tout faire Ex: CPU Aujourd’hui, il n’est pas rare qu’un ASIC intègre un CPU, de la mémoire et d’autres modules spécialisés. Ce type de circuits est par ailleurs souvent nommé : SoP (System on Chip) ou MPSoP (MultiProcessor System on Chip) • dans le cas ou plusieurs processeurs sont intégrés dans le design. ELE3311– Systèmes logiques programmables Page 8 P. Levesque ASIC Les ASIC offrent une alternation intéressante Lorsque la complexité de la logique câblé devient trop significative, Que les performances des CPU ne sont pas adéquates, Que le volume de production est important La technologie des circuits ASIC a été introduite afin de remplacer les composants discrets par un nombre minimum de circuits intégrés. Cette technologie contribue également à augmenter l'intégration et à protéger le design. ELE3311– Systèmes logiques programmables Page 9 P. Levesque ASIC Toutefois, le coût associé à l’utilisation de cette technologie pour le développement d’un nouveau produit est considérable et il doit être amortie sur une grande quantité d’unités produites afin d’obtenir un prix unitaire acceptable. Le choix de l’une ou l’autre des techniques de réalisation des ASIC dépend à la fois : du temps de développement et de la complexité du circuit à concevoir 3 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) Page 10 ELE3311– Systèmes logiques programmables P. Levesque ASIC Page 11 ELE3311– Systèmes logiques programmables P. Levesque ASIC Page 12 ELE3311– Systèmes logiques programmables P. Levesque Évolution des PLDs Item Année Compagnie Produits Matrice de diode 1 ~1965 Radiation Inc. (Harris) 2 1969 IBM ROAM 3 1970 Texas Instrument PLA à masque 4 1970 Harris PROM 5 1971 Intel EPROM 6 1971 GE PLD, UV 7 1972 Data I/O Programmeurs 8 1974 9 1974 10 1975 (fusible) Intersil, Signetics PLA Monolithic Memories PALA / Inc. plateforme dev Intersil et Signetics FPLA 4 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) Page 13 ELE3311– Systèmes logiques programmables P. Levesque Évolution des PLDs Item Année Compagnie 11 1978 MMI Produits PAL *** logiciel PALASM 12 1980 John Birkner 13 1980 IEEE Standard JEDEC 14 1983 Data I/O Compilateur ABEL 15 1983 Lattice Semiconducteur (HDL) *** GAL EPROM PLD, 16 1984 Altera A+Plus International CMOS 17 1985 Technology (ICT) PEEL 18 1985 Lattice Semiconducteur EEPAL = GAL 19 1985,… Plusieurs Compagnies FPGA et FPIC ELE3311– Systèmes logiques programmables Page 14 P. Levesque Évolution des outils de développement PALASM (PAL assembler): En 1980, John Birkner Ce langage est considéré comme un langage de description matérielle (HDL - Hardware Description Language) rudimentaire et comme une application logicielle. Il s’agit de la première génération de ces logiciels. Initialement, il ne supportait que les produits MMI des PAL et nécessitait beaucoup de conversions de données afin d'obtenir le bon format de programmation. Son développement s’est effectué en même temps que la JEDEC proposait un standard pour les fichiers (format texte) de programmation des PLD. Le PALASM n’effectue pas d’optimisation et ne supporte que les équations booléennes sous forme de sommes de produits. ELE3311– Systèmes logiques programmables Page 15 P. Levesque Évolution des outils de développement ABEL (Advanced Boolean Expression Language): Introduit en 1983 par Data I/O, il est le premier outil universel pour les PLD. C’est un compilateur, programmé en Fortran, qui convertit un code source (fichier) HDL en un patron de fusibles « Fusemap ». Contrairement au PALASM, ABEL optimise la logique et permet de réaliser des MSA. PLDesigner : Outil permettant de simuler et de vérifier la fonctionnalité totale avant l'implantation Introduit par Minc avant d'être acheté par Mentor Graphics. 5 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) Page 16 ELE3311– Systèmes logiques programmables P. Levesque Évolution des outils de développement CUPL (Common Universal tools for Programmable Logic) : Introduit en 1981 par Assisted Technology, langage similaire à ABEL ; il optimise la logique et permet de concevoir des MSA. AMAZE (Automated Map & Zap of Equations) : Introduit par Signetics, AMAZE constitué d’une suite d’outils logiciels. AMAZE a grandement contribué à faire évoluer le HDL à un plus haut niveau. C’est en quelque sorte l’ancètre du Verilog et du VHDL PLAN (Programmable Logic ANalysis) : Introduit par National Semiconductor. ELE3311– Systèmes logiques programmables Page 17 P. Levesque Évolution des outils de développement APEEL (Assembler PEEL (Programmable Electrically Errasable Logic)) : Introduit par ICT. VHDL (VHSIC (Very High-Speed Integrated Circuits) Hardware Description Language) : Introduit en 1987 par le département de la Défense américaine en collaboration avec l’IEEE. Initialement développé comme outil de modélisation et de simulation, A évolué en un outil de synthèse. ELE3311– Systèmes logiques programmables Page 18 P. Levesque Évolution des outils de développement Verilog : Introduit en 1984 Similaire au VHDL Utilisé pour modéliser les systèmes électroniques ; Utilisé en tant qu’outil de design pour les systèmes numériques Outil de vérification pour les systèmes analogiques, numériques et mixtes. Autres outils de développement : Tango-PLD (Accel Technologies), Log/iC (ISDATA) Schema-PLD (Omation) OrCAD/PLD (OrCAD Systems), SP11 (Pistohl Electronic Tool), Synopsys, Texas Instruments, etc 6 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) ELE3311– Systèmes logiques programmables Page 19 P. Levesque Ressources matériels des PLD Fonction combinatoire ou séquentielle : La reconfiguration de cette fonction peut être basée sur : • • • • • une table de vérité (LUT), un jeu de multiplexeurs, un plan ET-OU, différentes portes logiques, ou un ensemble de transistors. Bloc d’entrée/sortie : Ce type de fonctions réalise un circuit logique d’entrée/sortie bidirectionnel. Il est basé sur des bascules, des bistables, Contrôle du « slew-rate », « pullup » et « pulldown ». ELE3311– Systèmes logiques programmables Page 20 P. Levesque Ressources matériels des PLD Interconnexions : Circuiterie servant à accommoder les deux types d’interconnexions: • • locale et globale. L’importance de ce type de fonctions tient au fait qu’il faut assurer une flexibilité maximale. Horloge : Une technique de distribution d’horloge est utilisée pour éviter le « skew » d’horloge lors de l’opération. ELE3311– Systèmes logiques programmables Page 21 P. Levesque Les PLD Les succès des PLD sont dus à la préconception des fonctions élémentaires (ET, OU, Bascule, etc.), facilite la conception, réduit le temps de mise en marché implique un faible coût de fabrication. Quant aux inconvénients, le nombre de portes par circuit est restreint. Conception des circuits est basée sur la synthèse des fonctions sous la forme de sommes de produits (SoP – Sum of Products) ; • • où les sommes sont réalisées par les fonctions logiques OU et les produits, par les fonctions logiques ET. 7 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) ELE3311– Systèmes logiques programmables Page 22 P. Levesque Les PLD Exemple (1) : Utilisation PAL avec technologie fusible Soit la fonction combinatoire Z . Z = AB+ B ELE3311– Systèmes logiques programmables Page 23 P. Levesque Les PLD Exemple (1) : Utilisation PAL avec technologie fusible Soit la fonction combinatoire Z . Z = AB+ B ELE3311– Systèmes logiques programmables Page 24 P. Levesque Catégories de PLD PLE : Programmable Logic Element • Plan ET fixe • Plan OU programmable PAL : Programmable Array Logic • Plan ET programmable • Plan OU fixe PLA : Programmable Logic Array • Plan ET programmable • Plan OU programmable GAL : Generic Array Logic • Plan ET programmable • Plan OU programmable • Cellule macro (OLMC) 8 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) Page 25 ELE3311– Systèmes logiques programmables P. Levesque Catégories de PLD Catégorie Représentation simplifié PLE PAL Page 26 ELE3311– Systèmes logiques programmables P. Levesque Catégories de PLD Catégorie Représentation simplifié PLA bs Mux a bs Mux D GAL a Q XOR sb Mux a CLK Page 27 ELE3311– Systèmes logiques programmables P. Levesque Technologies de programmation Fusible Programmable une seule fois Lien normalement fermé Antifusible (Avalanche induced migration – AIM) Programmable une seule fois Introduit par Intersil Lien normalement ouvert Offre une meilleure intégration comparativement aux fusibles 9 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com) Page 28 ELE3311– Systèmes logiques programmables P. Levesque Technologies de programmation Ultraviolet Programmable plusieurs fois Typiquement CMOS avec grille flottante Effacement lors d’une exposition aux ultraviolets Lien normalement ouvert Utilise généralement des boîtiers en céramique avec une fenêtre Effaçable électriquement Programmable plusieurs fois Deux grilles commandées par signaux complémentaires Effacement électrique Faible coût du boîtier (plastique) Rapidité à reprogrammer et tester 10 You created this PDF from an application that is not licensed to print to novaPDF printer (http://www.novapdf.com)