Systèmes Logiques Chapitre III: Les systèmes combinatoires III.1. Définition: Un système logique est dit combinatoire lorsque ses fonctions de sortie sont complètement définies par la connaissance des combinaisons des variables d'entrée, c'est à dire par les conditions précisées par l'énoncé du problème. L'état des sorties ne dépend ainsi que de l'état actuel des entrées. III.2. Additionneurs: III.2.1. Demi-additionneur: Il s'agit d'additionner deux nombres A et B à 1 seul bit. Il présente deux sorties: S (somme) et R (retenue). Sa table de vérité est: A B S R 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Les expressions logiques des sorties sont déduites directement à partir de la table de vérité: S A B A B A B R A B D'après ces équations, un demi-additionneur est alors représenté par le logigramme suivant: A S B R 28 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques Le schéma bloc est alors: A S 1/2 + B R III.2.2. Additionneur complet à un seul bit: Il s'agit d'additionner deux nombres A et B à un seul bit en tenant compte d'une retenue antérieure Rn. Il présente deux sorties Sn et Rn+1. A B Rn Sn Rn+1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 Sn A B Rn A B Rn A B Rn A B Rn Rn ( A B A B) Rn ( A B A B) Rn ( A B) Rn ( A B)) Ainsi: S n Rn ( A B) Rn1 A B Rn A B Rn A B Rn A B Rn A B ( Rn Rn ) ( A B A B) Rn Ainsi: Rn1 A B ( A B) Rn D'après ces équations, un additionneur complet à un seul bit est alors représenté par le logigramme suivant: 29 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques A B Sn Rn+1 Rn L'examen de ce logigramme fait apparaître deux demi-additionneurs et une porte OU. Ceci permet de représenter le schéma bloc en utilisant des demi-additionneurs comme le montre la figure ci-après: S A n B 1/2 + 1/2 + Rn+1 Rn Le schéma bloc d'un additionneur complet à un seul bit est alors Sn A B R A.C à 1 bit Rn+1 n III.2.3. Additionneur de deux nombres à plusieurs bits: Soient deux nombres A et B représentés sur n bits tels que A (an1 an2 .... a0 ) 2 B (bn1 bn2 .... b0 ) 2 Pour additionner A et B, il faut additionner les bits a i et bi en commençant par ceux de plus faible rang et en tenant compte des retenues. Donc, il faut regrouper en cascade n additionneurs complets à un bit. 30 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques Ainsi, un additionneur complet de rang i est modélisé par: a bi i Ri+1 A . Complet Ri Si Remarque: Il est évident que l'entrée R0 de l'additionneur à un bit de rang zéro est égale à zéro: R0 0 . Exemple: Additionneur de deux nombres à 4 bits A (a3 a2 a1 a0 ) 2 ; B (b3 b2 b1 b0 ) 2 a3 R4 a2 b3 R3 A.C3 a1 b2 A.C2 R2 a0 b1 A.C1 R1 b0 A.C0 0 S2 S3 S1 S0 Ainsi, la somme s'écrit sous la forme suivante: S ( R4 S 3 S 2 S1 S 0 ) 2 III.3. Soustracteurs: III.3.1. Demi-soustracteur: Il obéit aux quatre opérations de la soustraction binaire et possède deux sorties: la différence des entrées A et B (A-B) et un empreint E. Il admet comme table de vérité A B D E 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 31 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques Les expressions logiques des sorties sont déduites directement à partir de la table de vérité: D A B A B A B E A B D'après ces équations, un demi-soustracteur est alors représenté par le logigramme suivant: A D B E Le schéma bloc est alors: A D 1/2 B E III.3.2. Soustracteur complet à un seul bit: Il s'agit d'effectuer la différence A-B de deux nombres A et B à un seul bit en tenant compte d'un empreint antérieur En. Il présente deux sorties Dn et En+1. A B En Dn En+1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 Dn A B En A B En A B En A B En En ( A B A B) En ( A B A B) 32 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques En ( A B) En ( A B)) Ainsi: Dn En ( A B) En1 A B En A B En A B En A B En A B ( En En ) ( A B A B) En Ainsi: En1 A B ( A B) En D'après ces équations, un soustracteur complet à un seul bit est alors représenté par le logigramme suivant: A B D n En+1 En L'examen de ce logigramme fait apparaître deux demi-soustracteurs et une porte OU. Ceci permet de représenter le schéma bloc en utilisant des demi-soustracteurs comme le montre la figure ci-après: D A n 1/2 B 1/2 En+1 En 33 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques Le schéma bloc d'un soustracteur complet à un seul bit est alors Dn A S.C à 1 bit B En+1 En III.4. Multiplexeurs - Démultiplexeurs: III.4.1. Principe: Lorsqu'on désire transmettre des informations en parallèle, cela exige autant de lignes d'informations. Pour simplifier la liaison ou pour la rendre moins coûteuse, on réunit au départ les informations sur une seule ligne, c'est le multiplexage, et à l'arrivée, on répartit ces informations sur plusieurs lignes, c'est le démultiplexage. En synchronisant les commandes des sélecteurs X et X', on peut transmettre les informations a0, a1, a2 et a3 respectivement vers a'0, a'1, a'2 et a'3. a0 Ligne de transmission a'0 a1 a2 a'1 a'2 a3 a'3 X Ligne de synchronisation X' III.4.2. Multiplexeur: III.4.2.a. Modélisation: Le multiplexeur est un circuit possédant plusieurs entrées et une seule sortie. Suivant la valeur de l'adresse, une seule entée est transmise en sortie. E 0 E Multiplexeur 1 S En-1 A0 A1 Ap-1 34 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques p est le nombre d'adresses (entrées de sélection) n est le nombre d'entrées d'informations Un nombre p d'adresse permet le multiplexage de n entrées d'informations tel que n 2 p . III.4.2.b. Multiplexeur 2 entrées – 1 sortie (2 vers 1): E 0 S Multiplexeur 2 vers 1 E 1 A On suppose: Si A=0 , alors S=E0 : on transmet le données E0 Si A=1 , alors S=E1 : on transmet le données E1 La table de vérité est alors: E0 E1 A S 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 Le tableau de Karnaugh permettant de simplifier l'expression booléenne de la sortie S est: E0 E 1 00 01 11 10 0 0 0 1 1 1 0 1 1 0 A S S E1 A E0 A 35 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques Le logigramme représentant cette expression est alors: E 0 S E1 A Ce circuit peur être représenté en utilisant seulement des portes NAND à deux entrées. Pour cela on doit écrire: S E1 A E0 A E1 A E0 A E1 A E0 A E0 S E1 A III.4.2.c. Multiplexeur 4 entrées – 1 sortie (4 vers 1): E 0 E 1E Multiplexeur 4 vers 1 S 2 E 3 A0 A1 Le tableau suivant décrit le fonctionnement du multiplexeur: 36 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques A0 0 1 0 1 A1 0 0 1 1 S E0 E1 E2 E3 Ainsi, l'expression booléenne de la sortie peut être déduite: S E0 A0 A1 E1 A0 A1 E2 A0 A1 E3 A0 A1 III.4.3. Démultiplexeur: III.4.3.a. Modélisation: Le démultiplexeur est un circuit possédant une ou plusieurs entrées et plusieurs sorties. Suivant la valeur de l'adresse, une entrée est transmise vers l'une des sorties. E 0 E Démultiplexeur S0 S1 1 Eq-1 Sn-1 Ap- A0 A1 1 III.4.3.b. Démultiplexeur 1 entrée – 2 sorties (1 vers 2): E Démultiplexeur 1 vers 2 S0 S1 A Suivant la valeur de l'adresse A, l'entrée E est transmise vers l'une des deux sorties S0 et S1. Supposons: si A=0 alors S0=E si A=1 alors S1=E 37 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques Ce qui permet de tracer la table de vérité suivante: E 0 0 1 1 A 0 1 0 1 S0 0 0 1 0 S1 0 0 0 1 Les expressions des sorties sont alors: S0 E A S1 E A E S0 S1 A III.5. Codeurs – décodeurs – Transcodeurs: III.5.1. Codeurs: III.5.1.a. Principe: Lors du dialogue avec une machine (par exemple une calculatrice), l'opérateur introduit des données. Les informations doivent être compréhensibles et exploitable par la machine. Pour cela, il faut convertir les symboles décimaux en symboles binaires. Le codeur fait correspondre à l'activation d'une entrée particulière parmi 2 n entrées une combinaison de n bits en sortie. Le codage de 2 n combinaisons en entrée nécessite n bits en sortie. III.5.1.b. Exemple: codeur BCD: Les chiffres décimaux (de 0 à 9) sont codés en binaire sur 4 bits. Il ne peut y avoir qu'une seule entrée à l'état 1 à la fois. E0 E1 E9 a0 Codeur BCD a1 a2 a3 38 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques Le tableau suivant décrit le fonctionnement de ce codeur: Entrée à 1 E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 a3 0 0 0 0 0 0 0 0 1 1 a2 0 0 0 0 1 1 1 1 0 0 a1 0 0 1 1 0 0 1 1 0 0 a0 0 1 0 1 0 1 0 1 0 1 Les expressions des sorties sont alors: a3 E8 E9 a2 E4 E5 E6 E7 a1 E2 E3 E6 E7 a0 E1 E3 E5 E7 E9 III.5.2. Décodeurs: III.5.2.a. Principe: Le décodeur réalise la fonction inverse. Il active une sortie particulière lorsqu'on lui présente une combinaison donnée de bits en entrée. Un ensemble de n bits en entrée fournissent 2 n combinaisons possibles en sortie. III.5.2.b. Exemple: Décodeur BCD: a0 a1 a2 a3 E0 Décodeur BCD E1 E9 Le tableau suivant décrit le fonctionnement de ce décodeur: 39 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques a3 0 0 0 0 0 0 0 0 1 1 a2 0 0 0 0 1 1 1 1 0 0 a1 0 0 1 1 0 0 1 1 0 0 a0 0 1 0 1 0 1 0 1 0 1 Sortie active E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 Les sorties de E0 à E9 peuvent alors être exprimées en fonction des entrées a3, a2, a1 et a0. Par exemple: E8 a0 a1 a2 a3 III.5.3. Transcodeurs: III.5.3.a. Principe: Le transcodeur permet de passer d'un code à un autre. Il calcule chaque sortie Sj en fonction des combinaisons des entrées Ei. E S0 0 Transcodeur En-1 Sm-1 n est le nombre des bits du code d'entrée m est le nombre de bits du code de sortie III.5.3.b. Exemple: transcodeur à 2 bits: binaire naturel binaire réfléchi: décimal 0 1 2 3 Binaire naturel a1 a0 0 0 0 1 1 0 1 1 Binaire réfléchi a'1 a'0 0 0 0 1 1 1 1 0 Les sorties a'i sont telles que: a'1 a1 a'0 a1 a0 a1 a0 a1 a0 40 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques III.6. Comparateurs: III.6.1. Principe: Il s'agit de synthétiser un circuit qui permet de comparer les valeurs numériques de deux nombres binaires A et B et d'indiquer si A>B, A=B ou A<B. III.6.2. Comparateur de deux nombres à 1 bit: C'est la forme la plus simple des comparateurs présentant deux nombres A et B à 1 bit. A S2 (A>B) Comparateur à 1 bit S1 (A=B) B S3 (A<B) III.6.2.a. Table de vérité: A B A>B A=B A<B 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 Les expressions logiques des sorties sont: S1 ( A B ) A B A B A B S 2 ( A B) A B S3 ( A B) A B III.6.2.b. Schéma logique à portes NAND: S1 ( A B) A B A B A B A B ( A B) A B A A B B A B A A B B A B A A B B A B S1 A A B B A B S 2 ( A B) A B A B A A A ( A B ) A A B A A B 41 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques S 2 ( A B) A A B S 3 ( A B) A B A B B B B ( A B) B A B B A B S 3 ( A B) B A B A S2 (A>B) S1 (A=B) S3 (A<B) B III.6.3. Comparateur de deux nombres à 2 bits: Soient A ( a1 a0 ) 2 ; B (b1 b0 ) 2 a1 b1 a0 S2 (A>B) Comparateur à 2 bits b0 S1 (A=B) S3 (A<B) Le fonctionnement du comparateur à 2 bits peut être déduit de celui à 1 seul bit. En effet, pour comparer deux nombres à 2 bits, il faut comparer les bits de même rang: A > B si (a1 > b1) ou (a1 = b1 et a0 > b0) A = B si (a1 = b1) et (a0 = b0) A < B si (a1 < b1) ou (a1 = b1 et a0 < b0) Ainsi, le logigramme d'un tel comparateur peut être représenté comme le montre la figure cidessous: 42 S.L-Iset Kass-Dép Elec-JLALI. F Systèmes Logiques a1 b1 a0 Comparateur 1 bit Comparateur 1 bit a1>b1 a1=b1 a1<b1 b0 a0>b0 a0=b0 a0<b0 A=B A>B A<B Remarque: En général, pour comparer deux nombres à n bits, il faut utiliser n comparateurs à 1 seul bit. 43 S.L-Iset Kass-Dép Elec-JLALI. F