chap02

12
CIRCUITS LOGIQUES COMBINATOIRES Chap-II: Algèbre de Boole 1 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES Algèbre de Boole TRABELSI Hichem Attention ! Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est strictement interdit de la reproduire à des fins commerciales. Seul le téléchargement ou impression pour un usage personnel (1 copie par utilisateur) est permis.

Upload: charki-youssef

Post on 02-Dec-2015

213 views

Category:

Documents


0 download

DESCRIPTION

CIRCUITS LOGIQUESCOMBINATOIRESAlgèbre de Boole

TRANSCRIPT

Page 1: chap02

CIRCUITS LOGIQUES COMBINATOIRES Chap-II: Algèbre de Boole

1 TRABELSI Hichem

Université Virtuelle de Tunis

CIRCUITS LOGIQUES COMBINATOIRES

Algèbre de Boole

TRABELSI Hichem

Attention !

Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est strictement interdit de la reproduire à des fins

commerciales. Seul le téléchargement ou impression pour un usage personnel (1 copie par utilisateur) est permis.

Page 2: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

2

ALGEBRE DE BOOLE Objectif du chapitre

Pour étudier d’une manière systématique les circuits numériques, on utilise une algèbre différente de l’algèbre classique, dite algèbre de Boole, du nom du mathématicien anglais, inventeur de ce concept (George Boole 1815-1864). Nous proposons dans ce chapitre les lois, règles et théorèmes de l’algèbre de Boole, nécessaires et suffisants pour la compréhension du fonctionnement de ces circuits numériques. Nous étudierons également la simplification des expressions booléennes en utilisant les règles de l’algèbre de Boole et les diagrammes de Karnaugh. Opérateurs de l’algèbre de Boole L’algèbre de Boole est un ensemble de variables à deux états (0 et 1) dites aussi booléennes, muni de trois opérateurs élémentaires : - La multiplication logique, dite aussi ET. Le symbole de cette opération est (.) - L’addition logique, dite aussi OU. Le symbole de cette opération est (+). - L’inverse logique, dite aussi NON. Le symbole de cette opération est ().

- Opérateur ET Si deux variables logiques A et B sont combinées par la multiplication logique (ET), le résultat s’exprime ainsi :

Cela se traduit par l’expression suivante : Si A est vraie ET B est vraie alors X est vraie.

Exemple

Si la porte d’un ascenseur est fermée ET quelqu’un appuie sur le bouton 4, alors l’ascenseur monte au quatrième étage.

Les propositions caractérisées par les variables logiques A, B et X sont : (A) : porte fermée. (B) : quelqu’un appuie sur le bouton 4. (X) : l’ascenseur monte au 4ème étage.

On a alors : (X) = (A) ET (B) ⇔ X = A.B

La liste complète des valeurs que peut prendre la fonction booléenne X en fonction de toutes les combinaisons possibles des valeurs A et B, peuvent être résumées dans un tableau appelé table de vérité. La table de vérité de l’opérateur ET est donnée par le tableau suivant.

A B X=A.B 0 0 0 0 1 0 1 0 0 1 1 1

Table de vérité de l'opérateur ET

X = A.B

Page 3: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

3

- Opérateur OU

L’addition logique de deux variables A et B donne :

Cela se traduit par l’expression suivante : X est vrai si au moins A ou B est vrai. Exemple:

On veut recruter un interprète connaissant l’allemand OU l’anglais. Cette expression peut se décomposer ainsi :

(A) : connaissance de l’allemand. (B) : connaissance de l’anglais. (X) : recrutement de l’interprète.

On a alors : (X) = (A) OU (B) ⇔ X = A + B

Le recrutement de l’interprète se fait s’il connaît : soit l’allemand soit l’anglais soit les deux à la fois.

La table de vérité de l’opérateur OU est donnée par le tableau suivant.

A B X=A+B0 0 0 0 1 1 1 0 1 1 1 1

Table de vérité de l'opérateur OU

- Opérateur inverseur L’opérateur inverseur, contrairement aux opérateurs précédents, est un opérateur à une seule variable. Le résultat X de l’opérateur inverseur sur une variable booléenne A donne son complément. On note :

La table de vérité de l’opérateur inverseur est donnée par le tableau suivant.

Table de vérité de l'opérateur inverseur

A X=A 0 1 1 0

X = A+B

X = A

Page 4: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

4

Théorèmes de l’algèbre de Boole Pour effectuer tout calcul booléen, on utilise un ensemble de théorèmes.

Théorème de commutativité

A + B = B + A A.B = B.A

Théorème d'associativité

A + (B + C) = (A + B) + C = A + B + C A.(B.C) = (A.B).C = A.B.C

Théorème de distributivité

A.(B + C) = A.B + A.C A + (B.C) = (A + B).(A + C)

Théorème d'idempotence

A + A = A A.A = A

Théorème de complémentation

A + A = 1 A.A = 0

Théorème des constantes

A.1 = A A + 0 = A A + 1 = 1 A.0 = 0

Théorème d'absorption

A + A.B = A A.(A + B) = A

Théorème d'allègement

A+A.B = A+B A.(A + B) = A.B

Théorème de Morgan

A.B = A + B A+B = A . B

Ce théorème peut être généralisé à plusieurs variables :

A.B…..Z = A + B +……+ Z A+B+….+Z = A. B……..Z

Les théorèmes ci-dessus peuvent être démontrés facilement par une table de vérité Démonstration

On peut démontrer le théorème de Morgan par la table de vérité suivante :

A B BA + BA. BA. BA +0 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0

Principe de dualité

Chaque théorème vu précédemment se présente sous deux formes duales. L'énoncé du théorème dual se déduit immédiatement en remplaçant (+) par (.) et (0) par (1) et réciproquement.

égalité égalité

Page 5: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

5

Représentation d’une fonction logique Une fonction logique est une combinaison de variables booléennes reliées par les opérations ET, OU, NON. Elle peut être représentée par une écriture algébrique ou une table de vérité.

- Représentation algébrique Une fonction logique écrite sous forme algébrique, peut être représentée sous différentes formes : somme, produit, somme canonique ou produit canonique.

Formes Exemples Somme Une fonction est écrite sous la forme de somme, si elle est constituée de plusieurs termes reliés entre eux par l’opérateur OU (appelée aussi forme disjonctive).

1 BAX += CB.+A=X2

( ) ( )CADBC +++ .. B A.=X3

Produit Une fonction est écrite sous la forme de produit, si elle est constituée de plusieurs facteurs reliés entre eux par l’opérateur ET (appelée aussi forme conjonctive).

,.1 BAX = ( ) ( ) . .X2 EDCBA ++=

( ) ( )CDBA ++= . X3

Somme canonique (Σ.Π) Une fonction logique est écrite sous forme de somme canonique si toutes les variables figurent dans chaque terme et si, dans chacun de ces termes, toutes les variables sont reliées entre elles par l’opérateur ET. Ces termes se désignent sous le nom de mintermes.

Soient les fonctions à 3 variables :

C.B.AC.B.AX +=1

C.B.AC.B.AC.B.AX 2 ++=

Produit canonique (Π.Σ) Une fonction logique est écrite sous forme de produit canonique si toutes les variables figurent dans chaque produit et si, dans chacun de ces termes, elles sont toutes reliées entre elles par l’opérateur OU. Ces produits se désignent sous le nom de maxtermes.

Soient les fonctions à 3 et à 4 variables suivants :

( ) ( ) , . 1 DCBADCBAX ++++++=

X2 ( ) ( ) ( )CBACBACBA ++++++= . .

Remarque: Si une expression X est écrite sous forme de somme canonique, d’après le théorème de Morgan, son inverse sera sous forme de produit canonique (et vice-versa), comme le montre l'exemple suivant :

C.B.AC.B.AC.B.AX ++=

C.B.A.C.B.A.C.B.AC.B.AC.B.AC.B.AX =++= ( )( )( )CBA.CBA.CBA ++++++=

Page 6: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

6

- Représentation par une table de vérité Une expression logique X(A, B, C...), fonction des variables A, B, C..., peut être représentée par une table de vérité. Cette table donne les valeurs que peut prendre X, suivant les différentes combinaisons des variables A, B, C... Exemple: Soit X(A,B,C) une fonction logique à trois variables, représentée par la table de vérité suivante:

C B A X 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1

L’expression algébrique de la fonction X peut déduite de la table de vérité sous l’une des deux formes canoniques. 1ère forme canonique : Somme canonique (Σ.Π)

X est vrai si C=0 et B=0 et A=0 (ligne-0) ou bien

C=0 et B=1 et A=0 (ligne-2) ou bien

C=1 et B=0 et A=1 (ligne-5) ou bien

C=1 et B=1 et A=1 (ligne-7) Par conséquent X est vrai (X=1) si :

ABCABCABCABCX .. .. .. . . +++= 2ème forme canonique : Produit canonique (Π. Σ)

En s’intéressant aux 0 de X, on peut écrire de la même manière :

ABCABCABCABCX .. .. .. . . +++=

En appliquant le théorème de Morgan on obtient :

)).(.).().(( ABCABCABCABCX ++++++++=

c’est un développement en somme de produits chaque terme "produit" s’appelle minterme.

c’est un développement en produit de sommes chaque terme "somme" s’appelle maxterme.

ABCABCABCABCX .. .. .. . . +++=

Page 7: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

7

Simplification des expressions logiques La simplification d’une expression logique, consiste à réduire cette expression à sa forme la plus simple mais équivalente, c’est à dire à un nombre minimal de termes et à un nombre minimal de variables dans chaque terme. Nous exposons dans ce qui suit deux méthodes de simplification : - Simplification algébrique. - Simplification graphique par le diagramme de Karnaugh.

- Simplification algébrique

Les théorèmes de l’algèbre de Boole étudiés précédemment peuvent nous être utiles pour simplifier une expression logique. Pour cela prenons quelques exemples.

Exemple-1: C.B.AC.B.AC.B.AX ++=

)C.BB.(A

C.B.AB.A

C.B.A)CC(B.A

+=

+=

++=

or YXY.XX +=+ )CB.(AX += Exemple-2: D).DBA).(BA(Z +++= D.D.BD.B.BD.A.BD.D.AD.B.AD.A.A +++++= ↑ ↑ ↑ 0 0 0

D.B

)AA.(D.B

D.B)AA.(D.B

D.BD.A.BD.B.A

=

++=

++=

++=

1

Exemple-3 B.AB.AB.AZ ++= B.A)AA.(B ++= B.AB += BA +=

- Simplification par diagramme de Karnaugh La simplification des expressions booléennes s’effectue en appliquant les théorèmes de l’algèbre de Boole. Parfois, il n’est pas toujours facile de savoir quels théorèmes il faut utiliser pour obtenir le résultat ou de savoir si l’expression simplifiée est sous sa forme minimale, et s’il n’y a pas d’autres simplifications possibles. Pour ces raisons, on utilise souvent un outil graphique appelé diagramme de Karnaugh, permettant de simplifier une expression booléenne à la forme la plus simple possible.

Page 8: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

8

Diagramme de Karnaugh - Le diagramme de Karnaugh d’une table de vérité ou d’une fonction logique à N variables, est constitué d’un rectangle divisé en 2N cases. Chaque case du diagramme correspond à l’une des 2N combinaisons possibles des N variables (2N mintermes). - L’ordre des variables en abscisse et en ordonnée est choisi de telle sorte qu’entre deux cases adjacentes, il n’y a qu’une seule variable qui change de valeur (on codifie le tableau selon le code de Gray).

Nous allons voir dans ce qui suit, avec des exemples, comment construire un diagramme de Karnaugh à partir de : a/ Une table de vérité. b/ Une expression algébrique sous forme d’une somme canonique. c/ Une expression algébrique sous forme d’un produit canonique. d/ Une expression algébrique quelconque. Exemples

a/ Chercher les diagrammes de Karnaugh relatifs aux tables de vérité suivantes. • Table de vérité à deux variables

• Table de vérité à trois variables

C B A X 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0

b/ Chercher le diagramme de Karnaugh correspondant à la fonction logique à quatre variables écrite sous forme de somme canonique suivante : D.C.B.AD.C.B.AD.C.B.AX ++=

B.A B.A B.A B.A

D.C 0 0 0 0

D.C 0 0 0 0

D.C

0 0 0 1

D.C 0 0 1 1

c/ Déterminer le diagramme de Karnaugh correspondant à la fonction logique à trois variables, écrite sous forme de produit canonique suivante :

( )( )( )CBA.CBA.CBAX ++++++=

A B X 0 0 1 0 1 0 1 0 0 1 1 1

A A

B 1 0 B 0 1

B.A B.A B.A B.A

C 1 0 0 0

C 1 1 0 0

D.C.B.AD.C.B.AD.C.B.AX ++=

Page 9: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

9

Comme cette fonction X n’est pas écrite sous forme de somme canonique, son inverse X le sera d’après le théorème de De Morgan :

C.B.AC.B.AC.B.AX ++=

B.A B.A B.A B.A

C 1 1 1 1 C 0 1 0 0

Les cases à 0 du diagramme de Karnaugh correspondent aux mintermes de la fonction X , alors que les cases à 1 correspondent à celles de la fonction X. d/ Déterminer les diagrammes de Karnaugh relatifs aux fonctions suivantes : B.AC.B.AX +=1

( )

+= C.B.A.BAX 2

- Le diagramme de Karnaugh relatif à X1 est le suivant :

B.A B.A B.A B.A C 0 0 1 1

C 0 0 1 0

Au terme A.B de la fonction X1 correspondent deux cases dans le diagramme de Karnaugh, car si on écrit X1 sous forme de somme canonique, on aura la somme de trois mintermes suivants :

( ) C.B.AC.B.AC.B.ACC.B.AC.B.AB.AC.B.AX ++=++=+=1

- ( )

+= C.B.A.BAX 2

Avant de déterminer le diagramme de Karnaugh de la fonction X2, il est préférable de mettre l’expression de cette fonction sous forme d’une somme de produit de termes. A chaque produit correspond une case ou un groupe de cases dans le diagramme de Karnaugh.

( ) C.B.AB.AC.B.ABAC.B.A.BAX +=++=

+=2

Le diagramme de Karnaugh correspondant est alors le suivant :

B.A B.A B.A B.A C 1 0 0 0

C 1 1 0 0

_________________

CBACBACBAX ...... ++=

BACBAX ...1 +=

CBABAX ... +=

Page 10: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

10

La méthode de simplification par diagramme de Karnaugh est la suivante : On transpose la table de vérité ou la fonction algébrique dans le diagramme de Karnaugh,

comme on l’a vu précédemment. On effectue éventuellement des regroupements adjacents de 1, 2, 4, 8... cases de 1, appelées

monômes. On cherche à avoir le minimum de regroupements, ayant chacun le maximum de cases possibles. Il faut noter que l’adjacence existe pour les extrémités du diagramme de Karnaugh, car ce dernier se présente comme un cylindre horizontal ou vertical, dans lequel les cases du haut sont adjacentes aux cases du bas, de même pour les cases de droite et de gauche.

Dans un regroupement d’une case contenant 1, on ne peut éliminer aucune variable. On écrit donc le produit des variables caractérisant cette case du diagramme.

Dans un regroupement de deux cases contenant 1, on élimine la variable qui change d’état et l’on conserve le produit des variables qui n’ont pas changé d’état dans le regroupement, et cela en vertu de la relation AXAAX =+ .

Dans un regroupement de quatre cases contenant 1, on élimine les deux variables qui changent d’état, et on ne conserve que le produit des variables qui n’ont pas changé d’état dans le regroupement.

Cette règle se généralise, en éliminant N variables dans un regroupement de 2N cases adjacentes contenant la valeur 1.

On cherche à faire apparaître dans le diagramme de Karnaugh le minimum de regroupement de cases de 1, avec un maximum de cases possibles, en remarquant qu’un même 1 peut faire partie de plusieurs groupes en vertu de la relation A+A=A. Tout regroupement totalement inclus dans un groupement plus grand est éliminé car son expression sera simplifiée. On dit qu'il n'est pas un impliquant premier, (un impliquant premier est un monôme qui n'est pas inclut dans un monôme plus grand).

Traduire chaque regroupement de cases de 1 par son expression booléenne. L’expression logique simplifiée est la somme logique des expressions booléennes de chaque regroupement.

Nous allons illustrer ce qui a été dit par différents exemples.

Exemples : • Cas de deux variables

A A

B 1 0

B 0 1

B.AB.AX +=

A A

B 1 1

B 0 1

BAX +=

Page 11: chap02

TRABELSI Hichem 11

• Cas de trois variables

BA. BA. B.A BA.

C 0 1 1 0

C 0 0 0 0

C.BX =

BA. BA. B.A BA.

C 1 0 0 1

C 0 0 0 0

C.BX =

B.A B.A B.A B.A

C 0 0 0 0

C 1 1 1 1

CX =

BA. BA. B.A BA.

C 1 1 0 0

C 1 1 0 1

C.BAX +=

• Cas de quatre variables

B.A B.A B.A B.A

D.C 0 0 0 1

D.C 0 1 1 0

D.C 0 1 1 0

D.C 0 0 1 0

D.C.B.AC.B.AD.BX ++=

B.A B.A B.A B.A

D.C 1 1 1 1

D.C 0 0 0 0

D.C 0 0 0 0

D.C 1 1 1 1

DX =

B.A B.A B.A B.A

D.C 1 0 0 1

D.C 0 0 0 0

D.C 0 0 0 0

D.C 1 0 0 1

D.BX =

B.A B.A B.A B.A

D.C 1 1 0 0

D.C 1 1 0 0

D.C 1 1 0 0

D.C 1 1 0 0

.AX =

Page 12: chap02

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________

Chap-II : Algèbre de Boole

TRABELSI Hichem

• Cas de cinq variables

Le tableau de Karnaugh à cinq variables comporte 25 =32 cases. On peut le construire en juxtaposant deux tableaux de Karnaugh de quatre variables A, B, C, D, côte à côte, la cinquième variable E distingue le tableau de gauche (E=0) de celui de droite (E=1).

E=0 E=1 D.C D.C D.C D.C D.C D.C D.C D.C

B.A 0 1 1 0 0 0 1 0

B.A 0 1 0 0 0 0 0 0

B.A 0 1 1 1 0 0 1 1

B.A 0 1 0 0 0 0 0 0

D.C.B.AC.B.AE.D.CX ++= Remarque: Lorsque le nombre de variables devient important, la simplification au moyen des diagrammes de Karnaugh devient très difficile. Quelques particularités

a/ La simplification peut ne pas être unique :

Exemple: Soit le tableau de Karnaugh suivant, dont le regroupement des doublets peut se faire de deux manières différentes.

B.A B.A B.A B.A

C 1 1 1 0

C 1 0 1 1

C.AC.BB.AX ++=

B.A B.A B.A B.A

C 1 1 1 0

C 1 0 1 1

CBBACAX ... ++= Ces deux expressions représentent la même fonction logique malgré leurs écritures différentes.

b/ Présence d'états indifférents :

Dans certaines appilications (voir chapitres suivants), il n’est pas important qu'une ou plusieurs combinaisons de sortie de la table de vérité soit à 0 ou à 1, il s'agit alors d'états indifférents. Dans ce cas, on a le choix de mettre des 0 ou des 1 vis à vis des états indifférents dans le tableau de Karnaugh pour obtenir une expression logique de sortie la plus simple possible.

B.A B.A B.A B.A

C 1 0 x x

C 1 0 0 1

Dans ce tableau, on peut mettre un 1 dans le carré CBA .. et un 0 dans la case CBA .. pour obtenir l'expression la plus simple possible suivante : BX = .