Vous êtes sur la page 1sur 20

Rappel - analyse et synthèse de fonctions combinatoires

Pierre Langlois

http://creativecommons.org/licenses/by-nc-sa/2.5/ca/

INF3500 : Conception et implémentation de systèmes numériques


Rappel - analyse et synthèse de fonctions combinatoires

• Variables booléennes et valeurs logiques


• Fonctions booléennes
• Portes logiques
• Tables de vérité
• Simplification d’expressions booléennes
• Analyse d’un circuit combinatoire
• Conception d’un circuit combinatoire

INF3500 : Conception et implémentation de systèmes numériques 2


Variables booléennes

• La logique booléenne est à la base des systèmes


numériques. Valeur Équivalent Exemple: Exemple: Exemple:
• Dans un système numérique, tous les signaux sont logique numérique lampe tension alarme
des variables booléennes.
Vrai 1 Allumée Élevée Activée
• Une variable booléenne peut prendre une seule de
deux valeurs: vrai ou faux.
Faux 0 Éteinte Basse Désactivée
• On peut interpréter ces deux valeurs de différentes
façons selon le contexte.

INF3500 : Conception et implémentation de systèmes numériques 3


Fonctions booléennes de base NON, ET, OU: symboles et tables de vérité

Notation
• Il y a trois fonctions booléennes de base Fonction
algébrique
Symbole
– La négation (NON - not);
Négation (NON, not) F = A’
– La conjonction (ET logique - and); et, A F

– La disjonction (OU logique - or). Conjonction (ET, and) F = AB A


F

• On peut réaliser toutes les fonctions logiques à


B

partir de ces trois fonctions de base. Disjonction (OU, or) F=A+B A


F
B

A F = A’ A B F = AB A B F=A+B
0 0 0 0 0
1 0 1 0 1
1 0 1 0
1 1 1 1

4
INF3500 : Conception et implémentation de systèmes numériques
Fonctions booléennes dérivées, symboles et tables de vérité

• Plusieurs fonctions peuvent être dérivées des trois X X X X’


(identité) (inversion, NON, NOT)
fonctions de base, comme par exemple:
– le NON-OU (nor); X
X+Y
X
(X + Y)’
Y (OU, OR) Y (NON-OU, NOR)
– le NON-ET (nand);
X X
– le OU-exclusif (xor) et l’équivalence (xnor). Y
XY
Y
(XY)’
(ET, AND) (NON-ET, NAND)

F  X  Y  X ' Y  XY ' X
X+Y
X
(X + Y)’
Y Y
G  F '  X  Y  X ' Y ' XY (OU-exclusif, différence,
OUX, XOR)
(coïncidence,
équivalence)

X Y F = (X + Y)’ X Y F = (XY)’ X Y F = X xor Y X Y F = X xnor Y


0 0 0 0 0 0 0 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1
INF3500 : Conception et implémentation de systèmes numériques 5
Différentes portes logiques

• On peut ajouter une bulle aux entrées et aux X X


X’ + Y (X’Y)’
sorties de portes logiques. Y Y
• Une bulle sur un port d’entrée ou de sortie signifie
X X
la négation du signal correspondant, comme si on X’ + Y’ (X’Y’)’
Y Y
ajoutait une porte NON.
• Toutes les portes logiques sauf la négation et
A
l’identité peuvent avoir plus de deux entrées. B A
ABCD B (ABC)'
C C
D

A A
B A+B+C B (A+B+C)'
C C

INF3500 : Conception et implémentation de systèmes numériques 6


Tables de vérité

• Une table de vérité (truth table) énumère toutes A B C G(A, B, C) A F(A)


les combinaisons d’entrées d’une fonction et
0 0 0 1 0 1
donne la valeur de la fonction pour chacune des
entrées. 0 0 1 0 1 1
• Une fonction à n entrées a une table de vérité 0 1 0 0
comportant 2n rangées. 0 1 1 1 A B H(A, B)
• Par convention, on place les combinaisons 1 0 0 1 0 0 1
d’entrées dans un ordre binaire croissant. 0 1 1
1 0 1 0
• Une table de vérité peut avoir plusieurs colonnes 1 0 1
1 1 0 1
pour des fonctions de sortie.
1 1 1 0 1 1 0

7
INF3500 : Conception et implémentation de systèmes numériques
Remplir une table de vérité à partir d’une équation booléenne

• Remplir une table de vérité à partir d’une équation Somme de produits Produits de sommes
booléenne revient à identifier pour quelles F = A’ + AC’ + BC + AB G = (A + B’)(B + C)(A + C’)
combinaisons d’entrée la valeur de la sortie est A B C G
A B C F
vraie (1) ou fausse (0).
0 0 0 0 0 0
• Le processus dépend de la formulation de
l’équation booléenne: 0 0 1 0 0 1
– Si l’équation est formulée en sommes de produits, 0 1 0 0 1 0
chaque produit correspond à un cas où la fonction 0 1 1 0 1 1
peut être vraie.
1 0 0 1 0 0
– Si l’équation est formulée en produits de sommes,
chaque somme correspond à un cas où la fonction 1 0 1 1 0 1
peut être fausse. 1 1 0 1 1 0
– Pour les formulations hybrides, il faut se débrouiller!
1 1 1 1 1 1

8
INF3500 : Conception et implémentation de systèmes numériques
Donner une équation booléenne correspondant à une table de vérité

• Il est relativement facile de lire une équation A B C F


booléenne non réduite à partir d’une table de
0 0 0 1
vérité.
0 0 1 1
• Pour obtenir la somme de produits:
– On énumère les termes de la fonction qui 0 1 0 0
Somme de produits
correspondent à une valeur de 1 de celle-ci. 0 1 1 0 F = A’B’C’+A’B’C+ABC’
– Chaque terme est composé d’un produit (ET 1 0 0 0
logique) de chaque variable de la fonction.
1 0 1 0
– Une variable ayant la valeur 0 dans la rangée
correspondante est complémentée. 1 1 0 1
• L’expansion en produit de sommes est similaire. 1 1 1 0

9
INF3500 : Conception et implémentation de systèmes numériques
Simplification d’expressions booléennes

La simplification d’une expression booléenne a pour


but d’éliminer la redondance qu’elle renferme. F = A’B’ + AB’ + AB
= A’B’ + AB’ + AB’ + AB
Les trois méthodes les plus usitées sont: = (A’ + A)B’ + A(B’ + B)
1. L’application de règles et théorèmes = B’ + A
d’algèbre booléenne.
2. L’utilisation de tables de Karnaugh. A F(A, B)
3. L’utilisation de la méthode tabulaire B 0 1
de Quine-McCLuskey.
0 1 1
0 2

F = B’ + A
1 0 1
1 3

INF3500 : Conception et implémentation de systèmes numériques 10


Analyse d’un circuit logique combinatoire

Cin
S
Étant donné un circuit combinatoire, donner la
T3
fonction logique et la table de vérité de ses sorties. X T1
Y

T2 Cout
Étapes d’analyse
1. Identifier les entrées et les sorties.
2. Identifier les signaux intermédiaires. X Y Cin T1 T2 T3 S Cout

3. Écrire les équations booléennes des signaux 0 0 0


intermédiaires et des sorties. 0 0 1
4. Dresser et remplir la table de vérité. 0 1 0
0 1 1
1 0 0
1 0 1
1 1 0

INF3500 : Conception et implémentation de systèmes numériques


1 1 1 11
Conception d’un circuit logique combinatoire

Étant donné la spécification d’un système Exemple


combinatoire, donner un circuit logique Une lampe doit s’allumer quand la clé est dans le
correspondant. contact et que la ceinture de sécurité n’est pas
attachée.
Étapes de conception
1. Identifier les entrées et les sorties 1. Entrées: clé, ceinture. Sortie: Lampe.
2. Composer la table de vérité 2. clé ceinture lampe
3. Écrire les équations booléennes des sorties
0 0 0
4. (Réduire les équations booléennes)
0 1 0
5. Donner le circuit correspondant
1 0 1
1 1 0

3. Lampe = clé ET ceinture’


INF3500 : Conception et implémentation de systèmes numériques 12
Exemple de conception: le problème du vote

Un comité composé de quatre personnes a besoin Étapes de design


d’un mécanisme de vote secret pour les 1. Identifier les entrées et les sorties
amendements sur la constitution du comité. 2. Composer la table de vérité
Un amendement est approuvé si au moins 3 3. Écrire les équations booléennes des sorties
personnes votent pour.
4. (Réduire les équations booléennes)
Concevoir un circuit logique qui accepte 4 entrées
5. Donner le circuit correspondant
représentant les votes. La sortie du circuit doit
indiquer si l’amendement est accepté.

INF3500 : Conception et implémentation de systèmes numériques 13


Exemple de conception : le problème du vote

Un comité composé de quatre personnes a besoin


d’un mécanisme de vote secret pour les
amendements sur la constitution du comité.
Un amendement est approuvé si au moins 3
personnes votent pour. Choisissons
A, B, C, D pour les entrées
Concevoir un circuit logique qui accepte 4 entrées
F pour la sortie
représentant les votes. La sortie du circuit doit
indiquer si l’amendement est accepté.

Étapes de design
1. Identifier les entrées et les sorties

INF3500 : Conception et implémentation de systèmes numériques 14


Exemple de conception : le problème du vote

A B C D F
Un comité composé de quatre personnes a besoin 0 0 0 0
d’un mécanisme de vote secret pour les 0 0 0 1

amendements sur la constitution du comité. 0 0 1 0

Un amendement est approuvé si au moins 3 0 0 1 1

0 1 0 0
personnes votent pour.
0 1 0 1
Concevoir un circuit logique qui accepte 4 entrées 0 1 1 0
représentant les votes. La sortie du circuit doit 0 1 1 1

indiquer si l’amendement est accepté. 1 0 0 0

1 0 0 1

1 0 1 0
Étapes de design 1 0 1 1
2. Composer la table de vérité 1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

INF3500 : Conception et implémentation de systèmes numériques 15


Exemple de conception : le problème du vote

A B C D F
Un comité composé de quatre personnes a besoin 0 0 0 0 0
d’un mécanisme de vote secret pour les 0 0 0 1 0

amendements sur la constitution du comité. 0 0 1 0 0

Un amendement est approuvé si au moins 3 0 0 1 1 0

0 1 0 0 0
personnes votent pour.
0 1 0 1 0
Concevoir un circuit logique qui accepte 4 entrées 0 1 1 0 0
représentant les votes. La sortie du circuit doit 0 1 1 1 1

indiquer si l’amendement est accepté. 1 0 0 0 0

1 0 0 1 0

1 0 1 0 0
Étapes de design 1 0 1 1 1
3. Écrire les équations booléennes des sorties 1 1 0 0 0

1 1 0 1 1

1 1 1 0 1

1 1 1 1 1

INF3500 : Conception et implémentation de systèmes numériques 16


Exemple de conception : le problème du vote

Un comité composé de quatre personnes a besoin


F  A' BCD  AB' CD  ABC ' D  ABCD' ABCD
d’un mécanisme de vote secret pour les
 A' BCD  ABCD  AB' CD  ABCD  ABC ' D  ABCD  ABCD' ABCD
amendements sur la constitution du comité.
 BCD( A' A)  ACD( B ' B )  ABD(C 'C )  ABC ( D' D )
Un amendement est approuvé si au moins 3  BCD(1)  ACD(1)  ABD(1)  ABC (1)
personnes votent pour.  BCD  ACD  ABD  ABC
Concevoir un circuit logique qui accepte 4 entrées
représentant les votes. La sortie du circuit doit
indiquer si l’amendement est accepté.

Étapes de design
4. Réduire les équations booléennes
5. Donner le circuit correspondant

INF3500 : Conception et implémentation de systèmes numériques 17


Équivalence entre la table de vérité, l’équation booléenne et le circuit logique

A B C D F
0 0 0 0 0
F  A' BCD  AB' CD  ABC ' D  ABCD' ABCD
0 0 0 1 0
 A' BCD  ABCD  AB' CD  ABCD  ABC ' D  ABCD  ABCD' ABCD
0 0 1 0 0
 BCD( A' A)  ACD( B ' B )  ABD(C 'C )  ABC ( D' D )
0 0 1 1 0
 BCD(1)  ACD(1)  ABD(1)  ABC (1)
0 1 0 0 0

0 1 0 1 0
 BCD  ACD  ABD  ABC
0 1 1 0 0

0 1 1 1 1

1 0 0 0 0

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 1

INF3500 : Conception et implémentation de systèmes numériques 18


Rappel - analyse et synthèse de fonctions combinatoires

• Variables booléennes et valeurs logiques


• Fonctions booléennes
• Portes logiques
• Tables de vérité
• Analyse d’un circuit combinatoire
• Conception d’un circuit combinatoire

INF3500 : Conception et implémentation de systèmes numériques 19


Exercices d’analyse d’un circuit logique combinatoire

Donner la table de vérité et l’équation booléenne


correspondant aux circuits suivants.
A A
B B

F1
F3
C C

A A
B B

F5 F9
C C
D
D E

INF3500 : Conception et implémentation de systèmes numériques 20