ELP 34 : Cours 2 Circuits combinatoires Michel Jézéquel Département Électronique Support réalisé avec la participation de Christophe Jégo
Les circuits combinatoires Définition Les opérateurs de transcodage les codeurs les décodeurs les transcodeurs Les opérateurs d aiguillage les multiplexeurs les démultiplexeurs Les opérateurs de comparaison Les opérateurs arithmétiques les additionneurs les multiplieurs les unités arithmétiques et logiques page ELP 34 Cours 2
Les circuits combinatoires Définition Les opérateurs de transcodage les codeurs les décodeurs les transcodeurs Les opérateurs d aiguillage les multiplexeurs les démultiplexeurs Les opérateurs de comparaison Les opérateurs arithmétiques les additionneurs les multiplieurs les unités arithmétiques et logiques page 2 ELP 34 Cours 2
Définition Exemple de modélisation d'un circuit combinatoire x x x 2 3 S = x x2 + x3 Δ = 2 nanosecondes S Un circuit combinatoire est une mise en œuvre matérielle d'une fonction combinatoire Un circuit combinatoire a des caractéristiques temporelles qui dépendent de la technologie employée page 3 ELP 34 Cours 2 x x 2 x 3 S 2 ns
Définition Circuits combinatoires versus Circuits séquentiels Circuits combinatoires : C est l absence de mémoire qui caractérise les circuits combinatoires. Les sorties sont une fonction combinatoire des entrées: S=f(E). une configuration des entrées correspond une configuration unique des sorties. Circuits séquentiels : Les sorties sont fonctions des entrées mais aussi de l état interne du système. une configuration des entrées peut correspondre plusieurs configurations des sorties. L état interne du système est une trace du passé du système numérique. page 4 ELP 34 Cours 2
Définition Circuits combinatoires : C est l absence de mémoire qui caractérise les circuits combinatoires. Les sorties sont une fonction combinatoire des entrées: S=f(E). une configuration des entrées correspond une configuration unique des sorties. Circuits Séquentiels : Les sorties sont fonctions des entrées mais aussi de l état interne du système. une configuration des entrées peut correspondre plusieurs configurations des sorties. L état interne du système est une trace du passé du système numérique. page 5 ELP 34 Cours 2
Les circuits combinatoires Définition Les opérateurs de transcodage les codeurs les décodeurs les transcodeurs Les opérateurs d aiguillage les multiplexeurs les démultiplexeurs Les opérateurs de comparaison Les opérateurs arithmétiques les additionneurs les multiplieurs les unités arithmétiques et logiques page 6 ELP 34 Cours 2
Les opérateurs de transcodage : définition Un opérateur de transcodage est un circuit transformant une information présente en entrée sous une forme donnée (code ) en la même information en sortie mais sous une autre forme (code 2) Les trois types de transcodeurs 2 n n n 2 n n n 2 Codeur (encodeur) Décodeur Transcodeur page 7 ELP 34 Cours 2
Les opérateurs de transcodage : les codeurs Classiquement pour un codeur, lorsqu'une entrée (sur les N) est activée, les sorties affichent le numéro de l entrée active dans le code binaire choisi (sur n bits), tel que: Exemple: codeur décimal vers binaire ( entrées vers 4 sorties) entrées E E E2 n 2 < N 2 codeur n 2 3 sorties E9 Ex: si E5= et Ei= pour toutes les autres entrées, alors les sorties affichent (3,2,,)=(,,,). page 8 ELP 34 Cours 2
Les opérateurs de transcodage : les codeurs prioritaires Ce type de codeur fixe un ordre de priorité entre les entrées. Pour un codage en binaire pur, le codeur prioritaire donne en principe la priorité à l entrée de poids le plus élevé. Exemple: codeur prioritaire (4 entrées vers 2 sorties) E3 E2 E E E X X X X X X entrées E E2 encodeur prioritaire sorties E3 Équations de sortie : = E 3 + E 2.E = E 3 + E 2 page 9 ELP 34 Cours 2
Les opérateurs de transcodage : les décodeurs Les décodeurs: n entrées de données N sorties avec n N 2 Une seule sortie est active à la fois Quand un nombre est codé en binaire pur à l entrée, c est la sortie correspondante qui est activée. Exemple de décodeur binaire " parmi 8" <e 2,e,e > 3 E s s.. s 7 8 sorties s s s 2 etc. n- Equations de sortie = = = e e e 2 2 2 e e e e e e 2 3 n 2 - page ELP 34 Cours 2
Les opérateurs de transcodage : les décodeurs ccroissement de capacité par association de circuits Réaliser un décodeur " parmi 6" à l'aide de décodeurs " parmi 8" = 3 2 Solution : y c c c c y = c3c2 cc y7 = c3c2cc y8 = c3c2 c c y9 = c3c2 cc y5 = c3c2cc deux décodeurs traitent en parallèle les bits c 2, c, c. Le bit c 3 sélectionne les sorties de celui qui doit être actif Schéma de principe Va = entrée de validation <c 2,c,c > c 3 E v a v b E v a v b /s /s.. /s 7 /s /s.. /s 7 /y /y.. /y 7 /y 8 /y 9.. /y 5 page ELP 34 Cours 2 Vb = S + S +. + S 7
Les opérateurs de transcodage : les transcodeurs Exemple: le transcodeur CD/7 segments C D S S S2 S3 S4 S5 S6 Transcodeur CD / 7 segments Il est souvent nécessaire de visualiser une information codée en binaire sur des afficheurs (7 segments) => convertisseur CD (inary-coded Decimal) / 7 segments => convertisseur binaire pur / 7 segments page 2 ELP 34 Cours 2
page 3 ELP 34 Cours 2 Exemple: le transcodeur CD/7 segments 7 segments S S S2 S3 S4 S5 S6 Code CD Table de vérité S S S2 S3 S4 S6 S5 Les opérateurs de transcodage : les transcodeurs
Les circuits combinatoires Définition Les opérateurs de transcodage les codeurs les décodeurs les transcodeurs Les opérateurs d aiguillage les multiplexeurs les démultiplexeurs Les opérateurs de comparaison Les opérateurs arithmétiques les additionneurs les multiplieurs les unités arithmétiques et logiques page 4 ELP 34 Cours 2
Les opérateurs d'aiguillage : définition Multiplexeur Démultiplexeur 2 n entrées sortie entrée 2 n sorties n adresse n adresse rôle : aiguiller un signal d entrée parmi 2 n vers une sortie à l aide de n bits d adresse rôle : aiguiller un signal d entrée vers une des 2 n sorties en fonction de l état des bits d adresse page 5 ELP 34 Cours 2
Les opérateurs d'aiguillage : multiplexeurs pplications des multiplexeurs Conversion parallèle/série : aiguiller les informations présentes en parallèle à l entrée du MUX en des informations de type série en sortie ; toutes les combinaisons d adresses sont énumérées une par une sur les entrées de sélection. Réalisation de fonctions logiques : toute fonction logique de N variables est réalisable avec un multiplexeur de 2 N vers F(,) VDD E E F E2 VDD E3 page 6 ELP 34 Cours 2
Les opérateurs d'aiguillage : démultiplexeurs Les démultiplexeurs réalisent la fonction inverse du multiplexeur : entrée de données n entrées de sélection Q = E si (S S ) 2 = N =2 n sorties E parmi 2 2 Q Q Q 2 Q 3 sinon Q = E si (S S ) 2 = sinon S S pplications: conversion d une information de type série en une information de type parallèle. page 7 ELP 34 Cours 2
Les circuits combinatoires Définition Les opérateurs de transcodage les codeurs les décodeurs les transcodeurs Les opérateurs d aiguillage les multiplexeurs les démultiplexeurs Les opérateurs de comparaison Les opérateurs arithmétiques les additionneurs les multiplieurs les unités arithmétiques et logiques page 8 ELP 34 Cours 2
Les opérateurs de comparaison : définition Comparateur élémentaire : opérateur capable de détecter l égalité et de comparer deux nombres. E (=) S (>) I (<) Table de vérité S= si ( > ) = E= si ( = = ) = I= si ( < ) = page 9 ELP 34 Cours 2
Les opérateurs de comparaison : comparateur complet Exemple : comparer 2 mots de n=4 bits E : = si 3=3 et 2=2 et = et = (égalité) S : > si 3>3 ou (3=3 et 2>2) ou (3=3 et 2=2 et >) ou (3=3 et 2=2 et = et >) I : < si page 2 ELP 34 Cours 2 I = E + Réalisation possible à partir de 4 comparateurs de 2 bits ou utilisation d un comparateur modulaire Les entrées (in > in), (in=in) et (in<in) permettent de cascader les comparateurs S 3 2 3 2 comparateur xx 85 > in = in < in > out = out < out sorties
Les circuits combinatoires Définition Les opérateurs de transcodage les codeurs les décodeurs les transcodeurs Les opérateurs d aiguillage les multiplexeurs les démultiplexeurs Les opérateurs de comparaison Les opérateurs arithmétiques les additionneurs les multiplieurs les unités arithmétiques et logiques page 2 ELP 34 Cours 2
Les opérateurs arithmétiques : les additionneurs Le demi additionneur prend en entrée 2 bits et et délivre en sortie leur somme S et la retenue (ou carry) C C S & = C S C =. S = page 22 ELP 34 Cours 2
L additionneur complet permet de prendre en compte une retenue entrante C Les opérateurs arithmétiques : les additionneurs retenue entrante C - page 23 ELP 34 Cours 2 retenue sortante C S somme C Équations logiques de l additionneur complet: S C = =. >= C. + ( ) C C - /2 add. ( ).C - /2 add. S = C -
Les opérateurs arithmétiques : les additionneurs dditionneurs à retenue propagée (ripple-carry adder) S C = = ( ) C + C C - C in C out S C S '' C in C out S S C in C out S 2 2 S C in C out S S 2 /2 add. /2 add. Problème : les tps de propagation s ajoutent >= page 24 ELP 34 Cours 2
Les opérateurs arithmétiques : les additionneurs dditionneurs à retenue anticipée (carry loo-ahead adder) Principe : le calcul des retenues est fait directement à partir des entrées avantage : calculs en parallèle gain en rapidité inconvénient : plus de portes logiques coût en complexité matérielle C = + ( ) C Calcul de la retenue anticipée: avec C G P G Puis, développement de () page 25 ELP 34 Cours 2 = + = = P C () : terme de génération : terme de propagation par récurrence
Les opérateurs arithmétiques : les additionneurs dditionneurs à retenue anticipée (carry loo-ahead adder) C4 C C3 C2 C C 4 = G 3 + P 3 (G 2 + P 2 (G + P (G + C P ))) page 26 ELP 34 Cours 2
Les opérateurs arithmétiques : les multiplieurs Multiplication binaire 3 2 Porte ND 3 2 3 2 dditionneur + 3 b 2 + 3 2 2 2 2 2 + 3 3 2 3 3 3 P 7 P 6 P 5 P 4 P 3 P 2 P P page 27 ELP 34 Cours 2
Les opérateurs arithmétiques : les multiplieurs Solution combinatoire 3 2 3 2 Réseau de portes ET et d additionneurs binaires 2 r3 b3 a3 b2 a2 b a b a dditionneur 4 bits r- s3 s2 s s 3 2 b3 a3 b2 a2 b a b a dditionneur 4 bits r3 r- s3 s2 s s 3 3 2 r3 b3 a3 s3 b2 a2 b dditionneur 4 bits s2 s a s b a r- page 28 ELP 34 Cours 2 P7 P6 P5 P4 P3 P2 P P
Les opérateurs arithmétiques : les Unités rithmétiques et Logiques (ULs) composants capables d effectuer un ensemble d opérations arithmétiques. Nous pouvons distinguer 4 types de fonction opérations logiques de base comparaison et décalage addition et soustraction multiplication et division code opérateur opérande UL opérande Les n entrées de sélection ou de commande permettent de sélectionner une opération parmi 2 n. résultat page 29 ELP 34 Cours 2
Les opérateurs arithmétiques : les Unités rithmétiques et Logiques (ULs) Exemple : le circuit xx382 Les entrées de commande S2 S S permettent de sélectionner une opération parmi 8. Opérations arithmétiques: plus, moins, moins Opérations logiques: XOR(,), ou, et Mise à (Clear), Mise à (Preset) Opérandes: et sur 4 bits. C n : retenue entrante; C n+4 : retenue sortante OVR (Overflow): indicateur de dépassement de capacité. C n 3... 3... S2 SS LU 382 F3 F OVR C n+4 page 3 ELP 34 Cours 2