ELE1300 Mux Démux Décodeur
Transcription
ELE1300 Mux Démux Décodeur
Mux Multiplexeur Sélection I2 I1 I0 e7 e5 ELE1300 e4 Entrées e3 e2 Circuits usuels non arithmétiques Multiplexeur e6 S Sortie e1 I2 I1 I0 S 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 e0 e1 e2 e3 1 1 1 e4 e5 e6 e7 e0 Démux Décodeur Démultiplexeur (ou convertisseur n bits à 2n lignes, avec commande d’activation) Exemple : Conversion « n bits à 2n lignes » Sélection Illustration avec n = 3 I2 I1 I0 s7 I1 I0 s7 s6 s5 s4 s3 s2 s1 s0 s5 0 0 0 0 0 0 0 0 0 0 E a2 s4 0 0 1 0 0 0 0 0 0 E 0 a1 0 1 0 0 0 0 0 0 E 0 0 s3 s2 s1 s0 0 1 1 0 0 0 0 E 0 0 0 1 0 0 0 0 0 E 0 0 0 0 1 0 1 0 0 E 0 0 0 0 0 1 1 0 0 E 0 0 0 0 0 0 1 1 1 E 0 0 0 0 0 0 0 a0 Convertisseur I2 3 bits à 8 lignes Entrée s6 s6 Sorties E Démultiplexeur s7 s5 s4 s3 s2 s1 s0 a2 a1 a0 s7 s6 s5 s4 s3 s2 s1 s0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Encodeur (de priorité) Réaliser une fonction logique e7 GS e2 s6 = a2 a1 a0 S1 S0 e1 e0 a2 I7 I6 I5 I4 I3 I2 I1 I0 S2 S1 S0 GS 1 0 0 0 − 1 0 0 − − 1 0 − − − 1 − − − − − − − − − − − − − − − − 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 − 1 0 0 − − 1 0 − − − 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 a1 a0 S 0 0 0 0 0 1 s0 s1 0 0 1 1 0 1 s2 s3 1 1 1 0 0 1 0 1 0 s4 s5 s6 1 1 1 s7 A I2 B I1 C I0 e6 e5 e4 e3 S e2 s4 = a2 a1 a0 s3 = a2 a1 a0 s1 = a2 a1 a0 s0 = a2 a1 a0 Exemple Multiplexeur e7 s5 = a2 a1 a0 s2 = a2 a1 a0 Réaliser une fonction logique A B C Convertisseur e3 S2 3 bits à 8 lignes e4 Sortie e5 Entrées s7 = a2 a1 a0 Encodeur de priotié e6 e1 e0 s7 s6 s5 s4 s3 s2 s1 s0 S A B C D S 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 D 1 A I2 B I1 D C I0 0 D 0 S Multiplexeur e7 e6 1 1 e5 e4 e3 e2 e1 0 1 D 1 1 0 e0 S Même exemple avec un multiplexeur à 4 entrées A I1 I0 A I1 B B I0 C Multiplexeur S S C e3 D e3 D e2 e1 S Multiplexeur e2 e1 e0 A B C S e0 1 C e3 e2 e1 e0 Circuit combinatoire D Circuits programmables Notations DISPOSITIF LOGIQUE PROGRAMMABLE « PLD : Programmable Logic Device » A A S = ABC A MÉMOIRE MORTE PROGRAMMABLE « PROM : Programmable Read-Only Memory » est équivalent à est équivalent à RÉSEAU LOGIQUE PROGRAMMABLE « PLA : Programmable Logic Array » A MD CIRCUIT PAL A A B C A « PAL : Programmable Array Logic » FUSIBLE S = ABC Notations... B ROM C A B S = AC « PROM : Programmable Read-Only Memory » a0 C S = ABC ADRESSE A MÉMOIRE MORTE PROGRAMMABLE a1 an-1 est équivalent à est équivalent à A B C S = AC A B C d1 S = ABC dk-1 m0 RÉSEAU LOGIQUE PROGRAMMABLE PLA « PLA : Programmable Logic Array » m1 m2 PAL a0 a0 a1 a1 an-1 an-1 m2n −1 CIRCUIT PAL « PAL : Programmable Array Logic » d0 d1 d0 La matrice de OU est fixée par le fabriquant : seule la matrice de ET est configurable. d1 dk-1 b0 b1 b2 bl-1 MD dk-1 b0 b1 b2 bl-1 DONNÉE d0 FPGA Circuit logique programmable de très grande densité (énormément de portes logiques). Utilise une LUT pour implémenter des équations logiques ayant généralement 4 à 6 entrées et une sortie. Elle peut être considérée comme une petite mémoire ou un multiplexeur. Les blocs logiques, sont connectés entre eux par une matrice de routage configurable : La topologie est dite "Manhattan", en référence aux rues à angle droit (quadrillées) de New York. FPGA... Les FPGA incorporent souvent de nos jours un cœur de processeur. La conception de FPGA recourant à un cœur de processeur s’appelle co-design, car il faut conjuguer une conception logicielle propre au processeur et une conception matérielle des périphériques. Les FPGA de ce type utilise une architecture qui rappelle à bien des égards l’architecture d’un ordinateur (processeur, bus, périphériques). FPGA... Il est nécessaire de sauvegarder le design du FPGA dans une mémoire Flash. Étant donnée la grande densité des FPGA, la conception est réalisée au moyen d’un langage de description matérielle (HDL : Hardware Description Language). Les FPGA permettent un grand gain sur le coût de développement d’un circuit numérique. Son coût élevé le rend généralement proscrit pour une production industrielle. On lui préférera un ASIC (Application Specific Integrated Circuit), plus cher à l’unité, mais rentable pour une production de grand volume. FPGA... Xilinx Altera Atmel Actel QuickLogic