Électronique Numérique
Transcription
Électronique Numérique
Électronique Numérique 2ème partie du cours PHYS-F-314 G. de Lentdecker et K. Hanson Université Libre de Bruxelles Service de physique des particules élémentaires La grande image • Ma mission est vous donner un premier pas dans la direction de construire les circuit d’une nature numérique. Ayant compris les idées « en papier », nous allons faire les exemples réels dans la partie labo de ce cours. • Ces circuits semblent différents que leurs homologues analogiques – Où bien construit ils se conduisent dans une manière déterminée : au cause de cela, c’est possible de faire les circuits de la complexité presque incompréhensible (le CPU Intel de vos portables contient plus de 109 !! – l’art reste dans l’organisation des milliers des états (millions?) – Néanmoins il y a les « gotchas » aussi en format digital : concurrences critiques, les impulsions « avorton » (en anglais « runt pulses »), … 2 Background • On va voir que les circuits digitaux sont composés des transistors • Mais, ils restent dans une de deux états: haut ou bas (ou marche et arrêt ou on et off ou 1 et 0) dehors l’endroit linéaire où les petits fluctuations à l’entrée n’entraîne pas un changement d’état → immunité de bruit. • Les circuits numériques sont divisés en deux groups importants : – Logique combinatoire : l’état OUT d’une porte est déterminé par l’état d’un ou plus des entrées. Ce group inclut les fonctions AND, OR, NOT, … – Logique séquentielle : l’état OUT d’une porte est tributaire des entrées et l’état précédent de la porte. Ce group contient les flip-flops et les mémoires. • Nous commençons avec les portes discrètes qui sont encore disponible dans les boîtiers des circuits intégrés en format DIN (utiles pour les montages expérimentaux). Or, il est plus en plus ordinaire d’utiliser la logique programmée pour tout sauf les plus basique des circuits. Ici, vous auriez le choix entre dessiner la schéma ou décrire le circuit en une langue « VHDL » ou « Verilog » qu’est très semblable à écrire un code en C. Nous brosserons à ce sujet plus tard. • Même si vous ne jamais utiliserez les portes discrètes je pense que vous trouverez qu’ayant une bonne compréhension de l’opération des formes discrètes donne une fondation solide sur la logique programmée. 3 LOGIQUE COMBINATOIRE 4 Le BJT comme l’interrupteur Considérons le schéma suivant Quand S1 est fermé, la base de Q1 est massé → IC=0 → X1 est pas allumé. En ouvrant S1 le base de Q1 s’élève jusqu'à un diode drop au-dessus de la masse. Le courant de la base est fixé par R1: (5V-0.7V)/500Ω = 9 mA IC I B 900 mA On peut demander la raison d’utiliser Q1 où S1 aurait bien fonctionné. Cet exemple est un peu factice; d’habitude on souhaite d’avoir l’interrupteur réglée par une tension. Voir également la diapositive N° 7 des notes chapitre 3 S1 Fermé S1 Ouvert VB 0V 920 mV VC 5V 320 mV I(X1) 0A 187 mA Notez que je dois fournir 9 mA à la base pour entrer l’endroit saturé ; c’est un des raisons que MOSFETs sont preferable … 5 FET interrupteur FETs sont très plus faciles d’utiliser en tant que les interrupteurs. Si la grille est plus base que VT (ici proche de 2 V), en voyant à le drain, on voit une résistance très grand, O(1 GΩ ou plus). Lors la grille est plus haut que la résistance entre le drain et la source est petite (mais pas zero!) – l’interrupteur est ouvert. À une tension de 4 V grille, illustré ici, l’intensité ID est 200 mA (voir la graphique de la fiche technique à droite), la tension en travers la lampe est 5V, est la VDS est 5V. J’ai interposé la résistance 10 Ω en ordre que l’intensité ne dépasserait pas la point où la lampe serait détruise. I(VDS) pour le MOSFET ZVN3306A n-channel MOS 6 NMOS inverseur Volts C’est si simple que je sois sûr que tu veux faire une porte « inverseur » du MOSFET dans cette façon: 20 18 16 14 12 10 8 6 4 2 0 A X 0 0.5 1 1.5 Time (microseconds) 2 2.5 Bien, mais as tu considéré l’effet secondaire d’ayant Q1 dans l’état ON? Note que la dissipation de la puissance en R1 est forte: 150 mW. Pas très problématique de seul, or si on souhaite construire un microprocesseur avec millions des ces portes – imagine! Cette technologie s’appelle NMOS (n-channel MOSFET) et il a été très populaire dans les années 70 et 80 car il était possible d’atteindre une très forte densité des transistors en utilisant les moyennes de fabrication industrielle des semi-conducteurs à cette époque. Heureusement, il existe un meilleure méthode d’organiser les FETs … 7 CMOS CMOS (complémentaire MOS) utilise une paire de MOS (un de canal p et un de canal n) . Rappelle que le canal-p s’agit comme le canal n à l’envers: si la grille de Q1 est plus négative que la source (ici branché à VDD – attention !) il s’ouvre. Si point A est à la terre (et au-dessous la VT de Q2) puis Q1 est ouvert et Q2 est fermé → Y est à VDD. D’autre part si A est à VDD puis Q1 est fermé et Q2 est ouvert → Y est à la terre. Notez bien que: • Dans la condition statique où A reste soit à la terre soit à VDD il n’y a pas la dissipation de puissance. • Pendant le changement les deux transistors sont ouverts qui entraîne un chemin de résistance basse entre VDD et la terre. En conséquence, la puissance dissipée par le logique CMOS est liée à la fréquence d’horloge. CMOS NOR Ici c’est montré à gauche les FETs mises en œuvre comme la fonction NOR . Le chemin à VDD est uniquement ouvert si les deux p-MOS Q1 et Q2 sont ON (A et B sont LOW) lorsque les interrupteurs parallels Q3 et Q4 sont fermés. Si A ou B sont HIGH, Q1/Q2 sont fermés et Q3 ou Q4 est ouvert . L’électricité statique et CMOS Malgré les advantages CMOS a une susceptibilité fondamentale à l’électricité statique. En simplement touchant un MOSFET peut le détruire. 8 Portes numériques NOT / Inverseur NAND NOR XOR (Exclusive OR) A A’ 0 1 1 0 A B (AB)’ 0 0 1 74x00 Quad NAND 1 0 1 74x02 Quad NOR 0 1 1 1 1 0 74x03 Quad NAND open drain 74x04 Hex inverter (NOT) A B (A+B)’ 74x08 Quad AND 0 0 1 1 0 0 74x10 Triple 3-input NAND 0 1 0 74x11 Triple 3-input AND 1 1 0 74x86 Quad 2-input XOR A B AB 0 0 0 1 0 1 0 1 1 1 1 0 7400 série circuits intégrés portes simples 9 Familles des portes logiques TTL CMOS Alimentation (VCC) 4.75 – 5.25 Volts 4000B : +3 V à +15 V 74HCx : +2 V à +6 V 74LVx : 1.8 V – 3.3 V Entrée Un entrée LOW agit en tant qu’une source d’intensité; les portes connectées doivent pouvoir absorber cet intensité. CMOS présente très haut Zin en entrée : il n’y a pas l’intensité qui entre ni sort . Sortie Low is saturated transistor to ground. High is Darlington follower 2 diode drops below VCC CMOS peut tirer la sortie très proche au GND ou VCC Vitesse 100 MHz 74HCx : 100 MHz > 200 MHz Fanout 2 to 10 Beaucoup plus grand d’unité : limité par la capacitance pour les circuits où la vitesse est requises • CMOS est devenu le choix pour tous les applications. On encore voit les références aux signaux TTL mais presque toujours il signifie qu’il est la logique CMOS avec les niveaux typiques de TTL, soit 0 et 5 Volts. • En outre de TTL et CMOS il y a autres familles mais ils sont utilisés dans les circonstances spéciaux: • LVDS (low voltage differential signaling) : pour les interconnexions de haut débit (distribution d’horloges, par exemple) • LVPECL (low voltage positive ECL) : connexions en série, tel que GBIC • SSTL : populaire pour les interconnexions entre la logique et DRAM 10 Les niveaux logiques TTL 5V CMOS 3.3V CMOS VIH 2.0 V 3.5 V 2.4 V VIL 0.8 V 1.5 V 0.9 V VOH 2.4 V 4.9 V 3.2 V VOL 0.4 V 0.1 V 0.1 V VIH est la tension minimale que la porte logique considère comme HIGH à l’entrée, VIL est la tension maximale que la porte logique considère comme LOW à l’entrée, VOH est la tension minimale à la sortie de la porte pour l’état HIGH, VOL est la tension maximale à la sortie de la porte pour l’état LOW 7 6 Volts 5 4 VIH 3 VIL 2 VOH VOL 1 0 2 2.5 3 3.5 4 4.5 5 5.5 6 VCC (Volts) 11 Sortie drain ouvert / collecteur ouvert et 3-state Le drain (CMOS) ou le collecteur (bipolaire) peut être laissé ouvert pour les applications spéciaux tel que « wired OR » ou multipoint IRQ lignes où plusieurs périphériques veulent parler au CPU à une broche. Notez bien le astérisque dans le symbole. A B Q On doit rappeler de brancher une résistance « pull-up » qui d’habitude est entre 500 Ω et 10 kΩ. Sortie à trois états (tri-state logic) Plus modern c’est logique « tri-state » où un signal de control (souvent appelé « OE » pour « output enable » ou « CS » pour « chip select » et normalement ils sont « active low ». Si la sortie est coupée, puis il présent un impédance très haut, essentiellement agissant comme un interrupteur ouvert: A B Y 0 0 0 1 0 1 X 1 Z LSTTL NAND avec le collecteur ouvert 12 Les nombres binaires et hexadécimals Vous avez, sans doute, réfléchi qu’on puisse représenter un nombre entier dans une porte numérique par l’association: soit logique HI = 1 et logique LO = 0, soit l’inverse. Adopterons la convention que 1 est HI et 0 est LO sauf avis contraire. D’ailleurs, on peut en général composer n’importe nombre entier par la composition d’un rang de portes, en interprétant l’ensemble comme un nombre binaire. Par exemple, supposons que nous avons la séquence de 4 registres avec HI LO HI LO. Cela représente le nombre binaire 1010 qui est 10 (dix) en décimal. Notez bien que le sens MSB à gauche c’est normalement le cas, mais malheureusement n’est pas universal: c’est possible de l’interpreter en tant que 5! Binaire Décimal signé Décimal pas signé Hex 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 A B C D E F 1010bin 1 8 0 4 1 2 0 1 10dec Signed and unsigned Il y a plus qu’une convention pour représenter les nombres négatives mais presque tout le monde utilise le système « complément à deux » dû à sa généralité: on forme un nombre négatif en le déduisant d’un nombre plus grand qui est une puissance de 2. Laquelle puissance? D’habitude il est précisé par le largeur de la registre. Notez bien: • Le bit de poids fort toujours indice le signe: 1 est toujours un nombre negatif et 0 est toujours un nombre positif, • Le complément à 2 est pris par inverser le nombre, puis additionner 1. Hexadécimal Bien qu’il est difficile de commuter entre les représentations binaires et décimales, il existe une représentation intermédiaire en base 16 qui est pratique. Ici, chaque group de 4 bits peut etre ecris en tant qu’un digit hex: 0110 1011 0010 0111 1111 0100 1100 0001 = 0x6B27F4C1 = 1.797.780.673 13 Les identités logiques et la loi de DeMorgan A B AB A’B’ A+B A’+B’ 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 1 0 En considérant la table à gauche on vérifie le loi de DeMorgan: (AB)’ = A’+B’, et (A+B)’ = A’B’ Il suit que toute logique peut être fait de quelque amalgame des portes NAND ou NOR. Nous allons voir que les portes séquentielles également se composent des portes NAND (ou NOR), ainsi il serait possible construire un ordinateur des portes NANDs ! 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ABC = (AB)C = A(BC) AB = BA AA = A A1 = A A0 = 0 A(B+C) = AB + AC A + AB = A A + BC = (A + B)(A + C) A + B + C = (A + B) + C = A + (B + C) A+B=B+A A+A=A A+1=1 A+0=A (A’)’ = A 1’ = 0 0’ = 1 A + A’ = 1 AA’ = 0 A + A’B = A + B (A + B)’ = A’B’ (AB)’ = A’ + B’ 14 Multiplexeurs 2-input Muxer Y AS BS Un multiplexeur fait une sélection parmi N entrées réglée par une ou plus sélecteurs. Ici à la droite est une réalisation avec 2 entrées et un sélecteur. Les multiplexeurs sont utilés dans le cas rare où on doit mettre en œuvre une table de vérité arbitraire. S A B Y 0 0 X 0 0 1 X 1 1 X 0 0 1 X 1 1 4-input Muxer Y AS0 S1 BS0 S1 C S0S1 DS0S1 S0 S1 A B C D Y 0 0 0 X X X 0 0 0 1 X X X 1 1 0 X 0 X X 0 1 0 X 1 X X 1 0 1 X X 0 X 0 0 1 X X 1 X 1 1 1 X X X 0 0 1 1 X X X 1 1 Il y a (au moins) 2 voies pour l’étendre : • Par créer un arbre des 3 blocs répétés du modèle ci-dessus où X2.A = C & X2.B = D et X1.S & X2.S = S0 et X3.S = S1 • C’est plus efficace de construire la logique directement mais le nombre des portes s’accroît en tant que 2N 15 Décodeurs et Encodeurs Un décodeur prend un de N entrées et met le bit correspondant à un de 2N sorties. C’est utile pour activer une partie de le circuit en fonction d’un état tenu dans un compteur, par exemple. La logique est exactement équivalent à le 4entrée muxer avant. S0 S1 A B C D A S0 S1 0 0 1 0 0 0 B S0 S1 1 0 0 1 0 0 C S0S1 0 1 0 0 1 0 D S0S1 1 1 0 0 0 1 L’encodeur fait l’opposite : il prend plusieurs entrées et répond avec la position de le plus fort bit en binaire. Ici est la table de vérité pour 3 entrées . Il n’est pas très difficile de généraliser . Les encodeurs sont utilisés en le convertisseur analogique – numérique . A B C Y0 Y1 0 0 0 0 0 Y0 AB'C ((AB')' C' )' 1 0 0 1 0 Y1 B C (B' C' )' X 1 0 0 1 X X 1 1 1 16 L’addition avec portes numériques Prenons le problème suivant pour additionner 2 nombres binaires. Faites la chose ordinaire en additionnant les numéraux décimaux … 0110 +0101 ---1011 A (6) B (5) 11 ! Vraiment c’est plus facile. Il reste d’écrire la table de vérité – ici A et B sont les bits et C représente le « carry » bit A B Cin Q Cout 0 0 0 0 0 1 0 0 1 0 Q A B Cin 0 1 0 1 0 Cout AB Cin (A B)' 1 1 0 0 1 0 0 1 1 0 or Cout AB Cin (A B) 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 Le dernier expression est plus efficace car il réutilise le résultat de le XOR, donc, on a besoin une porte moins 17 Simple 2-bit full adder from discrete gates 18