Académique Documents
Professionnel Documents
Culture Documents
1
LA LOGIQUE COMBINATOIRE
Le demi-additionneur
Un additionneur est un circuit logique permettant de réaliser une addition. Ce circuit est très présent dans les ordinateurs
pour 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 bits
suivants sans oublier les retenues.
Un demi-additionneur ou Half Adder (HA) est un circuit qui additionne les 2 bits de poids faibles pour lesquelles la
retenue propagée n’est pas prise en compte.
Table de vérité, forme canonique et schéma
A B Somme Carry S = A’B+AB’ = S=A xor B = A B C=A.B
0 0
0 0 Dans cette table de vérité, nous reconnaissons la fonction OU exclusif
pour la somme et la fonction ET pour la retenue.
0 1
1 0
1 0
1 0
1 1
0 1
2
LA LOGIQUE COMBINATOIRE
3
LA LOGIQUE COMBINATOIRE
4
LA LOGIQUE COMBINATOIRE
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
5
LA LOGIQUE COMBINATOIRE
6
LA LOGIQUE COMBINATOIRE
A xor B
S = A xor B xor Cin
Cin
AB
Cin (A xor B)
Cout = AB+Cin (A xor B)
Cin
7
LA LOGIQUE COMBINATOIRE
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. Chaque
additionneur FAi est affecté à l'addition des bits de poids i. L'entrée correspondant au report de retenue pour FA0 est imposée à 0 (en
logique 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 moins
significatifs (LSB) constituent le retenus d’entrée des bits plus significatifs (MSB).
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
12
LA LOGIQUE COMBINATOIRE
Comment obtenir un additionneur de 8 bits à partir de deux additionneurs de 4 bits
A7 A6 A5 A4 B7 B6 B5 B4 A3 A2 A1 A0 B3 B2 B1 B0
COUT
C7 Additionneur 4 bits C3 Additionneur 4 bits CIN
S7 S6 S5 S4 S3 S2 S1 S0
13
LA LOGIQUE COMBINATOIRE
14
LA LOGIQUE COMBINATOIRE
Le demi- soustracteur
Un demi-soustracteur ou Half Substractor (HS) est un circuit qui peut faire la soustraction de 2 bits.
A B Soustracteur Carry
0 0
0 0
0 1
1 1
1 0
1 0
S= A xor B C = A’B
1 1
0 0
15
LA LOGIQUE COMBINATOIRE
Le demi- soustracteur utilisant des portes NAND
Un 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 NAND
Un 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 bit A B C D R=
Bor in Bor ou
D ഥ 𝐂ത 𝐁
𝐁 ഥC BC B ഥ𝐂
Comme dans le cas de l'addition, un pas élémentaire 0 0 0 0 0
(ABC)
dans une soustraction consiste à calculer la soustraction
0 0 1 1 1
de trois bits (où deux bits viennent des deux nombres à
ഥ
𝐀
0
1 1 3
2 1
soustraire, le troisième correspondant à la retenue
produite par le pas précédent). Il nous faut donc un 0 1 0 1 1 A
circuit à trois entrées A, B et C et deux sorties S et R,
4 1 5
7 1 6
0 1 1 0 1
calculant A - B - C et produisant le bit de différence S et
le bit de retenue R. Comme pour l'addition, on peut 1 0 0 1 0
obtenir ce circuit en utilisant deux copies du circuit R ഥ 𝐂ത 𝐁
𝐁 ഥC BC B ഥ𝐂
demi-soustracteur : une copie ôte B de A, l'autre ôte C 1 0 1 0 0 (ABC)
du résultat produit par la première copie. Comme pour
l'addition, la retenue totale est égale à 1 si l'une des 1 1 0 0 0 ഥ
𝐀
0
1 1 3 1 2 1
copies fournit une retenue égale à 1. On obtient A
finalement un soustracteur complet. 1 1 1 1 1 4 5
7 1 6
18
LA LOGIQUE COMBINATOIRE
19
LA LOGIQUE COMBINATOIRE
20
LA LOGIQUE COMBINATOIRE
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 A0 P0= A0B0
nombre P (P0P1P2P3) de quatre bits
B0
A1 A0
X A1 A1B0 P1 = A1B0+A0B1
B1 B0 B0
_______________________________________________
(C2) (C1) A1B0 A0B0 P2 = A1B1+C1
(C1)
A1B1 A0B1
_______________________________________________ A0B1
A1B1+C1 A1B0+A0B1 A0B0 A0
(C2) (C2) (C1) B1
P0 = A0B0 P0 = NAND(A0B0 )
P1 = A1B0+A0B1 P1 = HA (A1B0+A0B1 ) A1 A1B1 P3 = (C2)
P2 = A1B1+C1 P2 = HA (A1B0+A0B1 )
B1
P3 = (C2) P3 = (C2)
Ci = Gi+Pi.Ci-1 G3 C3
CLA LOGIC
P3
P3
Nous allons chercher les valeur de C0, C1, C2, C3 en fonction G0=A0.B0 G2 C2 S3
de C-1 qui est la retenue initiale. P2
G1=A1.B1 P2
G2=A2.B2 G1 C1 S2
si i =0, C0 = G0+P0.C-1 P1
G3=A3.B3 P1
si i =1, C1 = G1+P1.C0,
G3=A3.B3 G0 C0 S1
P0
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 P0= 𝑨𝟎 ⊕ 𝑩𝟎 P0
C-1 C1 S0
P1= 𝑨𝟏 ⊕ 𝑩𝟏
si i =2, C2 = G2+P2.C1, = G2+P2.C1 = G2+P2 (G1+P1G0+P1P0.C-1 ) P2= 𝑨𝟐 ⊕ 𝑩𝟐
si i =2, C2 = G2+P2 G1+ P2 P1G0+ P2 P1P0.C-1 P3= 𝑨𝟑 ⊕ 𝑩𝟑
si i =3, C3 = G3+P3.C2
S3 = A3+B3+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
23
LA LOGIQUE COMBINATOIRE
Le soustracteur de 4 bits
Il suffit ensuite de relier entre elles n
copies de ce circuit soustracteur pour
pouvoir soustraire deux nombres de n
bits (comme avec l'addition, la copie la
plus à droite est en fait un demi
soustracteur, car la retenue initiale est
nulle).
24
LA LOGIQUE COMBINATOIRE
25
LA LOGIQUE COMBINATOIRE
Additionneur BCD
Décimale Binaire BCD
Pour additionner deux nombre BCD, il faut considérer les 3 cas
suivants: C* S3* S2* S1* S0* C S3 S2 S1 S0
La somme ne dépasse pas 9 et la retenue est égale à 0, dans ce cas 0 0 0 0 0 0 0 0 0 0 0
l’addition se fait comme en binaire pur et le résultat obtenu est correct. 1 0 0 0 0 1 0 0 0 0 1
La partie blanche de la figure.
2 0 0 0 1 0 0 0 0 1 0
La somme ne dépasse pas 9 et la retenue est égale à 1, dans ce cas
l’addition se fait comme en binaire pur mais le résultat obtenu est 3 0 0 0 1 1 0 0 0 1 1
incorrect. Pour arriver au bon résultat, il faut additionner 6 (0110) au 4 0 0 1 0 0 0 0 1 0 0
résultat provisoire. La partie jaune de la figure
5 0 0 1 0 1 0 0 1 0 1
La somme dépasse 9 et la retenue est égale à 0, dans ce cas
l’addition se fait comme en binaire pur mais le résultat obtenu est 6 0 0 1 1 0 0 0 1 1 0
incorrect. Pour arriver au bon résultat, il faut additionner 6 (0110) au 7 0 0 1 1 1 0 0 1 1 1
résultat provisoire. La partie bleue de la figure.
8 0 1 0 0 0 0 1 0 0 0
Pour implémenter le circuit qui permet d’ajouter le « 0110 », nous
voyons que la retenue C* de la partie jaune est égale à 1, C*=1. 9 0 1 0 0 1 0 1 0 0 1
10 0 1 0 1 0 1 0 0 0 0
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 11 0 1 0 1 1 1 0 0 0 1
« 1001 ». (S3*=1) et (S2*=1 ou S1*=1), S3*.(S2*+S1*) 12 0 1 1 0 0 1 0 0 1 0
Pour la partie verte, nous savons que le résultat est supérieur à 9, 13 0 1 1 0 1 1 0 0 1 1
mais la retenue n’est pas égale à 1, nous devons toujours ajouter
« 1001 ». S3*=1 et S1*=1, S3*.S1*=1 Ce qui nous donne 14 0 1 1 1 0 1 0 1 0 0
l’expressions suivante: 15 0 1 1 1 1 1 0 1 0 1
C*+ S3*.(S2*+S1*)+ S3*.S1* 16 1 0 0 0 0 1 0 1 1 0
C*+ S3*.S2*+ S*3.S*1*+ S3*.S1* = C*+ S3*.S2*+ S*3.S*1* 17 1 0 0 0 1 1 0 1 1 1
Nous aurons besoin de deux portes ET et d’une porte OU qui va 18 1 0 0 1 0 1 1 0 0 0
attaquer le deuxième additionneur de 4 bits. 19 1 0 0 1 1 1 1 0 0 1
LA LOGIQUE COMBINATOIRE
Retenue
C* Additionneur de 4 bits
0 1/0 1/0 0
Additionneur de 4 bits
C S3 S2 S1 S0
Le Comparateur
On 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 et
seulement si A = B. Ce qui nous donne :
0 0 0 0 1
0 1 0
0 1
1 0 0
1 0
1 1 0 0 1
LA LOGIQUE COMBINATOIRE
Le Comparateur de 3 bits
Le comparateur de 3 bits est une association de comparateurs d’un bit, les sorties S1, E1, I1, du 1er
comparateur 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
LA LOGIQUE COMBINATOIRE
Le Contrôleur de parité A B C D P
Les transmissions en série binaires font parties des 0 0 0 0 0 ABCD ഥ𝐁
𝑨 ഥ ഥB
𝑨 AB ഥ
A𝐁
techniques les plus utilisées. Cette transmission entre
l’émetteur et le récepteur peut être câblées ou non. 0 0 0 1 1
fiable. 0 1
0 1 0 CD 12 13 1 15 14 1
La méthode de génération/vérification de parité est l'une 0 1 0 1 0
des techniques de détection d'erreurs les plus utilisées Cഥ
𝐃 8 1 9 11 1 10
pour la transmission de données ; un bit de parité est 0 1 1 0 0
annexé aux données transmises pour faire en sorte que
la somme des données binaires des «1» soit pair ou 0 1 1 1 1
impair.
1 0 0 0 1
Ce bit est utilisé pour détecter les erreurs lors de la
transmission. 1 0 0 1 0
1 0 1 0 0
La parité d'un mot binaire est définie comme la parité de A
la somme des bits, soit encore : 1 0 1 1 1
A xor B
• parité paire (ou 0) : nombre pair de 1 dans le mot ; 1 1 0 0 0 B A xor B xor C
• parité impaire (ou 1) : nombre impair de 1 dans le mot. P=A xor B xor C xor D
1 1 0 1 1
Pas ce cases adjacents, donc non simplifiable par C
Karnaugh. 1 1 1 0 1
D
P=A’B’C’D+ A’B’CD’+ A’BC’D’+ A’BCD+ ABC’D+ ABCD’+ AB’C’D’+ AB’CD 1 1 1 1 0
A xor B xor C xor D
32
LA LOGIQUE COMBINATOIRE
Le Contrôleur de parité
La fonction OU-exclusif donne la parité d'un
sous-ensemble de deux bits.
33
A B C D P
0 0 0 0 0 A’B’ A’B AB AB’
0 0 0 1 1
0 0 1 0 1
C’D’ 1 1
0 0 1 1 0 C’D 1 1
1 1
0 1 0 0 1
CD
0 1 0 1 0
0 1 1 0 0 CD’ 1 1
0 1 1 1 1
1 0 0 0 1 Cette configuration est appelée Check Board Configuration
1 0 0 1 0
En regardant le tableau de Karnaugh, vous vous rendez compte que
1 0 1 0 0 les cellules ne sont pas adjacentes, donc pas simplifiable
1 0 1 1 1 graphiquement. Nous allons dons essayer de minimiser l’équation
par la méthode algébrique.
1 1 0 0 0
1 1 0 1 1 Le POS s’écrit comme suit :
1 1 1 0 1 P=A’B’C’D+A’B’CD’+A’BC’D’+A’BCD+AB’CD+ABC’D+ABCD’
1 1 1 1 0
34
LA LOGIQUE COMBINATOIRE
Le codeur
Un codeur permet de transmettre une information de la
meilleure façon. Cette transmission est souvent plus simple,
plus rapide et plus sécurisé. Les langues que nous utilisons
sont des codes. Les Codeurs sont utilisés pour la
compression des données.
Le principe de fonctionnement d’un codeur est le suivant :
lorsqu’une entrée est activée, les sorties affichent la valeur
correspondant au numéro de l’entrée dans le code binaire
choisi.
Un codeur peut être vu comme un convertisseur du code
décimal vers un code binaire. Une seule entrée du codeur
doit normalement être activée à la fois.
Dans le cas où le code en sortie est le code binaire pur, le
circuit correspondant possède N entrées et n sorties, avec
2n−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 8
entrées et génère l’équivalent binaire sur les sorties S0, S1
et 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
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
A B S0 S1 S2 S3
Dans un système numérique les instructions, tout comme les nombres, sont transportées sous
forme de mots binaires. Par exemple un mot de 4 bits peut permettre d'identifier 16 instructions
différentes : l'information est codée. Très souvent l'équivalent d'un commutateur à 16 positions 0 0 1 0 0 0
permet de sélectionner l'instruction correspondant à un code. Ce processus est appelé
décodage. 0 1 0 1 0 0
Le décodeur réalise la fonction inverse du codeur. C’est un circuit logique comportant n 1 0 0 0 1 0
entrées et 2n sorties. Lorsque le signal de validation est actif, seule la sortie dont le
numéro correspond à la valeur binaire affichée sur l’entrée est active. Toutes les autres 1 1 0 0 0 1
sont inactives.
Nous pouvons citer comme exemple le clavier d’une porte automatique ou le décodeur
BCD/Afficheur 7 segments.
Le décodeur est un circuit très employé dans les microprocesseurs. Son rôle est de
sélectionner entre autres, une adresse précise de mémoire parmi un lot important
d’adresses différentes.
Si nous voulons aller chercher dans une mémoire d’une capacité de 4096 mots, un mot
donné situé à une adresse bien précise. Il n’est pas question d’adresser les 4096 mots
différents contenus dans la mémoire. Cela nécessiterait 4096 fils. Pour résoudre ce
problème il ne faut relier le microprocesseur que par 12 fils, car c’est un mot de 12 bit qui
permet d’adresser 4096 place (2 12 = 4096). Il nous faudra alors un décodeurs 12
entrées et 4096 sorties.
S0 = A’B’ S1=A’B S2 = AB’ S3=AB
LA LOGIQUE COMBINATOIRE
Le décodeur LED de 7 segments
Il nous arrive de vouloir représenter des chiffres de
0 à 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 0
m1 1 0 0 0 1 0 1 1 0 0 0 0
m2 2 0 0 1 0 1 1 0 1 1 0 1 a
m3 3 0 0 1 1 1 1 1 1 0 0 1
m4 4 0 1 0 0 0 1 1 0 0 1 1
m5 5 0 1 0 1 1 0 1 1 0 1 1 f b
m6 6 0 1 1 0 1 0 1 1 1 1 1 g
m7 7 0 1 1 1 1 1 1 0 0 0 0
m8 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 c
m10 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
0
1
1
0 yz
wx
00 01 11 10
00 m0 = 1 m1
2 1
m3=1 m2 =1
3 1
01 m4
4 0
m5=1 m7=1 m6 =1
5 1
LA LOGIQUE COMBINATOIRE
6 1
7 1
8
9
1
1
10 m8=1 m9=1 m11=x m10=x
00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10
0 1 wx 0 1 wx 0 1 wx 0 1 wx
1 0 yz 1 1 yz 1 1 yz 1 0 yz
2
3
1
1
00 m0 = 1 m1 m3=1 m2 =1
2
3
1
1
00 m0 = 1 m1 =1 m3=1 m2 =1
2
3
0
1
00 m0 = 1 m1=1 m3=1 m2
2
3
1
1
00 m0 = 1 m1 m3=1 m2 =1
4
5
0
1
01 m4 m5=1 m7=1 m6 =1
4
5
1
0
01 m4 =1 m5 m7=1 m6
4
5
1
1
01 m4 =1 m5=1 m7=1 m6 =1
4
5
0
1
01 m4 m5=1 m7 m6 =1
11 m12= xm13=x m15=x m14=x 11 m12= xm13=x m15=x m14=x 11 m12= xm13=x m15=x m14=x 11 m12= xm13=x m15=x m14=x
6 1 6 0 6 1 6 1
7 1 7 1 7 1 7 0
8
9
1
1
10 m8=1 m9=1 m11=x m10=x
8
9
1
1
10 m8=1 m9=1 m11=x m10=x
8
9
1
1
10 m8=1 m9=1 m11=x m10=x
8
9
1
1
10 m8=1 m9=1 m11=x m10=x
0
1
1
0 yz
wx
00 01 11 10 0
1
1
0 yz
wx
00 01 11 10 0
1
0
0 yz
wx
00 01 11 10
2
3
1
0
00 m0 = 1 m1 m3 m2 =1
2
3
0
0
00 m0 = 1 m1 m3 m2 =1
2
3
1
1
00 m0 m1 m3=1 m2 =1
01 m4 01 m4 =1 m5=1 01 m4 =1 m5=1
4 0 4 1 4 1
m5 m7 m6 =1 m7 m6 =1 m7 m6 =1
5 0 5 1 5 1
6
7
1
0
11 m12= xm13=x m15=x m14=x 6
7
1
0
11 m12=x m13=x m15=x m14=x 6
7
1
0
11 m12= xm13=x m15=x m14=x
10 m8=1 10 m8=1 10 m8=1
8 1 8 1 8 1
m9 m11=x m10=x m9=1 m11=x m10=x m9=1 m11=x m10=x
9 0 9 1 9 1
e = z'x'+wx' f= y+x'z+x'z+w'x' g=y+wz+wx'+z'w
LA LOGIQUE COMBINATOIRE
Décodeur 3 vers 8 (3 entrées et 8 sorties)
La fonction d’un décodeur est de reconnaître une
combinaison de bits en entrée (le code) et de signaler
la présence de ce code en mettant un signal en sortie
à 1.
Si nous nous cherchons à reconnaître le code binaire
1001, Dans ce cas, il faut réaliser un circuit qui
implémente la fonction R = x3.x2.x1.x0. On remarque
que R = 1 si l’entrée est 1001 et 0 sinon, ce circuit
permet de décoder le code 1001.
LA LOGIQUE COMBINATOIRE
Décodeur BCD - Décimal
Le code DCB (Décimal Codé Binaire) (ou en anglais BCD : Binary
Coded Decimal) transforme les nombres décimaux en remplaçant
chacun des chiffres décimaux par 4 chiffres binaires. Cette
repré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 1001
0100. Ce type de codage permet de faciliter l'affichage en décimal du
contenu d'un compteur. Pour ce faire on peut utiliser des afficheurs
lumineux à sept segments.
La fonction de chacun des transcodeurs est de positionner à 1 les
lignes de sortie correspondant aux segments à allumer selon de code
porté par les quatre lignes d'entrée. De manière générale, un
transcodeur fait correspondre à un code A en entrée sur n lignes, un
code 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 produit
prenant 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'en
présence d'un signal de commande global (strobe ou enable). Ce
signal 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é et
toutes 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 :
Ce transcodeur reçoit un
chiffre décimal sur une des
dix entrées et génère
l’équivalent binaire sur les
Sorties S0 à S3. Une seule
entrée doit être active à la
fois.
S0 = E1 + E3 + E5 + E7 + E9
S1 = E2 + E3 + E6 + E7
S2 = E4 + E5 + E6 + E7
S3 = E8 + E9
LA LOGIQUE COMBINATOIRE
Le transcodeur 4 vers 10
Ce transcodeur reçoit un
chiffre binaire sur une des 4
entrées et génère
l’équivalent décimal sur les
Sorties S0 à S9. Une seule
entrée doit être active à la
fois.
LA LOGIQUE COMBINATOIRE
Le transcodeur 3 vers 3 (binaire pur-Gray)
Pour passer du code Gray au code binaire pur on utilise un
B0 B1 B2 G0 G1 G2
transcodeur.
Le code Gray est fréquemment utilisé dans les capteurs
angulaires ou de positionnement, mais aussi lorsque l'on
0 0 0 0 0 0
désire une progression numérique binaire sans parasite
transitoire. Il sert également dans les tableaux de Karnaugh 0 0 1 0 0 1
utilisés lors de la conception de circuits logiques.
Pour passer du code binaire au code Gray on utilise la 0 1 0 0 1 1
formule suivante :
0 1 1 0 1 0
n = N xor 2N
2 1 0 0 1 1 0
n est le nombre converti en Gray et N le nombre binaire.
1 0 1 1 1 1
Table de vérité pour passer du code binaire au code Gray.
• G0=B0B1’B2’+B0B1’B2+B0B1B2’+B0B1B2 1 1 0 1 0 1
• G1=B0’B1B2’+ B0’B1B2+B0B1’B2’+B0B1’B2 1 1 1 1 0 0
• G2=B0’B1’B2+ B0’B1B2’+B0B1’B2+B0B1B2’
LA LOGIQUE COMBINATOIRE
Le transcodeur 4 vers 4 (binaire pur-Gray)
Nous pouvons remarquer que le passage du binaire pur
au code Gray se fait en effectuant une opération OU
Exclusif.
Le circuit du transcodeur est très simple. En désignant par
Bn (B1 = LSB) un bit quelconque en code binaire pur et
par Gn le bit recherché en code Gray, nous avons alors :
Gn = Bn xor Bn+1
LA LOGIQUE COMBINATOIRE
Un encodeur E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 S3 S2 S1 S0
• S1 = E2+E3+E6+E7
• S2 = E4+E5+E6+E7
• S3 = E8+E9
LA LOGIQUE COMBINATOIRE
B A E S
E
Entrée de Entrée de Entrée Sortie
Enable
Commande Commande d’information en fonction
Validation
ou d’adresse ou d’adresse des entrées
0 0 0 X0 E’B’A’X0
0 0 1 X1 E’B’AX1
0 1 0 X2 E’BA’X2
0 1 1 X3 E’BAX3
1 0 0 0 Rien ne se passe car E=1
1 0 1 0 Rien ne se passe car E=1
1 1 0 0 Rien ne se passe car E=1
1 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 une
entrée d’information, 2n sorties d’information et n entrées
d’adresse. Il met en relation cette entrée avec une sortie et une seule.
Pour pouvoir sélectionner cette sortie il faut également des lignes
d'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 un
démultiplexeur avec quatre lignes de sortie. Il faut deux lignes
d'adresse. Supposons que nous souhaitons également valider les
données avec un signal de contrôle E (pour laisser par exemple le
temps aux niveaux d'entrée de se stabiliser). Par convention nous
choisissons de prendre en compte les données pour E = 0.
Comme pour l’additionneur, il est possible de faire des cascades de
multiplexeur et de démultiplexeur pour avoir plusieurs entrées ou
plusieurs sorties.
Y0 = A’B’E’D
Y1= AB’E’D
Y2= A’BE’D
Y3= ABE’D
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