Cours No.4

Transcription

Cours No.4
INF1500 :
Logique des systèmes numériques
† Cours 4: Tables de Karnaugh à 2, 3
et 4 variables
Sylvain Martel - INF1500
1
Simplification d’expressions booléennes par
les tables de Karnaugh
†
Une table de Karnaugh est une façon compacte de représenter une
table de vérité.
†
Les tables de Karnaugh permettent de simplifier facilement et
méthodiquement des expressions booléennes.
†
On note :
„
Chaque case de la table de Karnaugh correspond à une rangée de la table
de vérité.
„
Un ‘1’ placé dans une case de la table de Karnaugh correspond à un
minterme de la fonction.
„
Un ‘0’ placé dans une case de la table de Karnaugh correspond à un
maxterme de la fonction.
„
Deux mintermes ou maxtermes représentés par deux cases adjacentes ne
diffèrent que par un seul bit.
Sylvain Martel - INF1500
2
Simplification d’expressions booléennes par
les tables de Karnaugh -Suite
† Le diagramme de Karnaugh est donc un outil
graphique qui permet de simplifier de manière
méthodique une équation logique ou le processus de
passage d’une table de vérité à son circuit
correspondant. En général, on utilise cette approche
pour 6 variables ou moins. Sinon, on utilise un
programme informatique.
† Simplifier permet de diminuer le matériel, les délais et
la consommation
† Grâce au code Gray on va créer un diagramme (i.e.
un tableau) dans lequel on va pouvoir analyser tous
les regroupements permettant d’appliquer le
théorème T10:
†
X • Y + X • Y’ = X
Sylvain Martel - INF1500
3
Encodage mécanique d’un disque avec code
binaire 3 bits
111
000
110
001
0 0 1
101
010
100
011
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
4
Encodage mécanique d’un disque avec code
Gray 3 bits
100
000
101
001
0 0 1
111
011
110
010
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
5
Code Gray et diagrammes de Karnaugh
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
YZ
X
X
0
Y
0
1
0
2
1
3
Z
0
1
Y
(a)
(b)
(a) 2 variables
00
X
XY
1
W
WX
00
01
11
10
0
2
6
4
1
3
7
5
01
11
Y
10
Z
Y
(b) 3 variables
Sylvain Martel - INF1500
(c)
00
01
11
10
0
4
12
8
1
5
13
9
3
7
15
11
2
6
14
10
Z
X
(c) 4 variables
6
Mapping de la fonction à optimiser sur le
diagramme de Karnaugh
(a)
Attention à
la numérotation
W
WX
00 01
YZ
00
01
11
Y
10
0
4
11
12
(b)
10
8
1
1
5
13
1
3
7
1
2
6
9
11
01
Z
11
1
14
0
00
X•Z
1
15
WX
00
YZ
Y
10
10
1
X
F = ΣW,X,Y,Z(5,7,12,13,14,15)
Sylvain Martel - INF1500
Copyright © 2000 by Prentice Hall, Inc.
7
Digital Design Principles and Practices,
3/e
F = X
Tables de Karnaugh à 2 variables
Sylvain Martel - INF1500
8
Tables de Karnaugh à 3 variables
Il y a deux possibilités : forme horizontale ou verticale. Les deux
formes sont équivalentes.
Sylvain Martel - INF1500
9
F(A,B,C) = m1 + m2 +m3 + m6 = A’B’C + A’BC’ + A’BC + ABC’
F(A,B,C) = M0 M4 M5 M7 = (A+B+C) (A’+B+C) (A’+B+C’) (A’+B’+C’)
Tables de Karnaugh à 3 variables
Voici la forme verticale équivalente de la table de Karnaugh
précédente à 3 variables.
Sylvain Martel - INF1500
000
100
001
101 100 est
011
111
010
110
adjacent
à 110
10
Représentation de termes sur la table de
Karnaugh
A=1 sur
cette
colonne
1
B=1 sur
ces
lignes
1
1
1
1
F1 = B
C=0 sur
ces
lignes
1
1
F2 = BC’
Sylvain Martel - INF1500
1
F3 = AC’
11
Table de Karnaugh à 4 variables
Sylvain Martel - INF1500
12
Définitions
†
Adjacence : deux cellules sont adjacentes si elles se touchent ou si
elles sont à deux extrémités de la table (i.e. la cellule du haut et la
cellule du bas d’une colonne sont adjacentes, et la cellule de gauche
et la cellule de droite d’une rangée sont adjacentes aussi)
†
Impliquant : un groupe de forme rectangulaire de 1, 2, 4, 8, 16, 32,
64, … 2k, k ∈ N, cellules adjacentes contenant des ‘1’.
†
Impliquant primaire : impliquant ne pouvant pas être combiné avec
un autre impliquant pour former un impliquant plus grand
†
Impliquant primaire essentiel : si un minterme est couvert par un
seul impliquant primaire, cet impliquant est qualifié d’essentiel. Il
fera partie de la description minimale de la fonction.
Sylvain Martel - INF1500
13
Procédure de simplification d’équations
booléennes
† La procédure simplifiée est :
„
Former des groupes (impliquants) contenant le
plus de ‘1’ possible (puissances de 2 : 1, 2, 4,
8, 16, …)
„
Trouver un nombre minimal d’impliquants
couvrant tous les ‘1’
Sylvain Martel - INF1500
14
Règles de Karnaugh
†
†
†
†
†
Faire des regroupements de « 1 » en groupe de 1, 2,
4, 8 ou 16.
Commencer par les plus grands regroupements.
Englober tous les 1 et aucun 0.
Si le regroupement couvre un endroit où la variable
passe de 0 à 1 ou de 1 à 0 alors cette variable ne fait
pas partie du terme (minterm) correspondant.
Les variables restantes d’un regroupement forme un
minterm qu’on appelle aussi terme de 1er ordre
(prime implicant) et l’ensemble des regroupements,
i.e. F, forment une somme complete.
Sylvain Martel - INF1500
15
Fonctions définies partiellement: valeurs
sans importance
†
Nous avons supposé que la valeur des fonctions logiques devait
être spécifiée exactement pour chaque entrée possible. En
pratique, ce n’est pas toujours nécessaire. Si une combinaison de
variables d’entrée est impossible, alors on « se fiche » (don’t care)
de la valeur que la fonction pourrait prendre dans ce cas.
†
Cette valeur est sans importance, puisqu’on considère qu’elle ne
peut survenir. On indique ces situations par un ‘X’ ou un tiret (-)
dans la table de vérité et dans la table de Karnaugh de la fonction.
†
Comme la combinaison d’entrées correspondant à un ‘-’ est
impossible, on peut assigner la valeur ‘0’ ou ‘1’ à ce ‘-’, comme
bon nous semble. Dans la table de Karnaugh, si ce ‘-’ permet de
combiner un plus grand nombre de ‘1’ ensemble, on l’interprète
comme un ‘1’. Sinon, on l’interprète comme un ‘0’.
Sylvain Martel - INF1500
16
Karnaugh avec peu importe
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
N3
N3 N2
(a)
00
N1 N0
00
01
11
N1
10
0
(b)
01
4
11
12
10
1
5
1
3
13
1
8
7
1
2
15
1
6
9
d
14
1
d
11
N0
d
N1
10
d
N2′ • N1
N2
F = ΣN3,N2,N1,N0(1,2,3,5,7) + d(10,11,12,13,14,15)
01
11
00
N3′ • N0
d
00
N1 N0
d
N3
N3 N2
10
N2 • N0
d
01
1
1
d
11
1
1
d
d
10
1
d
d
N0
N2
F = N3′ • N0 + N2′ • N1
« Don’t care »
Sylvain Martel - INF1500
17
Obtenir un produit de sommes au lieu d’une
somme de produits
†
†
†
†
†
Faire des regroupements de « 0 » en groupe de 1, 2,
4, 8 ou 16.
Commencer par les plus grands regroupements.
Englober tous les 0 et aucun 1.
Si le regroupement couvre un endroit où la variable
passe de 0 à 1 ou de 1 à 0 alors cette variable ne fait
pas partie du terme (maxterm) correspondant.
Les variables restantes d’un regroupement forme un
maxterm qu’on appelle aussi terme de 1er ordre
(prime implicant) et l’ensemble des regroupements,
i.e. F, forment une somme complete.
Sylvain Martel - INF1500
18
Exemples
0
0
0
0
1
1
0
0
0
1
1
0
1
1
0
0
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
F = B’ C + B D + A C
F = A’B’D’ + A’C’ + A’BD + ACD
Sylvain Martel - INF1500
19
Procédure
†
Former des groupes contenant le plus de ‘1’ et de ‘X’ possible
(impliquants primaire) (puissances de 2 : 1, 2, 4, 8, 16, …)
†
Déterminer parmi ces groupes les impliquants essentiels
†
Sans toucher aux impliquants essentiels, minimiser le nombre
d’impliquants primaires qui couvrent les 1 restants
†
Rappel:
„
Impliquant primaire : impliquant ne pouvant pas être combiné
avec un autre impliquant pour former un impliquant plus grand
„
Impliquant primaire essentiel : si un minterme est couvert par un
seul impliquant primaire, cet impliquant est qualifié d’essentiel. Il
fera partie de la description minimale de la fonction.
Sylvain Martel - INF1500
20
Exemples
(a)
W
WX
00 01
YZ
00
01
11
Y
10
0
4
11
12
(b)
10
8
1
1
5
13
1
3
7
1
2
6
9
11
01
11
10
W•X
1
01
1
1
11
1
1
Z
1
14
W
00
X•Z
1
15
WX
00
YZ
Z
Y
10
10
1
1
X
X
F = ΣW,X,Y,Z(5,7,12,13,14,15)
F = X•Z + W•X
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
21
Exemples
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
W
WX
(a)
00
YZ
00
01
11
Y
10
0
01
4
11
12
1
1
5
1
3
13
1
15
1
2
1
6
14
00
YZ
8
00
1
1
7
(b)
10
W
WX
9
1
11
Z
1
01
1
11
1
01
11
10
1
1
1
1
1
1
1
X • Y′
W•Z
Y′ • Z
Z
Y
10
10
1
1
X
X
F = ΣW,X,Y,Z(1,3,4,5,9,11,12,13,14,15)
F = X • Y′ + X′ • Z + W • X
Sylvain Martel - INF1500
X′ • Z
W•X
22
Exemples
W
WX
(a)
00
YZ
00
01
11
Y
10
0
01
4
11
12
(b)
10
5
13
1
8
3
7
1
2
15
1
6
1
9
1
1
14
11
00
YZ
1
1
W
WX
01
11
00
1
01
1
1
1
10
W′ • X
X•Z
Z
Z
1
11
1
1
10
1
1
1
Y
10
1
W′ • Y
X
F = ΣW,X,Y,Z(2,3,4,5,6,7,11,13,15)
Y•Z
X
F = W′ • Y + W′ • X + X • Z + Y • Z
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
23
Exemples
W
WX
(a)
00
YZ
00
01
11
Y
10
0
01
4
1
1
1
12
8
13
9
1
7
1
2
10
15
1
6
11
W′ • Y′
1
00
1
1
01
1
1
11
10
00
YZ
01
11
01
Z
11
1
10
1
1
1
W′ X′
W•X•Y
Z
1
Y
10
10
W′ • Z
00
Z
1
14
01
W
WX
(c)
00
YZ
1
5
3
11
W
WX
(b)
11
1
Y
1
10
X•Y•Z
•
X
F = ΣW,X,Y,Z(0,1,2,3,4,5,7,14,15)
X
X
F = W′ • Y′ + W′ • X′ + W • X • Y + W′ • Z
Sylvain Martel - INF1500
24
Exemples - Méthode de branchement
W
WX
(a)
00
YZ
00
01
11
Y
10
0
01
4
1
11
12
5
13
1
3
7
15
1
2
6
1
10
01
11
10
W
WX
(c)
00
YZ
8
00
YZ
00
01
11
10
W•X•Z
00
W • Y′ • Z
9
1
11
1
14
W
WX
(b)
10
01
F = ΣW,X,Y,Z(2,6,7,9,13,15)
1
Z
01
Z
11
1
11
1
1
Y
10
W′ • Y • Z′
Z
1
Y
1
X
1
1
1
X•Y•Z
10
W′ • X • Y
X
X
F = W • Y′ • Z + W′ • Y • Z′ + X • Y • Z
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
25
Exemples
WX
00
YZ
(a)
00
01
11
Y
10
0
1
W
01
11
4
12
8
13
9
5
1
10
1
3
7
2
6
(b)
1
15
1
WX
00
YZ
11
1
1
14
10
W
01
01
1
1
(c)
Z
11
1
1
Y
10
11
WX
00
YZ
10
X′ • Y′ • Z
1
1
X
00
01
1
Z
W
01
10
00
X
WX
00
YZ
11
1
(d)
W
01
11
10
W′ • Y′ • Z
00
1
01
1
1
1
Z
11
1
1
Z
1
11
Y
1
1
1
Y
10
W•Y•Z
10
W • X′ • Z
W′ • X • Z
X
F = W′ • X • Z + W • Y • Z + X′ • Y′ • Z
Sylvain Martel - INF1500
X
X•Y•Z
F = X • Y • Z + W • X′ • Z + W′ • Y′ • Z
26
Hasards statiques temporels
Un hasard statique-1 peut se présenter lorsqu’une
combinaison d’entrées diffère de seulement une variable et
que la sortie donne 1. Alors, la sortie peut basculer
momentanément à 0.
(a)
(b)
X
ZP
ZP
XZP
Z
Z
F
YZ
YZ
Y
XZP
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
F
1
0
1
0
1
0
1
0
1
0
27
Hasards statiques temporels - Suite
Un hasard statique-0 peut se présenter lorsqu’une combinaison
d’entrées diffère de seulement une variable et que la sortie donne
0. Alors, la sortie peut basculer momentanément à 1.
(a)
W
X
Z
(b)
0
0
0→1
ZP
0
0
1→0
WXZP
ZP
1→0
0→1
Y
Z
YZ 0→1
YZ
F
0
0
1
YP
1
XP
1
WXZP
XPYP
F
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500
1
0
1
0
1
0
1
0
1
0
28
Solution
Les hasards statiques peuvent être éliminés en utilisant Karnaugh
et en ajoutant des liens entres les regroupements non-liées.
X
(a)
00
Z
01
0
1
1
Y•Z
X
(b)
XY
11
10
1
1
XY
X • Z′
Z
1
1
Z
Y•Z
F = X • Z′ + Y • Z
Z
01
0
Y
X
00
1
11
10
1
1
X • Z′
1
Z
X•Y
Y
F = X • Z′ + Y • Z + X • Y
XZP
Copyright ©ZP
2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
YZ
F
Y
XY
Sylvain
Martel
- INF1500
Copyright © 2000
by Prentice
Hall, Inc.
Digital Design Principles and Practices, 3/e
29
Autre exemple
X • Y′ • Z′
(a)
W
WX
00
YZ
00
W′ • Z
01
11
1
1
01
1
1
11
1
1
(b)
10
W
WX
00
YZ
00
W′ • X • Y′
01
11
1
1
01
1
1
11
1
1
10
Z
1
1
1
1
Z
Y
1
1
1
1
Y
10
W Y
•
10
Y•Z
W • X • Z′
X
X
F = X • Y′ • Z′ + W′ • Z + W • Y
F = X • Y′ • Z′ + W′ • Z + W • Y
+ W′ • X • Y′ + Y • Z + W • X • Z′
Sylvain Martel - INF1500
30
Hasards dynamiques –
Solution: synchronisation
Lorsqu’on a plus que deux niveaux de portes de base
0
W
0→1
X
Y
slow
0
slower
0→1
1→0
1→0
0→1→0
1→0
1→0 →1→0
F
1→0
1
1
Z
1
Sylvain Martel - INF1500
Copyright © 2000 by Prentice Hall, Inc.
Digital Design Principles and Practices, 3/e
31
Exercices
Exprimer chaque fonction sous forme d’une somme de produits et
sous forme d’un produit de sommes et dessiner les circuits
équivalents.
Sylvain Martel - INF1500
32
Exercices
Sylvain Martel - INF1500
33
Exercices
Sylvain Martel - INF1500
34
Exercices
Sylvain Martel - INF1500
35
Exercices - Tables de Karnaugh à 4 variables,
fonctions définies partiellement
Sylvain Martel - INF1500
36
Exercices - Tables de Karnaugh à 4 variables,
fonctions définies partiellement - Suite
Sylvain Martel - INF1500
37
Exercices - Tables de Karnaugh à 4 variables,
fonctions définies partiellement - Suite
Sylvain Martel - INF1500
38
Sylvain Martel - INF1500
39

Documents pareils