Les circuits logiques programmables : Technologie du transistor au
Transcription
Les circuits logiques programmables : Technologie du transistor au
Les circuits logiques programmables : Technologie du transistor au P.L.D. (Programmable Logic Device) 1 Toutes les composants logiques (de la porte logique au µP) sont obtenues à partir d’association de quelques (millions ?) de transistors. Ces transistors peuvent être des transistors bipolaires (familles TTL et ECL) ou des transistors MOS (famille NMOS, PMOS, CMOS…). Les fonctions programmables sont réalisées à partir des familles à base de transistors MOS. 2 composant de base : le transistor S N P E B N C P G D N P bipolaire C Ib MOS D Ic Ids Vce B Vgs E Ic S Vds Ids Ib Vce Vg Vds 3 circuits intégrés deux grandes familles technologiques: CMOS et bipolaire ∆t I ∆V diminution du paramètre techno. diminution des tensions compromis vitesse - consommation C ∆t = C ∆V I 4 Terminologie des Circuits intégrés Niveau bas Niveau haut +5V IOH IIH IOL + VOH - + + VOL - VIH - VIH(min) : tension d’entrée niveau HAUT VIL(max) : tension d’entrée niveau BAS VOH(min) : tension d’entrée niveau HAUT VOL(max) : tension de sortie niveau BAS IIH : courant d’entrée niveau HAUT IIL : courant d’entrée niveau BAS IOH : courant de sortie niveau HAUT IOL : courant de sortie niveau BAS IIL + VIL - 5 Paramètres électriques et temporels Définition des niveaux logiques Vs Valim VOHmin A ve1 A A ve2 vs2 VOLmax Ve VILmax VIHmin Valim VOLmax < VILmax et VOHmin > VIHmin 6 Paramètres électriques et temporels Définition des niveaux logiques valeur minimale de la tension d ’entrée pour que le signal soit vu comme « 1 » valeur maximale de la tension d ’entrée pour que le signal soit vu comme « 0 » dans les conditions du test le circuit assure cette tension 7 Paramètres électriques et temporels Courants de sortie courant maximal délivré par l ’alimentation au repos courants minimaux fournis à la charge pendant les transitions 8 9 Paramètres électriques et temporels Paramètres temporels écart relatif maximal 10 Autres série TTL Le sigle TTL se réfère généralement à la série 74 standard ou « N ». Il existe d’autres séries : • 74L : faible consommation • 74H : plus rapide • 74S (Schottky) : faible consommation et plus rapide • 74LS : faible consommation mais moins rapide. • 74AS et ALS : associent vitesse de commutation et faible consommation. 11 Les différentes série TTL N L H S AS LS ALS Tension d’alimentation 5v 5v 5v 5v 5v 5v 5v Voh(min) 2,4 v 2,4 v 2,4 v 2,7 v 2,7 v 2,7 v 2,7 v Vih(min) 2v 2v 2v 2v 2v 2v 2v Vol(max) 0,4 v 0,3 v 0,4 v 0,5 v 0,5 v 0,5 v 0,5 v Vil(max) 0,8 v 0,8 v 0,8 v 0,8 v 0,8 v 0,8 v 0,8 v Retard de propagation 10 ns 33 ns 6 ns 3 ns 1,5 ns 9,5 ns 4 ns Consommation 10 mW 1 mW 22 mW 19 mW 20 mW 2 mW 1 mW Entrance à l’état haut : IIH 40 µA 10 µA 50 µA 50 µA 200 µA 20 µA 20 µA Entrance à l’état bas : IIL 1,6 mA 180 µA 2 mA 2 mA 2 mA 400 µA 200 µA Sortance à l’état haut : IOH 400 µA 200 µA 500 µA 1 mA 2 mA 400 µA 400 µA Sortance à l’état bas : IOL 16 mA 3,6 mA 20 mA 20 mA 20 mA 8 mA 8 mA 12 Facteur de charge et sortance des TTL État bas État haut +5 V +5 V R1 R2 +5V R1 R4 D1 Q4 +5 V R2 Bloqué Q3 +5 V IOL R1 +5V R1 R4 conduit IIL IIL IOH + + VOL VOH Conduit - IIH IIH bloqué - Nombre d’entrée 7400 que peut piloter une sortie 7400 : IOL(max) = 16 mA IIL(max) = 1.6 mA Sortances = IOL(max)/IIL(max) = 10 IOH(max) = 400 µA IIH(max) = 40 µA Sortances = IOH(max)/ IIH(max) = 10 13 Autres familles : 14 circuits intégrés CMOS D D G Vgs G Vgs S nMOS Vgs≅Vdd Vgs ≅ 0 S pMOS S D S D Vgs≅-Vdd Vgs ≅ 0 15 circuits intégrés CMOS nMOS technologie CMOS pMOS 16 circuits intégrés CMOS exemple : inverseur Valim Valim pMOS E S E S nMOS 17 18 circuits intégrés CMOS exemple : inverseur Valim S=0 1 = E E E S E= 0 S 0 1 1 0 E S S=1 19 circuits intégrés CMOS exemple : inverseur grille Valim E n+ S p+ n+ p+ substrat p Vref caisson n transistor n transistor p 20 circuits intégrés CMOS exemple : inverseur 21 circuits intégrés CMOS exemple : inverseur 22 23 circuits intégrés CMOS exemple : porte NAND Valim A B A =1 =1 B t e S=0 S A =0 ou B =0 A B S 0 0 1 0 1 1 1 0 1 1 1 0 S=1 A S B 24 circuits intégrés CMOS exemple : porte NAND 25 circuits intégrés CMOS exemple : porte NOR Valim A A =1 ou =1 B S=0 A B S 0 0 1 0 1 0 1 0 0 1 1 0 B S A =0 et B =0 S=1 A S B 26 circuits intégrés CMOS exemple : porte NOR 27 Le soustracteur 28 circuits intégrés 29 circuits intégrés évolution du nombre de transistors des µP Intel nb de trans. param. techno. 12 1.0E+08 P-III P-II 1.0E+07 10 P 8 80486 1.0E+06 6 1.0E+05 4 8086 1.0E+04 8080 2 4004 2000 1990 0 1980 1971 1.0E+03 loi de Moore : Ntr est multiplié par 1,4 par an 30 circuits intégrés évolution de la fréquence d'horloge des µP Intel MHz fréquence d'horloge P-III 1000 P-II 100 P 80486 10 8086 8080 2000 1990 1980 1971 1 31 circuits intégrés 1972: 2500 transistors 4004 2000: >10 000 000 transistors P-II 32 circuits intégrés hiérarchie système fonction porte circuit composant 33 34 circuits intégrés salle blanche masque de lithographie fours de diffusion Wafer épitaxié 35 Wafer épitaxié 36 Epitaxie par jets moléculaires à sources gaz : 37 Epitaxie par jets moléculaires à sources gaz : 38 Epitaxie par jets moléculaires à sources gaz : 39 salle blanche 40 composant 41 circuits intégrés substrat (Si) gravure (HF ou plasma) oxyde (SiO2) résine UV masque 42 43 circuits intégrés dépôt poly-Si dépôt d'oxyde oxydation gravure poly-Si ouverture des contacts gravure gravure oxyde mince dépôt de métal oxydation (grille) implantation-diffusion gravure du métal 44 fours de diffusion 45 circuits intégrés "bonding" boitiers boitier DIL 46 microsystèmes 47 circuits intégrés 300 1000 param ètre techno. (nm) 200 500 100 0 surface de la 2 puce (mm ) 19 20 20 20 20 95 00 05 10 15 20000 15000 nom bre d'E/S 10000 fréquence d'horloge (MHz) 5000 0 1995 2000 2005 2010 2015 nom bre de transistors/cm 2 (en millions) 0 200 150 100 50 0 3 2 1 1995 2000 2005 2010 2015 (W) puissance alimentation (V) a 0 48 49 50 suite… 51 52 53 54 55 56 57 58 Les différents types de circuits programmables 59 Mémoire programmable mémoire 16 mots de 2 bits => 2 fonctions logiques de 4 entrées A0 A1 A2 A3 Matrice de ET figée Adresses =entrées S0 Matrice de Ou Programmable S2 liaison non programmable liaison programmable 60 Circuit logique programmable PAL : programmable array logic A0 A1 A2 A3 Matrice ET programmable Adresses =entrées S0 Matrice Ou figée S2 S3 S4 somme de produits = Macrocellule liaison non programmable liaison programmable 61 62 63 64 65 66 67 68 69 70 71 72 73 Field-Programmable Gate Array (FPGA) • Xilinx série XC4000 74 75 76 77 78 79 80 81 82 Points à examiner avant réalisation : • Matériel Logiciel: Lequel ? ld In, x0 xor x0, r2, x1 ld Gate, x2 and x1, x2, x1 xor x1, r0, x2 mov x1, r0 ... – In Out – Gate Matériel: techno, coût ? Gate In Out • Performance • Temps-réel • Interfaçage physique • Coût • Encombrement 83 • ... Modèles de réalisation • Circuits à façon (full-custom) : dessin de transistors (gravure de rectangles). • Circuits prédiffusés (gate array) : connexion de portes logiques élémentaires (ex. NOR). • Circuits logiques programmables (PROM, PAL, EPLD) : réalisation d’un petit nombre d’équations booléennes. Généralement programmables une seule fois. • Prédiffusés programmables (FPGA) : connexion de fonctions booléennes programmables et de registres synchrones. Programmables une fois ou indéfiniment reprogrammables. 84 Plate-forme matérielle (1) • • PC (Windows NT) Carte “PCI Pamette” (Compaq Systems Research Center) – 4 circuits Xilinx XC4010E-3 à XC4085XLA-09 • 800 à 6272 fonctions booléennes 4 entrées • 800 à 6272 registres • 160 ports d’entrée-sortie – 2 banques mémoire, 64k x 16b, 12ns – Interface PCI (téléchargement et communication) – Horloge programmable 0–100 MHz 85 Plate-forme matérielle (2) 4 Xilinx 4010Es 256 KB SRAM External I/O CMC Connectors PCI Interface Up To 256 MB DRAM SIMMs 86 Plate-forme matérielle (3) • Périphériques optionnels – DRAM – Ecran VGA – Caméra numérique – Carte ethernet – Convertisseurs A/D et D/A – ... 87 Outils logiciels (1) • • Description des circuits – Schémas – Equations booléennes – VHDL Compilation – Traduction des fichiers sources en portes logiques – fusion – Fabrication de tables à 4 entrées – Placement et routage – Génération du binaire de configuration 88 Outils logiciels (2) • • Exécution – Initialisation des RAMs – Configuration du circuit – Protocole d’entrées-sorties (PCI) – Commandes clavier, scripts, programmes C/Java. Mise au point – Simulation – Exécution pas-à-pas – relecture de l’ état interne – Oscilloscope 89 90 91 92 Langages de description (1) • Schémas : Count Cnt3 Dec7s seg[0..6] R 93 Langages de description (2) • Equations booléennes : ABEL. – module count8; " Inputs Clk,up,down pin; " Outputs q0,q1,q2,q3,q4,q5,q6,q7 pin istype ’reg’; " Variables count = [q7..q0]; equations count:=(count+1) & up & !down "count up # (count-1) & !up & down "count down # count & up & down "hold # count & !up & !down; "hold end 94 Langages de description (3) • Imperative Generation : PamDC. – int i,j; Bool clk, limit; WireVector<Bool,3> Cnt; limit = Cnt[0] & (~Cnt[1]) & Cnt[2]; for (i = 0; i < 3; i++) { EquationHandler Carry = ONE; for (j = 0; j < i; j++) Carry = Carry & Cnt[j]; Cnt[i] = reg( mux(limit, ZERO, Cnt[i] ^ Carry),clk); } 95 Langages de description (4) • Synthèse logique : VHDL. – process begin wait until CLK’event and CLK = ’1’; if SECS = 59 then SECS <= 0; if MINUTES = 59 then MINUTES <= 0; else MINUTES <= MINUTES + 1; end if; else SECS <= SECS + 1; end if; end process; 96 Projets microprocesseurs • RISC • Microprocesseur classique : PDP8, PDP11, 6502 – Possibilité de trouver spécifications, compilateurs, code sur le web – http://www.spies.com/~dgc/pdp8x/ • Microprocesseur + périphériques • Carte graphique • Contrôleur disque 97 Projets microprocesseurs (suite) • Calculatrice – Calculatrice à pile simple – Calculatrice programmable • Automates spécialisés – – – – – calendrier perpétuel. . . Montre numérique Contrôleur d’ascenseur Voltmètre numérique Oscilloscope numérique • Codes – Codes cryptographiques – Codes correcteurs d’erreur 98 Projets microprocesseurs (suite) • Pilotage d’ écran graphique – Terminal alphanumérique – Jeu vidéo, animations • Audio numérique – Synthèse additive – Filtrage – Analyse fréquentielle temps-réel • Acquisition et traitement d’image • – Caméra numérique Autres. . . 99 Exemple : calculatrice • Type “polonaise inverse” (HP) • Version minimale – Hexadécimale – 8 bits – Addition – soustraction • Extensions – – – – 12 ou 16 bits BCD Multiplication Sous-programmes en ROM 100 Exemple : synthétiseur sonore • Version minimale – Synthèse d’ échantillons sonores en temps r éel – Forme(s) d’onde en RAM – Partitions en RAM (fréquence/durée) • Extensions – Enveloppes – Voies multiples 101 102