Upload
others
View
20
Download
0
Embed Size (px)
Citation preview
LA LOGIQUE COMBINATOIRE
La combinaison de portes logiques donne un circuit logique.Cette logique combinatoire concerne l’étude des fonctionslogiques dont la valeur de sortie ne dépend que de l’étatlogique des variables d’entrée.
A partir de la logique combinatoire il est possible de réaliserles fonctions les plus courantes que sont: l’addition binaire,le décodage, le multiplexage, le démultiplexage, laconversion analogique-digitale et la conversion digitale-analogique.
1
LA LOGIQUE COMBINATOIRE
Le demi-additionneurUn additionneur est un circuit logique permettant de réaliser une addition. Ce circuit est très présent dans les ordinateurspour le calcul arithmétique mais également pour le calcul d'adresses, d'indice de tableau dans le processeur.
Pour additionner deux nombres, il faut d’abord additionner les 2 bits de poids faible a0 et b0, puis additionner les bitssuivants sans oublier les retenues.
Un demi-additionneur ou Half Adder (HA) est un circuit qui additionne les 2 bits de poids faibles pour lesquelles laretenue propagée n’est pas prise en compte.
Table de vérité, forme canonique et schéma
S = A’B+AB’ = S=A xor B = A B C = A . B
Dans cette table de vérité, nous reconnaissons la fonction OU exclusif
pour la somme et la fonction ET pour la retenue.
2
A B Somme Carry
0 00 0
0 11 0
1 01 0
1 10 1
LA LOGIQUE COMBINATOIRE
Un demi-additionneur utilisant des portes NAND
.
3
LA LOGIQUE COMBINATOIRE
Un demi-additionneur utilisant des portes NOR
.
4
LA LOGIQUE COMBINATOIRE
Additionneur complet d’1 bitPour additionner les bits de poids supérieur ai, bi (0 < i < n) et de tenir compte de la retenue ri-1
propagée depuis le rand i-1, il faut recours à un Full Adder ou additionneur complet. Un Full Adder peutadditionner 2 bits avec un report, soit trois entrées et deux sorties.
Un additionneur complet nécessite une entrée supplémentaire : une retenue. L'intérêt de celle-ci est depermettre le chaînage des circuits. La table de vérité d'un additionneur complet est :
Table de vérité, forme canonique et schéma
S=A’B’R+A’BR’+AB’R’+ABR = R’(A xor B) + R (AB+A’B’)
R’(A xor B) + R (AB+A’B’) = R’ (A xor B) + R (A xor B)’ = R xor A xor B
C= R(A’B+AB’)+ AB(R’+R) = R (A xor B)+ AB
R= Cin (Carry in) et C= Cout (Carry out)
5
A B Cin
=R
S Cout
=C
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
LA LOGIQUE COMBINATOIRE
Additionneur complet d’1 bit
Nous pouvons à partir de la table de Karnaughoptimiser les schéma de l’additionneur complet
La somme présente une configuration d’un jeud’échec. Il n’est donc pas possible de faire unequelconque combinaison.
Dans ce cas S = A xor B xor Cin
Pour la retenue Cout, nous pouvons faire deux types de regroupement. Le premier qui nous vient à l’esprit est de regrouper (7,5), (3,7) et (6,7), ce qui va nous donner AB+AC+BC
Pour simplifier les schéma, nous pouvonsregrouper (7,6) et isoler 3 et 5, cela nous donne
Cout = AB+ A ഥ𝐁 Cin+ ഥ𝐀 BCin = AB+Cin(A xor B)
6
A B Cin
=R
S Cout
=C
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
S(ABC)
ഥ𝐁 ത𝐂 ഥ𝐁 C B C Bഥ𝐂
ഥ𝐀0
1 1 32 1
A4 1 5
7 1 6
Cout(ABC)
ഥ𝐁 ത𝐂 ഥ𝐁 C B C Bഥ𝐂
ഥ𝐀0 1
3 1 2
A4 5 1 7 1 6 1
LA LOGIQUE COMBINATOIRE
Additionneur complet d’1 bit utilisant 2 Half Adder
S = A xor B xor Cin Cout = AB+Cin(A xor B)
7
A xor B
Cin
CinS = A xor B xor Cin
Cin (A xor B)Cout = AB+Cin (A xor B)
A B
LA LOGIQUE COMBINATOIRE
Additionneur complet d’1 bit utilisant des portes NAND
S = A xor B xor Cin Cout = AB+Cin(A xor B)
8
LA LOGIQUE COMBINATOIRE
Additionneur complet de n bits ou Additionneur en parallèle (Binary Parallel Adder)
L'addition de nombres comptant plusieurs bits peut se faire en série (bit après bit) ou en parallèle (tous les bits simultanément).
Nous allons prendre l'exemple d'un additionneur 4 bits comptant quatre "Full Adders", montés en parallèle ou en cascade. Chaqueadditionneur FAi est affecté à l'addition des bits de poids i. L'entrée correspondant au report de retenue pour FA0 est imposée à 0 (enlogique positive). La retenue finale C indique un dépassement de capacité si elle est égale à 1.
Pour réaliser un additionneur complet de 2 nombres on met en cascade plusieurs FA de telle sorte que la retenu de sortie des bits moinssignificatifs (LSB) constituent le retenus d’entrée des bits plus significatifs (MSB).
1 1 1 1 A3 (1) A2 (1) A1 (1) A0 (1)
0 1 1 1 B3 (0) B2 (1) B1 (1) B0 (1)1 0 1 1 0
1 0 1 1 1 1 1 0
9
LA LOGIQUE COMBINATOIRE
Additionneur complet de n bits ou Additionneur en parallèle (Binary Parallel Adder)
Si le dernier bit de retenue est égal à 1, il est signalé par un indicateur de carry mémorisé par un 1 noté C(Carry) dans un registre appelé le Processor Status Word (PSW) ou registre d’etat.
Si le résultat est aussi en dehors de l’intervalle des n bits, ce dépassement de capacité est aussi mémorisédans le registre d’état du PSW par l’intermédiaire d’un bit 1 noté O (Overflow)
10
LA LOGIQUE COMBINATOIRE
Construction d’un Half Adder utilisant les circuit intégré AND et XOR
La somme d’une HA sorte par une porteXOR et la retenue par une porte AND. Nouspouvons à partir des circuits intégrés AND(7408) et XOR (7486), réaliser le montaged’un HA.
Il est aussi possible d’avoir un HA sousforme de circuit intégré déjà monté. Il suffitsimplement de l’utiliser dans un schémaplus global.
11
LA LOGIQUE COMBINATOIRE
Circuit Intégré représentant un Full Adder
Du fait de leur utilisation courante, les constructeurs deCI comme Motorola, Texas Instrument, Intel, etc.,mettent sur le marché des circuit représentant des HA etdes FA prêt à être utilisés.
Parmi ces FA, nous pouvons citer le SN54/74LS83A. CeCI est un additionneur complet de 4 bits (A1, A2, A3, A4),
(B1, B2, B3, B4) qui génère une somme binaire dansquatre sorties (S1, S2, S3, S4) et une retenue finale C4.
12
LA LOGIQUE COMBINATOIRE
Comment obtenir un additionneur de 8 bits à partir de deux additionneurs de 4 bits
.
13
A7 A6 A5 A4 B7 B6 B5 B4 A3 A2 A1 A0 B3 B2 B1 B0
COUT
C7 C3 CIN
S7 S6 S5 S4 S3 S2 S1 S0
Additionneur 4 bits Additionneur 4 bits
LA LOGIQUE COMBINATOIRE
14
LA LOGIQUE COMBINATOIRE
Le demi- soustracteurUn demi-soustracteur ou Half Substractor (HS) est un circuit qui peut faire la soustraction de 2 bits.
S= A xor B C = A’B
15
A B Soustracteur Carry
0 00 0
0 11 1
1 01 0
1 10 0
LA LOGIQUE COMBINATOIRE
Le demi- soustracteur utilisant des portes NANDUn demi-soustracteur ou Half Substractor (HS) est un circuit qui peut faire la soustraction de 2 bits.
S= A xor B C = A’B
16
LA LOGIQUE COMBINATOIRE
Le demi- soustracteur utilisant des portes NANDUn demi-soustracteur ou Half Substractor (HS) est un circuit qui peut faire la soustraction de 2 bits.
S= A xor B C = A’B
17
LA LOGIQUE COMBINATOIRE
Le soustracteur complet d’un bitComme dans le cas de l'addition, un pas élémentairedans une soustraction consiste à calculer la soustractionde trois bits (où deux bits viennent des deux nombres àsoustraire, le troisième correspondant à la retenueproduite par le pas précédent). Il nous faut donc uncircuit à trois entrées A, B et C et deux sorties S et R,calculant A - B - C et produisant le bit de différence S etle bit de retenue R. Comme pour l'addition, on peutobtenir ce circuit en utilisant deux copies du circuitdemi-soustracteur : une copie ôte B de A, l'autre ôte Cdu résultat produit par la première copie. Comme pourl'addition, la retenue totale est égale à 1 si l'une descopies fournit une retenue égale à 1. On obtientfinalement un soustracteur complet.
La différence D présente une configuration de jeud’échec. Il n’est donc pas possible de faire unequelconque combinaison.
Dans ce cas D = A xor B xor C
R = B C+ഥ𝐀 B + ഥ𝐀 C
18
A B CBor in
D R = Bor ou
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
D(ABC)
ഥ𝐁 ത𝐂 ഥ𝐁 C B C Bഥ𝐂
ഥ𝐀0
1 1 32 1
A4 1 5
7 1 6
R(ABC)
ഥ𝐁 ത𝐂 ഥ𝐁 C B C Bഥ𝐂
ഥ𝐀0
1 1 3 1 2 1A
4 57 1 6
LA LOGIQUE COMBINATOIRE
19
Le soustracteur complet d’un bit utilisant des portes NAND
LA LOGIQUE COMBINATOIRE
20
Le soustracteur complet d’un bit utilisant des portes NOR
LA LOGIQUE COMBINATOIRE
21
Multiplicateur de 2 bits utilisant des Half Adder
Pour multiplier deux nombre A et B de 2 bits, nous procédons comme suit : A (A0, A1) et B(B0, B1)La multiplication de A et B de 2 bits va donner comme produit un nombre P (P0P1P2P3) de quatre bits
A1 A0
XB1 B0
_______________________________________________(C2) (C1) A1B0 A0B0
A1B1 A0B1
_______________________________________________A1B1+C1 A1B0+A0B1 A0B0
(C2) (C2) (C1)
P0 = A0B0 P0 = NAND(A0B0 )P1 = A1B0+A0B1 P1 = HA (A1B0+A0B1 )P2 = A1B1+C1 P2 = HA (A1B0+A0B1 )P3 = (C2) P3 = (C2)
NB. Ne pas confonde le « + » HA avec l’opérateur OU
A0
B0
A1
B0
A0
B1
A1
B1
A1B0
A0B1
P0= A0B0
A1B1
(C1)
P1 = A1B0+A0B1
P2 = A1B1+C1
P3 = (C2)
LA LOGIQUE COMBINATOIRE
22
Carry Look Ahead Adder
Pour nous permettre d’additionner plus rapidement et éviter les délais depropagation, nous pouvons remplacer le Full Adder classique par un additionneur quidonne la retenue par anticipation, c’est que nous appelons CLA.Au lieu d’attendre que la somme se fasse pour ensuite déterminer la retenue, nousallons prévoir la retenue.
Dans la table de vérité qui se trouve à droite, nous ne intéréssons que de la retenuefinale C0 qui est l’objet de cette étude.Si nous regardons la table de vérité, vous remarquerez que les deux dernièresretenues ne dépendent que de A et de B qui sont égale à 1, la valeur de Cin n’a aucuneinfluence sur la valeur de C0. Si nous avons A.B=1, nous avons C0 = 1Nous pouvons appeler G=A.B est le générateur de retenu.
Par contre pour les deux autres retenues qui se trouvent sur la bande verte ellesdépendent de Cin qui doit être égale à 1, mais aussi de la valeur de A et de B quidoivent êtres complémentaires.Si nous avons 𝑨⊕𝑩 =1 et Cin =1 nous avons C0=1, 𝑨⊕𝑩 .CinNous pouvons appeler P= 𝑨⊕𝑩 , le propagateur de retenue.
En combinant ces deux équations nous aurons
C0 = (A.B) + (𝑨⊕𝑩 .Cin) = G+P.Cin
La généralisation de l’équation donne Ci = (A.B) + (𝑨⊕𝑩 .Ci-1) = G+P.Ci-1
Ci = Gi+Pi.Ci-1
A B Cin C0
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
LA LOGIQUE COMBINATOIRE
23
Carry Look Ahead Adder
Ci = Gi+Pi.Ci-1
Nous allons chercher les valeur de C0, C1, C2, C3 en fonctionde C-1 qui est la retenue initiale.
si i =0, C0 = G0+P0.C-1
si i =1, C1 = G1+P1.C0,
Nous remplaçons C0 par sa valeur pour ne rester qu’avec C-1
si i =1, C1 = G1+P1. (G0+P0.C-1) = G1+P1G0+P1P0.C-1
si i =2, C2 = G2+P2.C1, = G2+P2.C1 = G2+P2 (G1+P1G0+P1P0.C-1 )si i =2, C2 = G2+P2 G1+ P2 P1G0+ P2 P1P0.C-1
si i =3, C3 = G3+P3.C2
si i =3, C3 = G3+P3. (G2+P2 G1+ P2 P1G0+ P2 P1P0.C-1 )si i =3, C3 = G3+P3.G2+ P3 P2 G1+ P3 P2 P1G0+ P3 P2 P1P0.C-1
Nous remarquerons que la valeur de la retenue Ci , quelquesoit sa position est toujours fonction de Pi, de Gi et de C-1
G3 C3P3
P3G2 C2 S3P2
P2G1 C1 S2P1
P1G0 C0 S1P0
P0C-1 C1 S0
CL
A L
OG
IC
G0=A0.B0
G1=A1.B1
G2=A2.B2
G3=A3.B3
G3=A3.B3
P0= 𝑨𝟎⊕𝑩𝟎
P1= 𝑨𝟏⊕𝑩𝟏
P2= 𝑨𝟐⊕𝑩𝟐
P3= 𝑨𝟑⊕𝑩𝟑
S3 = A3+B3+C2
LA LOGIQUE COMBINATOIRE
Le soustracteur de 4 bits
Il suffit ensuite de relier entre elles ncopies de ce circuit soustracteur pourpouvoir soustraire deux nombres de nbits (comme avec l'addition, la copie laplus à droite est en fait un demisoustracteur, car la retenue initiale estnulle).
24
LA LOGIQUE COMBINATOIRE
L’additionneur / soustracteur binaire
25
Un additionneur soustracteur produitune addition ou une soustraction de 4bits. Il fonctionne presque comme unadditionneur ou ou soustracteur.
Les opérations d'addition et desoustraction peuvent être effectuéespar un circuit binaire commun. Un telcircuit binaire peut être conçu enajoutant une porte XOR à chaqueadditionneur complet. Les entrées A3,A2, A1 et A0 attaquent directement leHA et les entrés B3, B2, B1 et B0passent par des portes XOR qui ontaussi une entrée commune M.
Cette ligne de contrôle détermine letype d'opération. Lorsque M=1, lecircuit est un soustracteur et quandM=0, le circuit devient un additionneur.
LA LOGIQUE COMBINATOIRE
Additionneur BCDPour additionner deux nombre BCD, il faut considérer les 3 cassuivants:
La somme ne dépasse pas 9 et la retenue est égale à 0, dans ce casl’addition se fait comme en binaire pur et le résultat obtenu est correct.La partie blanche de la figure.
La somme ne dépasse pas 9 et la retenue est égale à 1, dans ce casl’addition se fait comme en binaire pur mais le résultat obtenu estincorrect. Pour arriver au bon résultat, il faut additionner 6 (0110) aurésultat provisoire. La partie jaune de la figure
La somme dépasse 9 et la retenue est égale à 0, dans ce casl’addition se fait comme en binaire pur mais le résultat obtenu estincorrect. Pour arriver au bon résultat, il faut additionner 6 (0110) aurésultat provisoire. La partie bleue de la figure.
Pour implémenter le circuit qui permet d’ajouter le « 0110 », nousvoyons que la retenue C* de la partie jaune est égale à 1, C*=1.
Pour la partie bleue, nous savons que le résultat est supérieur à 9,mais la retenue n’est pas égale à 1, nous devons toujours ajouter« 1001 ». (S3*=1) et (S2*=1 ou S1*=1), S3*.(S2*+S1*)
Pour la partie verte, nous savons que le résultat est supérieur à 9,mais la retenue n’est pas égale à 1, nous devons toujours ajouter« 1001 ». S3*=1 et S1*=1, S3*.S1*=1 Ce qui nous donnel’expressions suivante:
C*+ S3*.(S2*+S1*)+ S3*.S1*
C*+ S3*.S2*+ S*3.S*1*+ S3*.S1* = C*+ S3*.S2*+ S*3.S*1*
Nous aurons besoin de deux portes ET et d’une porte OU qui vaattaquer le deuxième additionneur de 4 bits.
Décimale
C* S3* S2* S1* S0* C S3 S2 S1 S0
0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1
2 0 0 0 1 0 0 0 0 1 0
3 0 0 0 1 1 0 0 0 1 1
4 0 0 1 0 0 0 0 1 0 0
5 0 0 1 0 1 0 0 1 0 1
6 0 0 1 1 0 0 0 1 1 0
7 0 0 1 1 1 0 0 1 1 1
8 0 1 0 0 0 0 1 0 0 0
9 0 1 0 0 1 0 1 0 0 1
10 0 1 0 1 0 1 0 0 0 0
11 0 1 0 1 1 1 0 0 0 1
12 0 1 1 0 0 1 0 0 1 0
13 0 1 1 0 1 1 0 0 1 1
14 0 1 1 1 0 1 0 1 0 0
15 0 1 1 1 1 1 0 1 0 1
16 1 0 0 0 0 1 0 1 1 0
17 1 0 0 0 1 1 0 1 1 1
18 1 0 0 1 0 1 1 0 0 0
19 1 0 0 1 1 1 1 0 0 1
Binaire BCD
LA LOGIQUE COMBINATOIRE
Retenue
Somme Binaire
0 1/0 1/0 0
Retenue Somme BCD
S3 S2 S1 S0C
C* Additionneur de 4 bits
S3* S2* S1* S0*
Additionneur de 4 bits
LA LOGIQUE COMBINATOIRE
Le ComparateurOn rencontre très souvent la nécessité de comparer deux entiers (A = B, A > B ou A < B).
La table de vérité correspondant à ces trois fonctions de comparaison de 2 bits. La fonction C doit êtreégale à 1 si et seulement si A > B, la fonction D=1 si et seulement si A < B et la fonction E=1 si etseulement si A = B. Ce qui nous donne :
C=AB’ D=A’B E=A nxor B = (AB’+ A’B)’ = (C+D)’ A B C
(A>B)
D
(A<B)
E
(A=B)
0 0 0 0 1
0 10 1 0
1 01 0 0
1 1 0 0 1
LA LOGIQUE COMBINATOIRE
Le Comparateur de 3 bitsLe comparateur de 3 bits est une association de comparateurs d’un bit, les sorties S1, E1, I1, du 1ercomparateur d’un bit a sont reliées aux entrées S1, E1 et I1 du 2ème comparateur.
LA LOGIQUE COMBINATOIRE
Brochage et schéma du comparateur 7485
LA LOGIQUE COMBINATOIRE
Brochage et schéma du comparateur 7485
A
A xor B
B A xor B xor C
P=A xor B xor C xor D
C
D
LA LOGIQUE COMBINATOIRE
Le Contrôleur de paritéLes transmissions en série binaires font parties destechniques les plus utilisées. Cette transmission entrel’émetteur et le récepteur peut être câblées ou non.
Dans ce mode de transmission, les erreurs de donnéessont l'un des problèmes les plus importants qui doiventêtre analysés pour obtenir un système de communicationfiable.
La méthode de génération/vérification de parité est l'unedes techniques de détection d'erreurs les plus utiliséespour la transmission de données ; un bit de parité estannexé aux données transmises pour faire en sorte quela somme des données binaires des «1» soit pair ouimpair.
Ce bit est utilisé pour détecter les erreurs lors de latransmission.
La parité d'un mot binaire est définie comme la parité dela somme des bits, soit encore :• parité paire (ou 0) : nombre pair de 1 dans le mot ;• parité impaire (ou 1) : nombre impair de 1 dans le mot.
Pas ce cases adjacents, donc non simplifiable par Karnaugh.
P=A’B’C’D+ A’B’CD’+ A’BC’D’+ A’BCD+ ABC’D+ ABCD’+ AB’C’D’+ AB’CD
A xor B xor C xor D
32
A B C D P
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
ABCD ഥ𝑨 ഥ𝐁 ഥ𝑨 B AB Aഥ𝐁
ത𝐂 ഥ𝐃 0 1 1 3 2 1
ത𝐂 D 4 1 5 7 1 6
C D 12 13 1 15 14 1
C ഥ𝐃 8 1 9 11 1 10
LA LOGIQUE COMBINATOIRE
33
Le Contrôleur de paritéLa fonction OU-exclusif donne la parité d'unsous-ensemble de deux bits.
La figure suivante représente le diagrammelogique d'un générateur/contrôleur de paritépour 4 bits.
Si l'entrée P' est imposée à 0 ce circuitfonctionne comme générateur de parité : lasortie P représente la parité du motcomposé par les bits A, B, C et D.
Pas ce case adjacent, donc non simplifiable par Karnaugh
P=A’B’C’D’+ A’B’CD+ A’BC’D+ A’BCD’+ AB’C’D+ AB’C’D+ ABC’D’+ ABCD
(A xor B) xor (C xor D) xor P’ = P
34
A B C D P
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
A’B’ A’B AB AB’
C’D’ 1 1
C’D 1 1
CD 1 1
CD’ 1 1
Cette configuration est appelée Check Board Configuration
En regardant le tableau de Karnaugh, vous vous rendez compte que
les cellules ne sont pas adjacentes, donc pas simplifiable
graphiquement. Nous allons dons essayer de minimiser l’équation
par la méthode algébrique.
Le POS s’écrit comme suit :
P=A’B’C’D+A’B’CD’+A’BC’D’+A’BCD+AB’CD+ABC’D+ABCD’
LA LOGIQUE COMBINATOIRE
Le codeurUn codeur permet de transmettre une information de lameilleure façon. Cette transmission est souvent plus simple,plus rapide et plus sécurisé. Les langues que nous utilisonssont des codes. Les Codeurs sont utilisés pour lacompression des données.
Le principe de fonctionnement d’un codeur est le suivant :lorsqu’une entrée est activée, les sorties affichent la valeurcorrespondant au numéro de l’entrée dans le code binairechoisi.
Un codeur peut être vu comme un convertisseur du codedécimal vers un code binaire. Une seule entrée du codeurdoit normalement être activée à la fois.
Dans le cas où le code en sortie est le code binaire pur, lecircuit correspondant possède N entrées et n sorties, avec2n−1 < N ≤ 2n.
Codeur binaire 8 vers 3 (8 entrées vers 3 sorties)
Ce codeur reçoit une information codée sur une de ses 8entrées et génère l’équivalent binaire sur les sorties S0, S1et S2. Une seule entrée doit être active à la fois.
S0 = E1 + E3 + E5 + E7
S1 = E2 + E3 + E6 + E7
S2 = E4 + E5 + E6 + E7
LA LOGIQUE COMBINATOIRE
Codeur binaire 16 vers 4
Ce codeur reçoit uneinformation codée sur une deses 16 entrées et génèrel’équivalent binaire sur les 4sorties S0 à S3.
Une seule entrée doit êtreactive à la fois.
S0 = E1+E3+E5+E7+E9+E11+E13+E15
S1 = E2+E3+E6+E7+E10+E11+E14+E15
S2 = E4+E5+E6+E7+E12+E13+E14+E15
S3 = E8+E9+E10+E11+E12+E13+E14+E15
LA LOGIQUE COMBINATOIRE
Le décodeur
Dans un système numérique les instructions, tout comme les nombres, sont transportées sousforme de mots binaires. Par exemple un mot de 4 bits peut permettre d'identifier 16 instructionsdifférentes : l'information est codée. Très souvent l'équivalent d'un commutateur à 16 positionspermet de sélectionner l'instruction correspondant à un code. Ce processus est appelédécodage.
Le décodeur réalise la fonction inverse du codeur. C’est un circuit logique comportant nentrées et 2n sorties. Lorsque le signal de validation est actif, seule la sortie dont lenuméro correspond à la valeur binaire affichée sur l’entrée est active. Toutes les autressont inactives.
Nous pouvons citer comme exemple le clavier d’une porte automatique ou le décodeurBCD/Afficheur 7 segments.
Le décodeur est un circuit très employé dans les microprocesseurs. Son rôle est desélectionner entre autres, une adresse précise de mémoire parmi un lot importantd’adresses différentes.
Si nous voulons aller chercher dans une mémoire d’une capacité de 4096 mots, un motdonné situé à une adresse bien précise. Il n’est pas question d’adresser les 4096 motsdifférents contenus dans la mémoire. Cela nécessiterait 4096 fils. Pour résoudre ceproblème il ne faut relier le microprocesseur que par 12 fils, car c’est un mot de 12 bit quipermet d’adresser 4096 place (2 12 = 4096). Il nous faudra alors un décodeurs 12entrées et 4096 sorties.
S0 = A’B’ S1=A’B S2 = AB’ S3=AB
A B S0 S1 S2 S3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
LA LOGIQUE COMBINATOIRE
Le décodeur LED de 7 segments
Il nous arrive de vouloir représenter des chiffres de0 à 9 en utilisant un LED de 7 segments.
Minterm Décimal w x y z a b c d e f g
m0 0 0 0 0 0 1 1 1 1 1 1 0m1 1 0 0 0 1 0 1 1 0 0 0 0m2 2 0 0 1 0 1 1 0 1 1 0 1 am3 3 0 0 1 1 1 1 1 1 0 0 1m4 4 0 1 0 0 0 1 1 0 0 1 1m5 5 0 1 0 1 1 0 1 1 0 1 1 f bm6 6 0 1 1 0 1 0 1 1 1 1 1 gm7 7 0 1 1 1 1 1 1 0 0 0 0m8 8 1 0 0 0 1 1 1 1 1 1 1
m9 9 1 0 0 1 1 1 1 1 0 1 1 e cm10 1 0 1 0
m11 1 0 1 1
m12 1 1 0 0 Don't cares d
m13 1 1 0 1 Non utilisé
m14 1 1 1 0
m15 1 1 1 1
LA LOGIQUE COMBINATOIRE
Le décodeur LED de 7 segments
Il nous arrive de vouloir représenter des chiffres de0 à 9 en utilisant un LED de 7 segments.
0 1
1 0
2 1
3 1
4 0
5 1
6 1
7 1
8 1
9 1
00
wx
yz 00 01 11
m0 = 1 m1 m3=1 m2 =1
10
m5=1 m7=1 m6 =1
11 m12= xm13=x m15=x
01 m4
m14=x
10 m8=1 m9=1 m11=x m10=x
0 1 0 1 0 1 0 1
1 0 1 1 1 1 1 0
2 1 2 1 2 0 2 1
3 1 3 1 3 1 3 1
4 0 4 1 4 1 4 0
5 1 5 0 5 1 5 1
6 1 6 0 6 1 6 1
7 1 7 1 7 1 7 0
8 1 8 1 8 1 8 1
9 1 9 1 9 1 9 1
a=x'z'+xz+w+y = x xnor z +w+y b=y+w'x'+wx+z' c=y+z+w'+x d=yz'x'+wz'+w'xz
0 1 0 1 0 0
1 0 1 0 1 0
2 1 2 0 2 1
3 0 3 0 3 1
4 0 4 1 4 1
5 0 5 1 5 1
6 1 6 1 6 1
7 0 7 0 7 0
8 1 8 1 8 1
9 0 9 1 9 1
e = z'x'+wx' f= y+x'z+x'z+w'x' g=y+wz+wx'+z'w
m10=x
11 m12= xm13=x m15=x m14=x
10 m8=1 m9=1 m11=x m10=x10 m8=1 m9 m11=x m10=x 10 m8=1 m9=1 m11=x
11 m12=x m13=x m15=x m14=x11 m12= xm13=x m15=x m14=x
01 m4 m5 m7 m6 =1 01 m4 =1 m5=1 m7
m2 =1m3 m2 =1 00 m0 m1 m3=1
01 m4 =1 m5=1 m7 m6 =1 m6 =1
00 m0 = 1 m1 m3 m2 =1 00 m0 = 1 m1
0100 01 11 10 wx
yz 00 wx
yz 00
10 m8=1 m9=1
01 11 10 wx
yz
m11=x m10=xm11=x m10=x
11 10
01 m4 m5=1 m7 m6 =1
11 m12= xm13=x m15=x m14=xm14=x
10 m8=1 m9=1
m3=1 m2
01 m4 =1 m5=1 m7=1 m6 =1
10
00 m0 = 1 m1=1
wx
yz 00 01 11 10
00 m0 = 1 m1 m3=1 m2 =1
10 m8=1 m9=1 m11=x m10=x
wx
yz 00 01 11
11 m12= xm13=x m15=x
wx
yz 00 01 11 10
00
m12= xm13=x m15=x m14=xm12= xm13=x m15=x
01 m4
m14=x
10 m8=1 m9=1 m11=x m10=x
m6
11
00
wx
yz 00 01 11
01 m4 =1 m5 m7=1
m0 = 1 m1 =1 m3=1 m2 =1m0 = 1 m1 m3=1 m2 =1
10
m5=1 m7=1 m6 =1
11
LA LOGIQUE COMBINATOIRE
Décodeur 3 vers 8 (3 entrées et 8 sorties)
La fonction d’un décodeur est de reconnaître unecombinaison de bits en entrée (le code) et de signalerla présence de ce code en mettant un signal en sortieà 1.
Si nous nous cherchons à reconnaître le code binaire1001, Dans ce cas, il faut réaliser un circuit quiimplémente la fonction R = x3.x2.x1.x0. On remarqueque R = 1 si l’entrée est 1001 et 0 sinon, ce circuitpermet de décoder le code 1001.
LA LOGIQUE COMBINATOIRE
Décodeur BCD - DécimalLe code DCB (Décimal Codé Binaire) (ou en anglais BCD : BinaryCoded Decimal) transforme les nombres décimaux en remplaçantchacun des chiffres décimaux par 4 chiffres binaires. Cettereprésentation conserve donc la structure décimale : unités, dizaines,centaines, milliers, etc… Chaque chiffre est codé sur 4 bits.
Par exemple le nombre décimal 294 sera codé en DCB : 0010 10010100. Ce type de codage permet de faciliter l'affichage en décimal ducontenu d'un compteur. Pour ce faire on peut utiliser des afficheurslumineux à sept segments.
La fonction de chacun des transcodeurs est de positionner à 1 leslignes de sortie correspondant aux segments à allumer selon de codeporté par les quatre lignes d'entrée. De manière générale, untranscodeur fait correspondre à un code A en entrée sur n lignes, uncode B en sortie sur m lignes.
Nous allons étudier l'exemple d'un décodeur DCB-décimal.
A chacune des lignes de sortie nous pouvons associer un produitprenant en compte chacune des quatre entrées ou leur complément.Ainsi la ligne 5 correspond à : A’ B C’D
D'autre part, on souhaite souvent n'activer les lignes de sortie qu'enprésence d'un signal de commande global (strobe ou enable). Cesignal S est mis en coïncidence sur chacune des dix portes de sortie.Dans l'exemple suivant, si S est dans l'état 0 le décodeur est bloqué ettoutes les sorties sont également dans l'état 0.
LA LOGIQUE COMBINATOIRE
Le transcodeur
Un transcodeur (ou convertisseur de codes) est un dispositif permettant de passer du nombre N écrit dans le code C1 au
même nombre N écrit dans le code C2. Il comporte N entrées et N sorties.
Il n'existe pas un code binaire meilleur que tous les autres : aussi en utilise-t-on plusieurs avec des transcodeurs pour
passer de l'un à l'autre.
Leurs utilisations en nombres relativement limités expliquent qu'on ne les trouve pas tous sous forme de circuits intégrés :
il faut alors les réaliser à l'aide de portes logiques ET-NON, OU NON ... etc. la réalisation pratique d’un transcodeur passe
par l’écriture de sa table de vérité, puis par la recherche des équations de sorties avec les tableaux de Karnaugh.
Parmi les transcodeurs que l'on trouve en circuits intégrés, on peut citer :
• les transcodeurs décimal / BCD (circuit 74147).
• les transcodeurs BCD / décimal (circuits 7442, 7445, et 4028).
• les transcodeurs XS 3 / décimal (circuit 7443)
• les transcodeurs Gray excédant 3 (code Gray+3) / décimal (circuit 7444)
• les transcodeurs DCB /afficheur 7 segments (circuits 7448, 7511, 4543, 4511)
• les transcodeurs binaire 5 bits / DCB (circuit 74185).
• les transcodeurs DCB / binaire 5 bits (circuit 74184).
LA LOGIQUE COMBINATOIRE
Le transcodeur 10 vers 4
Ce transcodeur reçoit unchiffre décimal sur une desdix entrées et génèrel’équivalent binaire sur lesSorties S0 à S3. Une seuleentrée doit être active à lafois.
S0 = E1 + E3 + E5 + E7 + E9S1 = E2 + E3 + E6 + E7S2 = E4 + E5 + E6 + E7S3 = E8 + E9
LA LOGIQUE COMBINATOIRE
Le transcodeur 4 vers 10
Ce transcodeur reçoit unchiffre binaire sur une des 4entrées et génèrel’équivalent décimal sur lesSorties S0 à S9. Une seuleentrée doit être active à lafois.
LA LOGIQUE COMBINATOIRE
Le transcodeur 3 vers 3 (binaire pur-Gray)
Pour passer du code Gray au code binaire pur on utilise untranscodeur.
Le code Gray est fréquemment utilisé dans les capteursangulaires ou de positionnement, mais aussi lorsque l'ondésire une progression numérique binaire sans parasitetransitoire. Il sert également dans les tableaux de Karnaughutilisés lors de la conception de circuits logiques.
Pour passer du code binaire au code Gray on utilise laformule suivante :
n = N xor 2N
2
n est le nombre converti en Gray et N le nombre binaire.
Table de vérité pour passer du code binaire au code Gray.
• G0=B0B1’B2’+B0B1’B2+B0B1B2’+B0B1B2
• G1=B0’B1B2’+ B0’B1B2+B0B1’B2’+B0B1’B2
• G2=B0’B1’B2+ B0’B1B2’+B0B1’B2+B0B1B2’
B0 B1 B2 G0 G1 G2
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 1
0 1 1 0 1 0
1 0 0 1 1 0
1 0 1 1 1 1
1 1 0 1 0 1
1 1 1 1 0 0
LA LOGIQUE COMBINATOIRE
Le transcodeur 4 vers 4 (binaire pur-Gray)
Nous pouvons remarquer que le passage du binaire purau code Gray se fait en effectuant une opération OUExclusif.
Le circuit du transcodeur est très simple. En désignant parBn (B1 = LSB) un bit quelconque en code binaire pur etpar Gn le bit recherché en code Gray, nous avons alors :Gn = Bn xor Bn+1
LA LOGIQUE COMBINATOIRE
Un encodeurUn encodeur est système qui comporte Nlignes d’entré et n lignes de sorties.Lorsqu’une des lignes d’entrée est activitél’encodeur fournit en sortie un mot de n bitscorrespondant au codage de l’informationidentifié par la ligne activée.
Table de vérité d’un encodeur transformant unnombre décimal en son équivalent en codeBCD. Il comporte 10 entrées et 4 sorties
• S0 = E1+E3+E5+E7+E9• S1 = E2+E3+E6+E7• S2 = E4+E5+E6+E7• S3 = E8+E9
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S3 S2 S1 S0
1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 1
0 0 0 0 0 0 1 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 0 0 0 1 1 1
0 0 0 0 0 0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1
LA LOGIQUE COMBINATOIRE
Un encodeur hexadécimal vers binaire
LA LOGIQUE COMBINATOIRE
Le MultiplexeurLe multiplexeur aussi a pour rôle d’aiguiller sur une sortie unique un signal prélevé parmi plusieurs autres de naturedifférentes. C’est en quelque sorte un circuit qui réalise la fonction inverse d’un décodeur.
Le multiplexeur est un dispositif qui permet de transmettre sur une seule ligne des informations en provenance de plusieurssources ou à destination de plusieurs cibles.
C’est un circuit comportant 2n entrées d’informations, n entrées d’adresse et une seule sortie. Lorsque la validation estactive la sortie prend l’état d’une entrée.
S= E’B’A’X0 + E’B’AX1+ E’BA’X2+ E’BAX3
EEnable
Validation
BEntrée de
Commandeou d’adresse
AEntrée de
Commandeou d’adresse
EEntrée
d’information
SSortie
en fonction des entrées
0 0 0 X0 E’B’A’X00 0 1 X1 E’B’AX10 1 0 X2 E’BA’X20 1 1 X3 E’BAX31 0 0 0 Rien ne se passe car E=11 0 1 0 Rien ne se passe car E=11 1 0 0 Rien ne se passe car E=11 1 1 0 Rien ne se passe car E=1
LA LOGIQUE COMBINATOIRE
Le Démultiplexeur
C’est le circuit complémentaire du multiplexeur. Il comporte uneentrée d’information, 2n sorties d’information et n entréesd’adresse. Il met en relation cette entrée avec une sortie et une seule.
Pour pouvoir sélectionner cette sortie il faut également des lignesd'adressage : le code porté par ces lignes identifie la ligne de sortie àutiliser. Ce circuit est très proche d'un décodeur. Considérons undémultiplexeur avec quatre lignes de sortie. Il faut deux lignesd'adresse. Supposons que nous souhaitons également valider lesdonnées avec un signal de contrôle E (pour laisser par exemple letemps aux niveaux d'entrée de se stabiliser). Par convention nouschoisissons de prendre en compte les données pour E = 0.
Comme pour l’additionneur, il est possible de faire des cascades demultiplexeur et de démultiplexeur pour avoir plusieurs entrées ouplusieurs sorties.
Y0 = A’B’E’D
Y1= AB’E’D
Y2= A’BE’D
Y3= ABE’D
LA LOGIQUE COMBINATOIRE
Construire un additionneur complet à partir d’un décodeur 3 x 8
LA LOGIQUE COMBINATOIRE
Le Démultiplexeur
LA LOGIQUE COMBINATOIRE
Le Démultiplexeur
LA LOGIQUE COMBINATOIRE
Le Démultiplexeur
LA LOGIQUE COMBINATOIRE
Le Démultiplexeur
LA LOGIQUE COMBINATOIRE
LA LOGIQUE COMBINATOIRE
LA LOGIQUE COMBINATOIRE
LA LOGIQUE COMBINATOIRE