Académique Documents
Professionnel Documents
Culture Documents
GELE2442 Chapitre 5 - Logique Combinatoire
GELE2442 Chapitre 5 - Logique Combinatoire
Logique combinatoire
Université de Moncton
Hiver 2015
1 Logique combinatoire
3 Étapes de design
4 Fonction de validation
5 Décodeur
6 Encodeur
7 Multiplexeurs
Logique combinatoire
Logique combinatoire
Circuit
n entrées .. .. m sorties
. combinatoire .
Étapes d’analyse :
S’assurer que le circuit est combinatoire et non séquentiel
Il ne doit pas y avoir de feedback entre la sortie et l’entrée
Créer une table de vérité
1 Nommer toutes les sorties internes du circuit. Déterminer la fonction
logique de ces sorties.
2 Répéter jusqu’à ce que toutes les sorties du circuit soient seulement
fonction des entrées.
Exemple
Analyser le circuit suivant. Déterminer la fonction logique et générer la
table de vérité.
A T1
B
C F1
A T2
B
C
T3
A F20
B
A
F2
C
B
C
Exemple (suite...)
F2 = AB + AC + BC
T1 = ABC
T2 = A + B + C
T3 = F20 T2
F1 = T3 + T1
Exemple (suite...)
F1 = T3 + T1 = F20 T2 + ABC
= (AB + AC + BC)0 (A + B + C) + ABC
= (A0 + B 0 )(A0 + C 0 )(B 0 + C 0 )(A + B + C) + ABC
= (A0 + B 0 C 0 )(AB 0 + AC 0 + BC 0 + B 0 C) + ABC
= A0 BC 0 + A0 B 0 C + AB 0 C 0 + ABC
Exemple (suite...)
La table de vérité :
A B C F2 F20 T1 T2 T3 F1
0 0 0 0 1 0 0 0 0
0 0 1 0 1 1 0 1 1
0 1 0 0 1 1 0 1 1
0 1 1 1 0 1 0 0 0
1 0 0 0 1 1 0 1 1
1 0 1 1 0 1 0 0 0
1 1 0 1 0 1 0 0 0
1 1 1 1 0 1 1 0 1
Étapes de design
Exemple
Faire le design d’un circuit qui permet la conversion d’une entrée en DCB
à un code Excess-3.
Exemple (suite...)
DCB Excess-3
A B C D W X Y Z
0 0 0 0 0 0 1 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0
Exemple (suite...)
Exemple (suite...)
CD C CD C
AB 00 01 11 10 AB 00 01 11 10
00 0 0 0 0 00 0 1 1 1
01 0 1 1 1 01 1 0 0 1
B B
11 X X X X 11 X X X X
A A
10 1 1 X X 10 0 1 X X
D D
W = A + BC + BD X = B 0 C + B 0 D + BC 0 D0
Exemple (suite...)
CD C CD C
AB 00 01 11 10 AB 00 01 11 10
00 1 0 1 0 00 1 0 0 1
01 1 0 1 0 01 1 0 0 1
B B
11 X X X X 11 X X X X
A A
10 1 0 X X 10 1 0 X X
D D
Y = CD + C 0 D0 Z = D0
Exemple (suite...)
W = A + BC + BD = A + B(C + D)
X = B 0 C + B 0 D + BC 0 D0 = B 0 (C + D) + BC 0 D0
= B 0 (C + D) + B(C + D)0
Y = CD + C 0 D0 = CD + (C + D)0
Z = D0
Exemple (suite...)
D0
Z
D CD
C Y
C+D
B
X
W
A
Fonction de validation
X
F
EN
Décodeur
Entrées Sorties
A1 A0 D0 D1 D2 D3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
Figure 2 : Table de vérité d’un décodeur 2 à 4
Décodeur 2 à 4
A0
D0
D0
A1 A1 D1
D1
Décodeur
2 à 4
A0 D2
D2
D3
D3
D0 D0
A1 D1 A1 D1
Décodeur Décodeur
2 à 4 2 à 4
A0 D2 A0 D2
EN D3 EN D3
Un décodeur peut être utilisé pour faire la synthèse (le design) d’une
fonction logique
Un décodeur génère à la sortie les 2n mintermes des n variables
d’entrée
Utiliser un décodeur avec une porte OU à la sortie pour créer la
fonction voulue
Tout circuit combinatoire avec n entrées et m sorties peut être réalisé
avec un décodeur n à 2n et m portes OU
Exemple
X Y Ci S Co
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
Exemple (suite...)
Exemple (suite...)
Le circuit :
0
1
2 S
X
Décodeur 3
Y 3×8 4
Ci 5
6 Co
7
X
Décodeur 8
Y D0 à D7
3×8
Z
EN
W
Décodeur 8
D8 à D15
3×8
EN
Encodeur
D0 D1 D2 D3 D4 D5 D6 D7 A2 A1 A0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
Figure 5 : Table de vérité d’un encodeur 8 à 3
Encodeur 8 à 3
Les sorties sont obtenues avec des portes OU : comme exemple, la sortie
A0 = 1 lorsque les entrées 1, 3, 5 ou 7 sont 1. On obtient alors les
équations suivantes :
A0 = D 1 + D 3 + D 5 + D 7
A1 = D 2 + D 3 + D 6 + D 7
A2 = D 4 + D 5 + D 6 + D 7
Encodeur
D0 D1 D2 D3 A1 A0 V
0 0 0 0 X X 0
1 0 0 0 0 0 1
X 1 0 0 0 1 1
X X 1 0 1 0 1
X X X 1 1 1 1
Figure 6 : Table de vérité d’un encodeur prioritaire 4 à 2
Encodeur prioritaire 4 à 2
D3
A0
D2
D1
A1
V
D0
Multiplexeurs
Multiplexeurs
Multiplexeurs
I0 I0
MUX MUX
Y Y
2 : 1 2:1
I1 I1
S
S
Multiplexeur 2 : 1
S Y
0 I0
1 I1
Figure 9 : Table de vérité d’un multiplexeur 2 : 1
Multiplexeur 2 : 1
I0
Y
I1
Multiplexeur 2 : 1
Multiplexeurs multi-bit
Multiplexeurs multi-bit
A0
A1
A2
Y0
A3 MUX
Y1
B0 2 : 1 Y2
B1 4 bits Y3
B2
B3
Exemple
P
Réaliser F (x, y, z) = (1, 2, 6, 7) avec un multiplexeur.
X Y Z F
0 0 0 0
F =Z
0 0 1 1
0 1 0 1
F = Z0
0 1 1 0
1 0 0 0
F =0
1 0 1 0
1 1 0 1
F =1
1 1 1 1
Exemple (suite)
Le circuit :
Y S0
X S1
MUX
Z 0 F
4 : 1
Z 1
0 2
1 3
Démultiplexeur
Démultiplexeur
Q0
MUX Q1
I
1 : 4 Q2
Q3
S0 S1
Figure 12 : Démultiplexeur 1 : 4
Comparateur d’amplitude
Comparateur d’amplitude
A3 A2 A1 A0 B3 B2 B1 B0
IA>B
Comparateur
IA=B
4 bits
IA<B
Additionneur binaire
Demi-additionneur
X Y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Figure 14 : Table de vérité d’un demi-additionneur
S = X 0 Y + XY 0 = X ⊕ Y
C = XY
Demi-additionneur
X
Y0
S
X
X0 Y S
Y
C
C
Additionneur complet
Additionneur complet
Ci
A B Ci Co S
0 0 0 0 0
A 0 0 1 0 1
0 1 0 0 1
Additionneur
S 0 1 1 1 0
1 bit
1 0 0 0 1
B 1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Co
Additionneur complet
S = X 0 Y 0 Ci + X 0 Y Ci0 + XY 0 Ci0 + XY Ci = X ⊕ Y ⊕ Ci
C = XY + XCi + Y Ci
Additionneur complet
HA : demi-additionneur
HA HA
X
Y S
Co
Ci
Propagation du report
Propagation du report
A0 B0 A1 B1 A2 B2 A3 B3
S0 S1 S2 S3
Propagation du report
Si = Pi ⊕ Ci
Ci+1 = Gi + Pi Ci
où
Pi = Ai ⊕ Bi (propager)
Gi = Ai Bi (générer)
Propagation du report
C0 = report d’entrée
C1 = G0 + P0 C0
C2 = G1 + P1 C1 = G1 + P1 (G0 + P0 C0 ) = G1 + P1 G0 + P1 P0 C0
C3 = G 2 + P 2 C2 = G2 + P 2 G1 + P 2 P 1 G0 + P 2 P 1 P 0 C0
A Y
CT RL
Exemple
I0 Y
I1
I2
I3
S0 0
Décodeur 1
S1
2×4 2
Enable EN 3