You are on page 1of 25

(c) Hiver 2003, Rachid Beguenane

DSA-UQAC 1
Chapitre 4 :
1
re
Partie
Chapitre 1 : Systmes Binaires
Chapitre 2 : Algbre de Boole et Portes Logiques
Chapitre 3 : Simplification des Fonctions Logiques
Chapitre 4 : Logique Combinatoire
Chapitre 5 : Logique Squentielle Synchrone
Chapitre 6 : Registres et Compteurs
Chapitre 7 : Logique Programmable et Mmoires
Chapitre 8 : Niveau Transfert entre Registres (RTL)
Chapitre 9 : Logique Squentielle Asynchrone
Chapitre 10 : Circuits Intgrs Digitaux
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 2
Chapitre 4
Logique Combinatoire
4.1 Procdure dAnalyse de Circuits Digitaux
4.2 Procdure de Conception de Circuits Combinatoires
4.3 tude dun cas: Dcodeur BCD Afficheur 7 segments
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 3
4.1 Procdure dAnalyse de Circuits Digitaux
Lanalyse des circuits digitaux est un concept important
Comment: A partir dun circuit
On gnre une table de vrit
pour minimiser le circuit
Approches utilises
Lexpression Boolenne
La table de vrit
Consquence: ceci conduit un Hardware minimum
La problmatique: comment convertir dun circuit schmatique en
une quation ou une table de vrit?
Deux approches sont possibles:
Crer des quations intermdiaires
Crer des tables de vrit intermdiaires
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 4
Premire Approche : quations Boolennes
tape 1: Crer une quation pour chaque sortie de porte partir
de ses entres.
R = ABC
S = A + B
T = CS
Out = R + T
A
B
C
A
B
C
Out
R
S
T
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 5
tape 2: Former une relation base sur les variables
dentre (A, B, C):
R = ABC
S = A + B
T = CS = C(A + B)
Out = RT = ABC + C(A+B)
A
B
C
A
B
C
Out
R
S
T
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 6
tape 3: Dduire le rsultat final sous forme SdP (somme de
minterms), laide de tableau-K et les simplifications associes
Out = ABC + C(A+B) = ABC + AC + BC
Out = ABC + C(A+B) = ABC + ACB + ACB + ABC + ABC
(B + B) (A + A) pour faire apparatre tout les minterms
redondant
Out = ABC + AB + BC
A
B
Out
B
C
A
B
C
B
0 0 0 1
A 1 0 1 1
C
BC
A
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 7
Deuxime Approche : Table de Vrit
tape 1: Dterminer les sorties, dans la table de vrit, pour
chaque fonction (ou porte) partir de ses entres, et ce
jusquaux signaux de sortie du circuit.
A
B
C
A
B
C
Out
R
S
T
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
R
0
0
0
0
0
0
0
1
S
0
0
1
1
1
1
1
1
T
0
0
1
0
1
0
1
0
Out
0
0
1
0
1
0
1
1
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 8
tape 2: En utilisant le/les colonne(s) de sortie de la table de
vrit, le Tableau-K est dress et les mthodes de simplification
appliques, pour dduire la SdP minimal.
B
0 0 0 1
A 1 0 1 1
C
BC
A
A
B
Out
B
C
A
B
C
Out = ABC + AB + BC
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 9
Exemple Compliqu (Mano)
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 10
Solution Rapide (2me approche)
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
2
0
0
0
1
0
1
1
1
F
2
1
1
1
0
1
0
0
0
T
1
0
1
1
1
1
1
1
1
T
2
0
0
0
0
0
0
0
1
T
3
0
1
1
0
1
0
0
0
F
1
0
1
1
0
1
0
0
1
B
0 0 1 0
A 0 1 1 1
C
BC
A
B
0 1 0 1
A 1 0 1 0
C
BC
A
F2= AC + AB + BC
F1= A + B + C
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 11
4.2 Procdure de Conception de Circuits Combinatoires
La Procdure gnrale est la suivante
Concevoir un circuit digital partir des spcifications
Sachant que les pins dentres et les sorties sont connues
Il reste dterminer la logique qui transfert la donne ou le flux
de donne (data flow) entre les pins dentres et ceux de sorties
Commencer par tablir une table de vrit
Crer un tableau-K pour chaque pin de sortie
Dterminer la SdP minimale
Dessiner le diagramme du circuit
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 12
Pour concevoir un circuit digital partir des spcifications
(selon Mano), il convient de suivre ces tapes:
1. Dterminer le nombre des entres et sorties requises.
2. tablir la table de vrit
3. Obtenir les expressions Boolennes simplifies
4. Dessiner le diagramme logique et vrifier sil est correcte
(sil rpond aux spcifications)
S
R
A B C
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
R
0
0
0
0
0
0
0
1
S
0
1
1
1
1
1
1
1
S = A + B + C
R = ABC
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 13
La Procdure de Conception de Circuits Combinatoires
Nous avons vu 5 faons diffrentes pour reprsenter et/ou simplifier une
fonction logique:
Lexpression Boolenne (non souhaitable pour la simplification car la solution optimale, cest
dire avec le minimum de portes et de Literals possible, nest pas garantie)
Table de Vrit
Circuit Logique
Minterms/Maxterms
Tableau de Karnaugh
Afin de concevoir un circuit ou une logique COMBINATOIRE, nous utilisant
lune ou plusieurs des reprsentations prcdentes. En plus au besoin nous
utilisons les conditions Dont Care pour pouvoir simplifier davantage.
NOTE: Un circuit ou une logique COMBINATOIRE ne contient que des portes logiques
(AND, OR, NOT, NAND, NOR, XOR, ...) .
Par opposition au circuit ou une logique SEQUENTIELLE, lobjet du chapitre
suivant, un circuit combinatoire ne contient pas de registres de mmorisation,
cest dire des Bascules ou Flip-Flops).
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 14
4.3 tude de cas: Dcodeur BCD Afficheur 7 segments
Ce code est utilis pour afficher des nombres BCD en utilisant 7
segments (diodes lumineuses).
Le BCD (vu au chapitre 1) utilise des 0s et 1s pour reprsenter les
digits dcimaux 0 - 9.
4 bits sont ncessaires pour reprsenter les 10 digits dcimaux 0 - 9.
En dautres termes le code BCD reprsente chaque digit dcimal
avec 4 bits.
a
b
c
g
e
d
f
1 0 0 1 9
0 0 0 1 8
1 1 1 0 7
0 1 0 0 2
1 0 0 0 1
0 0 0 0 0

(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 15
tape 1 : Lister les segments qui doivent silluminer pour chaque
digit.
a
b
c
g
e
d
f
1 0 0 1 9
0 0 0 1 8
1 1 1 0 7
0 1 0 0 2
1 0 0 0 1
0 0 0 0 0

(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 16
DECI Code BCD
MALE
0 a,b,c,d,e,f
1 b,c
2 a,b,d,e,g
3 a,b,c,d,g
4 b,c,f,g
5 a,c,d,f,g
6 a,c,d,e,f,g
7 a,b,c
8 a,b,c,d,e,f,g
9 a,b,c,d,f,g
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 17
tape 2 : tablir la table de vrit pour le circuit global, avec 4 colonnes
dentre (correspondants aux 4 bits du code BDC), et une colonne de
sortie pour chacun des 7 segment (a,b,c,d,e,f,g)
0
0 1 1 0 1 1 0 1 0 0 2
0 0 0 1 1 0 1 0 0 0 1
1 1 1 1 1 1 0 0 0 0 0
F
f
F
g
F
e
F
d
F
c
F
b
F
a
z y x w Dec
0 1 1 1 1 1 1 0 0 3
Entres Sorties
0
0
1
1
1 1 1 1 0 1 0 1 1 0 6
1 0 1 1 0 1 1 0 1 0 5
1 0 0 1 1 0 0 0 1 0 4
1
1
1
1 0 1 1 1 1 1 0 0 1 9
1 1 1 1 1 1 0 0 0 1 8
0 0 0 1 1 1 1 1 1 0 7
0
1
1
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 18
tape 3 : Trouver le SPM pour chaque sortie
Exemple: Pour le segment a :
Y
1 0 1 1
0 1 1 1 X
W
1 1
Z
yz
wx
Y
1 0 1 1
0 1 1 1 X
W
1 1
Z
yz
wx
X X X
X
X
X
Note 1: Ne sont remplis
que les carrs
correspondants aux 10
digits souhaits (0-9).
Note 2: Les autres carrs sont
remplies par des conditions Xs
(Dont care), car les entres
correspondantes ne se
raliseront jamais.
Les Xs sont interprtes comme des
0 ou des 1.
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 19
Encercler les groups, les plus larges possibles, contenant les 1 et X.
Pour conduire une implmentation Hardware la plus rduite possible.
Y
1 0 1 1
0 1 1 1 X
W
1 1
Z
yz
wx
X X X X
X X
F
a1
=Y
Y
1 0 1 1
0 1 1 1 X
W
1 1
Z
yz
wx
X X X X
X X
F
a2
=W
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 20
Y
1 0 1 1
0 1 1 1 X
W
1 1
Z
yz
wx
X X X X
X X
F
a3
=XZ
Y
1 0 1 1
0 1 1 1 X
W
1 1
Z
yz
wx
X X X X
X X
F
a2
=XZ
F
a
= F
ai
= Y + W + X.Z + X.Z
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 21
tape 4 : Implmenter le circuit de chaque sortie, de prfrence
avec le rseau NAND-NAND
X Y Z W
F
a
Ou bien
Avec le rseau
NANS-NAND
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 22
Y
X
W
Z
yz
wx
X X X X
X X
F
b
= F
bi
= W + X.W + Y.Z
0
0
0
1
1
1
1
1
1
1
Pour le segment b :
etc. (A faire comme exercice)
Y
X
W
Z
yz
wx
X X X X
X X
F
g
= F
gi
= XY + X W + YZ + XYW
1 1
1
0
0
1
1
1
1
0
Pour le segment g :
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 23
tape 5 : Implmenter le circuit dans sa globalit, de prfrence
avec le rseau NAND-NAND
X Y Z W
F
a
F
b
a
b
g
e
d
f
etc.
F
g
c
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 24
(c) Hiver 2003, Rachid Beguenane
DSA-UQAC 25
En Resum
Pour concevoir un circuit combinatoire:
- La premire tape est de formuler le circuit partir des spcifications
1. Dterminer le nombre des entres et sorties
2. Dterminer le format de la table de verite
3. Dterminer le tableau de Karnaugh
4. Dterminer le SPM
- Il se peut quil yait plusieurs sorties pour la conception
o Pour cela, il convient de rsoudre chaque sortie septimement
- Lapproche adopte ici nvoque pas la notion de mmoire (conception
dun circuit squentiel)
o Ceci fera lobjet du chapitre 5. Avant, nous tudierons quelques
circuits combinatoires classiques.