30
Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques 1 CHAPITRE 3 LES CIRCUITS LOGIQUES. 1. Les circuits logiques L'ordinateur est un dispositif électronique sophistiqué qui traite l'information mise sous forme d'impulsions électriques traduisant les chaînes binaires utilisées pour représenter les symboles qu’on y introduit codés sous forme d’une suite bits. Rappelons qu’un ordinateur ne comprend que les impulsions électriques. Les traitements, pour leur part, sont essentiellement réalisés à l'aide d'opérations telles l'addition, la soustraction, la multiplication, la division, la comparaison. Plus fondamentalement, les opérations sont composées d'opérations logiques qui sont effectuées par des circuits logiques de base appelés portes. Une porte est en fait un circuit combinatoire à une ou plusieurs entrées et à au moins une sortie. Les conditions aux entrées d'une porte déterminent l'état des sorties. Il existe trois portes de base correspondant aux trois opérations logiques: OU, ET, NON. 1.1. Algèbre de Boole . On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est à dire des variables logiques qui ne peuvent prendre que deux valeurs: 0 et 1. Le terme booléen vient du nom du mathématicien anglais George Boole (1815-1864), qui fit une analyse mathématique de la logique. L'ensemble des règles relatives au traitement des variables booléennes est appelé algèbre de Boole ou treillis booléen. Nous reviendrons plus loin aux règles du treillis booléen. Mais d'abord, regardons de plus près les trois portes fondamentales: OU, ET, NON. La porte OU . L'opération OU appliquée à une ou plusieurs variables conduit à l'addition logique de ces variables (résumée dans la table de vérité qui suit). Elle est aussi appelée réunion et elle est notée par le signe , ou plus simplement par +.

CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

  • Upload
    lamdan

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

1

CHAPITRE 3

LES CIRCUITS LOGIQUES.

1. Les circuits logiques L'ordinateur est un dispositif électronique sophistiqué qui traite l'information mise sous forme d'impulsions électriques traduisant les chaînes binaires utilisées pour représenter les symboles qu’on y introduit codés sous forme d’une suite bits. Rappelons qu’un ordinateur ne comprend que les impulsions électriques. Les traitements, pour leur part, sont essentiellement réalisés à l'aide d'opérations telles l'addition, la soustraction, la multiplication, la division, la comparaison. Plus fondamentalement, les opérations sont composées d'opérations logiques qui sont effectuées par des circuits logiques de base appelés portes. Une porte est en fait un circuit combinatoire à une ou plusieurs entrées et à au moins une sortie. Les conditions aux entrées d'une porte déterminent l'état des sorties. Il existe trois portes de base correspondant aux trois opérations logiques: OU, ET, NON.

1.1. Algèbre de Boole . On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est à dire des variables logiques qui ne peuvent prendre que deux valeurs: 0 et 1. Le terme booléen vient du nom du mathématicien anglais George Boole (1815-1864), qui fit une analyse mathématique de la logique. L'ensemble des règles relatives au traitement des variables booléennes est appelé algèbre de Boole ou treillis booléen. Nous reviendrons plus loin aux règles du treillis booléen. Mais d'abord, regardons de plus près les trois portes fondamentales: OU, ET, NON. La porte OU . L'opération OU appliquée à une ou plusieurs variables conduit à l'addition logique de ces variables (résumée dans la table de vérité qui suit). Elle est aussi appelée réunion et elle est notée par le signe ∪, ou plus simplement par +.

Page 2: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

2

Figure 1 : Porte OU. Table de vérité

TABLE DE VÉRITÉ

a U b

a b a+b 0 0 0 0 1 1 1 0 1 1 1 1

+ 0 1 0 0 1 1 1 1

entrées sortie

L'addition logique peut s'étendre aux chaînes binaires où les bits de même rang sont additionnés selon la table de vérité de l'addition simple: Figure 2 : Porte Ou, Table binaire

0 1 1 1 OU 0 0 1 1

0 1 0 1

Pour représenter la porte OU dans les circuits, on utilise le symbole suivant: Figure 3 : Porte OU, Symbole

a

b a + b ( a U b )

Bien sûr, la boîte noire qui porte le nom OU dans le schéma ne décrit pas le circuit électronique approprié pour réaliser la fonction OU. Voici un circuit électrique simple qui pourrait réaliser la fonction OU:

Page 3: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

3

Figure 4 : Porte OU, Schéma

entrée

entrée

sortie

courant

aimant

OU

Un signal électrique à l'entrée actionne un aimant provoquant la fermeture de la porte et permettant le passage du courant. Disons tout de suite, qu'un tel circuit est tout à fait démodé. Sa grande simplicité nous permet cependant de bien comprendre ce que fait le circuit. Nous aborderons plus loin les technologies de maintenant. 1.1.1 La porte ET . Un circuit ET possède, tout comme le OU, deux ou plusieurs entrées et une sortie. Le ET correspond au produit logique ( ⋅ ) ou X ou encore a l’intersection ∩ Figure 5 : Porte ET, Table de vérité

TABLE DE VÉRITÉ

a b 0 0 0 0 1 0 1 0 0 1 1 1

0 1 0 0 0 1 0 1

a b

a b .entrées sortie

L'opération de multiplication peut comme les précédentes s'étendre aux chaînes binaires.

Page 4: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

4

Figure 6 : Porte ET, Table binaire

0 0 0 1 ET 0 0 1 1

0 1 0 1

On représente la porte ET par le symbole suivant: Figure 7 : Porte ET, Symbole

a

b a b [ ou ( a b )]

On pourrait décrire simplement le fonctionnement de la porte ET avec ce circuit primitif: Figure 8 : Porte ET, Schéma

entrée

entrée

sortie

courant

aimant

ET

1.1.2 La porte NON . La porte NON a une entrée et une sortie. Les deux ont toujours des valeurs opposées. C'est donc dire que si la valeur 0 se présente à l'entrée, on aura la valeur 1 à la sortie et vice-versa. On peut résumer l'effet de cet opérateur unaire dans la table de vérité suivante:

Page 5: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

5

Figure 9 : Porte NON, Table de vérité

TABLE DE VÉRITÉ

aNONentrée sortie

a a

0

1 0

1

Par convention on note A l’inverse de A. L'exemple suivant montre l'opération d'inversion inversion étendue à une chaîne binaire: Figure 10 : Porte NON, Table binaire

NON 1 0 1 0 1 1 0 0 1 0 1 0 0 1

Figure 11 : Porte NON, Symbole Dans les dessins des circuits, on représente la porte NON par le symbole suivant:

a a

Le fonctionnement de la porte NON pourrait s'illustrer par le circuit primitif suivant:

Page 6: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

6

Figure 12 : Porte NON, Schéma

sortie

courant

aimant

entrée

NON

Remarque: La porte OU et la porte ET peuvent être inversées pour former les portes NON-OU (NOR) et NON-ET (NAND). L'inversion est représentée graphiquement par un petit cercle à la sortie. Figure 13 : Porte NON-ET, NON-OU, Symbole

NON-OU NON-ET Les tables de vérité deviennent: Figure 14 : Porte NON-ET, NON-OU, Table de vérité

TABLE DE VERITÉ PORTE NON-ET

a b a ⋅ b 0 0 1 0 1 1 1 0 1 1 1 0

TABLE DE VERITÉ

a b a + b 0 0 1 0 1 0 1 0 0 1 1 0

PORTE NON-OU

.

Page 7: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

7

1.1.3 Le OU-exclusif . On peut retrouver la fonction et sa table de vérité à partir du circuit, il suffit de se rappeler la signification de chaque symbole. Voyons l'exemple suivant. Figure 15 : Porte XOU, Schéma

sortie b

a

b

a b

a b

a b + a b

a

La table de vérité recherchée du circuit est alors la suivante: Figure 16 : Porte Xou, Table de vérité Table de vérité

a b S 0 0 0 0 1 1 1 0 1 1 1 0

Le tableau suivant nous permet de reconstruire la table de vérité. Pour faciliter le travail, on ajoute, si on veut, quelques colonnes servant à noter certains résultats intermédiaires. Figure 17 : Porte XOU, Table de vérité équivalente

A b a b a b• a b• ( ) ( )a b a b• + • 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0

Page 8: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

8

Ce circuit, où la sortie est vraie (=1) seulement si les deux entrées sont différentes, est très utilisé en pratique. Malgré sa complexité apparente, il est plus simple à réaliser électroniquement et cela pour plusieurs technologies qu'un ET ou un OU. Il est nommé OU-EXCLUSIF ou XOR. Dans les dessins des circuits électroniques, on le représente par le symbole suivant: Figure 18 a

b a b =+ a b a b +

Ce circuit pourrait être utilisé pour faire l'addition de deux bits (sans tenir compte de la retenue). Il représente à la sortie la fonction f(a,b):

( , ) ( ) ( )f a b a b a b= • + • 1.1.4 Circuits équivalents . On peut maintenant se demander si plusieurs circuits différents peuvent représenter la même fonction. La réponse est affirmative. Tout comme il existe une infinité d'expressions mathématiques qui donnent, par exemple, le résultat 5:

7 - 2 = 5 15 / 3 = 5 9 - 4 = 5 2 + 3 = 5

Il existe une infinité de circuits qui peuvent représenter une fonction booléenne donnée, tout comme il existe une infinité de programmes C qui peuvent produire le même résultat. Ainsi, on peut démontrer, à titre d'exemple, que la fonction

( ) ( )S a b a b= + • • possède la même table de vérité que la fonction

( ) ( )S a b a b= • + • Les fonctions sont alors dites équivalentes. On peut facilement construire le circuit de cette fonction équivalente, et on obtient:

Page 9: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

9

a b S

Comme nous le verrons plus loin, cette fonction correspond à un additionneur. Il additionne deux entrées booléennes sans tenir compte d'une retenue. On a alors le principe suivant: Deux fonctions logiques sont dites équivalentes si, et seulement s,i les valeurs de leurs sorties sont les mêmes pour chacune des configurations identiques de leurs variables d'entrée. Note: Certains circuits sont plus faciles à réaliser que d'autres car ils ont moins d'éléments de base équivalents aux transistors conventionnels. Ainsi, on considère souvent que les portes NON-ET et NON-OU sont élaborées avec deux équivalents transistors alors que les portes ET et OU en nécessitent trois. C'est un peu pour cette raison que beaucoup de circuits qu'on retrouve dans les ordinateurs d'aujourd'hui sont construits avec des portes NON-ET et NON-OU. Une autre raison pour laquelle les portes NON-OU et NON-ET sont plus largement utilisées que les autres, c'est que ces portes sont dites complètes, c'est à dire qu'on peut réaliser n'importe quelle fonction booléenne avec uniquement l'une ou l'autre de ces portes. Parmi les portes élémentaires, seules les portes NON-ET et NON-OU possèdent cette particularité. La notion de circuits équivalents sera utilisée afin de construire des circuits complexes au meilleur coût selon la technologie qu'il utilise. Le constructeur pourra décider, par exemple, de trouver une fonction équivalente qui utilise des portes NON-ET et NON-OU au lieu d'une fonction qui utilise des portes OU et ET, afin de construire un circuit moins coûteux pour certaines technologies. 1.1.4.1 Exemple de circuits équivalents . Imaginons que, pour répondre à des contraintes économiques, on veut construire un additionneur qui soit équivalent au circuit précédent, mais qui soit construit uniquement à partir de portes NON-ET. Le dessin de ce circuit aurait l'allure suivante:

AB

C

D

Page 10: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

10

Les deux fonctions de ce circuit sont:

C AAB ABBD AB

= •=

où la fonction C est l'additionneur proprement dit, tandis que la fonction D est celle qui produit une retenue. À partir de ces fonctions, on peut reconstituer la table de vérité en construisant le tableau suivant:

A B AB AAB ABB AAB ABB• AAB ABB• 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0

La table de vérité est la même. Cela confirme bien l'équivalence de ces deux circuits. 1.1.4.2. Réalisation de portes logiques de base à l’aide des portes NON-ET (voir en classe, page 57)

1. Porte NON : 2. Porte ET : 3. Porte OU :

1.2. Règles de l’algèbre de Boole . Puisque des circuits équivalents peuvent être construits avec un nombre plus ou moins grand de portes, on tentera de trouver la fonction optimale. Pour ce faire, il faut simplifier la fonction en y appliquant les règles de l'algèbre de Boole. La table ci-dessous résume l’essentiel de ces règles. Noter que la table de Boole est présentée sous deux formes : une pour l’opérateur ET et l’autre pour l’opérateur OU.

Page 11: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

11

Principales règles de l’algèbre de Boole. Loi Multiplication Addition

ET OU Nullité 1 0 0a • = 2 a + 1 = 1 Identité 3 1a a• = 4 a + 0 = a Idempotence 5 a a a• = 6 a + a = a Inversion 7 0a a• = 8 1a a+ = Commutativité 9 a b b a• = • 10 a + b = b + a Absorption 11 ( )a a b a• + = 12 ( )a a b a+ • = Distributivité 13 ( ) ( ) ( )a b c a b a c+ • = + • + 14 ( )a b c a b a c• + = • + • Associativité 15 ( ) ( )a b c a b c• • = • • 16 a + (b + c) = (a + b) + c De Morgan 17 ab a b= + 18 a b a b+ = •

Les égalités suivantes sont aussi utiles: 19. a b a b a• + • = 20. ( )a b a a b+ = + • 21. ( ) ( ) ( )a b a b a b a b+ = • + • + • 22. ( ) ( )a b a b a• + • = 23. ( ) ( ) ( ) ( ) 1a b a b a b a b• + • + • + • = 24. ( ) ( ) ( ) ( )a b a b a b a b+ + + = • + • 25. ( ) ( ) ( ) ( )a b a b a b a b+ • • = • + •

26. a a= Note : Ces lois peuvent être prouver de deux manières différentes : algébrique ou tabulaire. Méthode algébrique : cette méthode consiste à prouver d’une manière analytique en auyant recours à d’autres lois ou postulats. Par exemple, nous allons démontrer le théorème ( de l’idempotence- loi 6) suivant :

a + a = a

1)( •+=+ aaaa (théorème de l’élément identité; loi 3)

)()( aaaaaa +•+=+ (théorème de l’inversion; loi 8)

)( aaaaa •+=+ (théorème de distributivité; loi 13)

0+=+ aaa (théorème de l’inversion; loi 7)

Page 12: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

12

aaa =+ (théorème de l’élément d’identité; loi 4) Exemple 2 (méthode tabulaire): Comme les variables logiques ne prennent que deux valeurs, la méthode tabulaire consiste à énumérer tous les cas possibles et à vérifier pour chaque cas, la véracité de la loi. On dit que la preuve est le résultat d’un raisonnement par induction. Par exemple, la loi de Morgan est prouvée comme suit :

A B A B BA • BA + BA • BA + 0 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0

Comment tranformer une table de vérité en une fonction analytique Il est clair qu’il est plus commode de manipuler une fonction qu’une table de vérité. Dans cette section, nous allons voir comment passer d’une table de vérité à une fonction qui lui correspond. À partir de la table de vérité, nous pouvons avoir deux formes analytiques, dénommées formes canoniques. Pour montrer les deux formes canoniques que nous pouvons obtenir à partir de la table de vérité, nous allons considérer une table quelconque définie comme suit :

A B C F(A,B,C)0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0

Pour chacune des huit combinaisons de trios variables (000, 001, … 111), on peut définir un terme produit, qu’on appelle minterme, égal au ET des variables qui composent cette combinaison (A ou A , B ou B et C ou C ). Par exemple, pour la combinaison A = 0, B = 1 et C = = 1, le minterme s’exprime par CBA •• ; la combinaison A =1, B = 0 et C =0 s’exprime par

CBA •• . La fonction logique F prend la valeur 1 pour chaque fois qu’un minterme prend lui aussi la valeur 1. Par conséquent, on pourra exprimer une fonction logique F quelconque en effectuant la somme logique de tous les mintermes pour lesquelles F = 1. Ainsi, pour notre exemple, on aura :

Page 13: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

13

CBACBACBACBACBACBAF ••+••+••+••+••=),,(

Cette forme d’écriture s’appelle forme canonique P. Il existe une autre forme, qu’on appelle forme canonique S pour exprimer la fonction logique en question. En effet, au lieu d’utiliser le produit, on utilise la somme. Ainsi, Pour chacune des huit combinaisons de trios variables (000, 001, … 111), on peut définir un terme somme, qu’on appelle minterme, égal au ou des variables qui composent cette combinaison (A ou A , B ou B et C ou C ). Par exemple, pour la combinaison A = 0, B = 1 et C = 1, le minterme s’exprime par

CBA ++ ; la combinaison A =1, B = 0 et C = 0 s’exprime par CBA ++ . La fonction logique F prend la valeur 0 pour chaque fois qu’un minterme prend lui aussi la valeur 0. Par conséquent on pourra exprimer une fonction logique F quelconque en effectuant le produit logique de la somme tous les mintermes pour lesquelles F = 0. Ainsi, pour notre exemple, on aura :

)(()()(),,( CBACBACBACBAF ++•++•++= Cette forme d’écriture s’appelle forme canonique P. Il y a lieu de noter que ces deux formes d’écriture de la fonction F sont équivalentes, puisqu’elles expriment la même fonction F. Pour prouver cette affirmation, nous allons reconsidérer sa table de vérité. Si, pour une ligne, la fonction F vaut 0, son minterme correspondant vaut lui aussi 0. Par conséquent, la fonction 0 vaut 0 pour la somme des minterme qui valent 0. Autrement dit, une autre manière d’écrire la fonction canonique P de la fonction logique F est :

)()()(),,( CCACBACBACBAF ••+••+••= En effet, en considérant le complément de cette dernière expression, nous pouvons effectuer la succession suivante d’opérations logiques

CBACBACBACBAFCBAF ••+••+••== ),,(),,(

= )()()( CBABACBAC ••••••••

= ( ) ( ) ( )CBACBACBA ++•++•++ = ( ) ( ) ( )CBACBACBA ++•++•++ ce qui vérifie l’équivalence des formes canoniques.

Page 14: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

14

Simplification des fonctions logiques Les deux formes canoniques d’une fonction logique sont équivalentes, mais habituellement aucune d’entre-elles n’en constitue l’expression la plus simple. En pratique, on souhaite simplifier une fonction logique définie par sa table de vérité. Par simplification, on cherche à obtenir une écriture plus succincte, qui contienne moins de variables et moins de termes produits (ou sommes), donc qui conduise à une réalisation matérielle plus simple et aussi moins coûteuse. Les méthodes de simplification utilisent les loi de l’algèbre de Boole. Il existe deux manières de procéder : manipulation algébrique et tables de Karnaugh. 1. Manipulation algébrique : en utilisant d’une manière adéquate les règles de l’algèbre de Boole, on arrive souvent à simplifier la formule de départ. Exemple : soit la forme suivante :

CBACBACBACBACBACBAF ••+••+••+••+••=),,(

Conformément au théorème de distributivité précédent, nous pouvons grouper les termes produits qui contient deux variables identiques. De la même manière, conformément au théorème de d’idempotence, le processus de groupement nous permet d’utiliser un terme produit plusieurs fois. Par conséquent,

)()()()(),,( BBCACCBAAACBBBCACBAF +••++••++••++••=

En considérant le théorème de l’inversion et celui de l’élément d’identité, nous pouvons éliminer les parenthèses de la relation ci-dessus, ce qui conduit à la relation suivante :

CABACBCACBAF •+•+•+•=),,( D’où, après un autre regroupement, on obtient :

)))(),,( BACBAACCBAF •+•++•= Finalement, après l’élimination de la dernière parenthèse et à l’aide du théorème d’absorptio, nous arrivions à l’expression simplifiée suivante de la fonction F(A,B,C) :

BACCBAF •+=),,(

Le schéma de cette fonction est comme ci-dessous (voir en classe) :

Page 15: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

15

2. Diagramme de Karnaugh Parce que la simplification par la manipulation algébrique est difficile, l’informaticien préfère des méthode graphiques de simplification, et depuis peu, des méthodes implantées par programme. La méthode graphique de simplification la plus connue est celle du diagramme de Karnaugh, facile à utiliser pour la simplification des fonctions booléennes ayant jusqu’à six variables. Le diagramme de Karnaugh d’une fonction logique est une transformation graphique de la table de vérité qui permet la visualisation de tous les mintermes. Si une fonction logique dépend de n variables alors elle peut avoir n2 mintermes. Chacun de ces mintermes est représenté par une case dans le diagramme de Karnaugh. Les cases sont placées d’une façon telle que les mintermes qui ne différent que par l’etat d’une seule variable, appelée minterme adjacents, ont une frontière commune sur une ligne ou sur une colonne, ou bien se trouvent aux extrémités d’une ligne ou d’une colonne (fonctions ayant jusqu’à 4 variables). Les figures ci-dessous représentent les diagrammes de Karnaugh pour deux, trois et quatre variables et ce dans la forme canonique P. Les figures de tables de tables de Karnaugh Les inclure ici en classe (page 43).

Méthode de Karnaugh

• transposition du tableau de vérité dans un tableau de Karnaugh ; • réalisation des groupements de 1, 2, 4, 8 termes ; • minimisation des groupements (maximisation des termes dans un groupement) ; • si groupement d'un terme, alors on ne fait rien ; • si 2 termes, on élimine la variable qui change d'état et on conserve le produit des variables

directes ou inverses qui n'ont pas changé d'état dans le groupement ( ) ; • pour 4 termes, on élimine les 2 variables qui changent d'état ; • pour 8 termes, on élimine les 3 variables qui changent d'état ; • l'expression logique finale est la réunion des groupements après élimination des variables.

Un groupement se fait comme suit :

1- Toutes les cellules adjacentes contenant un 1 sont regroupées ensemble 2- Le groupe doit avoir une forme rectangulaire 3- Le nombre de cellules contenant un 1 de chaque groupe doit être une puissance de 2

Page 16: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

16

Étude de quelques exemples M =

N =

P =

R =

S =

T =

Voir aussi en classe pages 46, 47. Les valeurs indifférentes (X) Certaines fonctions logiques sont dites incomplètement définies: certaines combinaisons de leurs variables d'entrées ne sont supposées jamais se produire ou ne pas avoir d'effet sur le résultat. On appelle ces combinaisons valeurs indifférentes (don't care values) et on les note par ‘X’ dans les tables de vérités. Dans les diagrammes de Karnaugh, on les considère comme des 1 seulement pour faire des groupements plus grands, et donc des simplifications plus grandes.

1 1 1 1

1 1 1 1

0 1 1 0

0 1 1 0

0 0 1 0

1 0 1 1

1 1 1 1

0 0 1 0

0 1 1 0

1 0 0 1

1 0 0 1

0 1 1 0

0 1 0 1

1 0 1 1

0 1 0 1

1 1 1 1

1 0 0 1

0 1 1 0

0 1 1 0

1 0 0 1

1 0 0 1

1 1 1 1

1 1 0 0

0 0 0 0

Page 17: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

17

Exemples M =

N =

P =

R =

S =

T =

2.1. Conception d’un circuit logique L’ordinateur utilise l’information binaire, forme imposée par la nature électronique des circuits qui composent ses blocs fonctionnels. Dans ce genre de circuits, les points significatifs, ceux où l’information est saisie, se comportent comme des interrupteurs. Un tel point significatif, à l’entrée ou à la sortie, se trouve soit à la tension haute soit à la tension basse. En connaissant le rôle fonctionnel du circuit que l’on désire construire, on peut définir la fonction de chaque sortie en utilisant les tables de tensions dont l’élaboration est semblables à celle des tables de vérité qu’on a vues précédemment. Par conséquent, les relations et méthode de l’algèbre de Boole peuvent être utilisées pour faire l’analyse et la synthèse des circuits d’un ordinateur, si

X 1 1 1

0 X 1 0

0 0 1 0

0 0 1 0

0 0 1 0

1 0 1 1

1 1 1 1

0 0 1 0

1 1 X 1

0 1 X 1

0 0 X X

0 1 X X

0 1 X 1

0 1 X 1

1 0 X X

1 1 X X

0 1 X 0

0 1 X 1

0 1 X X

1 0 X X

1 0 X 1

0 1 X 1

1 1 X X

0 1 X X

1 1 X 1

0 0 X 0

0 0 X X

1 1 X X

Page 18: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

18

on introduit une convention selon laquelle les deux valeurs de tensions sont remplacées par les valeur logique 1 et 0. Par ailleurs, les circuits logiques d’un ordinateurs sont divisées en deux catégories suivant leur structure fonctionnelles : les circuits combinatoires et circuits logiques.. Définition : Un circuit est dit combinatoire si les sorties ne dépendent que des valeurs assignées aux valeurs d’entrée au moment considéré. Autrement dit, dans un tel circuit, le comportement des sorties peut toujours être exprimé pas des fonctions logiques. Définition : Un circuit est dit séquentiel si les sorties le comportement des sorties dépend des valeurs assignées aux variables ‘entrée et selon son histoire. De tels circuits contiennent une mémoire à côté d’une partie combinatoire. Cette mémoire a pour rôle de conserver l’histoire du circuit, histoire qui peut influencer les sorties pour une nouvelles combinaison de valeurs assignées aux entrées. L’information qui se trouve en mémoire à un moment donné définit l’état du circuit séquentiel. L’état suivant et le comportement des sorties sont déterminés par l’état actuel et la combinaison des valeurs données aux entrées. Par conséquent, un circuit séquentiel se caractérise par une séquence de signaux aux entrées et une séquence d’états pour chaque séquence de signaux appliquées aux entrées. Dans ce qui suit, on ne va parler que de circuits combinatoires.

E1En

S1Sm

partiecombinatoire

Variables d’entrée

S 1Sm

partieCombinatoire

mémoire

Fonctions de sortie

États

fonctions d’entrée

Variables d’entrée E1 En

Page 19: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

19

Circuits combinatoires Habituellement, on ne reconstruit pas une fonction à partir de la représentation du circuit, mais on fait plutôt l'inverse: à partir d'un problème donné, on construit la table de vérité afin de dégager la fonction. Ensuite, on construit le circuit en utilisant les portes requises pour représenter cette fonction. D'une façon générale, la démarche est la suivante: 1. Identifier les entrées et les sorties (IN / OUT) de la fonction. 2. Construire la table de vérité. 3. Identifier la fonction à partir de la table de vérité. 4. Simplifier la fonction. 5. Dessiner le schéma du circuit.

2.2. Quelques exemples de circuits simples . 2.2.1 Le semi-additionneur Il s'agit de réaliser un circuit permettant d'additionner 2 bits d'entrée, et d'obtenir comme sortie le résultat de l'addition et la retenue:

SEMI-ADDITIONNEUR x y

S R

Table de vérité du semi-additionneur X y S R 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1

Page 20: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

20

On a deux fonctions la fonction S et la fonction R.

( , )( , )

S x y x y xyR x y xy

= +=

Noter que ces deux fonctions ne peuvent plus être simplifiées.

x

y

R (retenue)

S (somme)

Dessin du circuit:

Page 21: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

21

2.2.2 L'additionneur Le semi-additionneur permet d'additionner deux bits, et de donner la somme et la retenue. L'additionneur complet tient compte non seulement des deux entrées, mais aussi de la retenue obtenue lors de l'addition des deux valeurs de la position précédente. On a alors, pour l'addition des deux valeurs de position n, les entrées suivantes: xn, yn et Rn-1 ( la retenue de l'addition des deux valeurs de la position n-1).

ADDITIONNEUR n-1

A B R

SR

n n

n

n

entrées sorties

Table de vérité de l'additionneur An Bn Rn-1 Sn Rn 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1

Les deux fonctions réunies nous donnent le circuit suivant:

Page 22: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

22

A

B

R

S

R

n

n-1

n

n

n

2.2.3 L'additionneur à n bits L'additionneur que nous venons de dessiner additionne deux bits de même position. On pourrait concevoir un additionneur qui additionnerait des nombres de plusieurs bits de longueur, tout simplement en jumelant plusieurs additionneurs. Notez que la retenue de départ est nulle.

......

AA A A B B B B

0 1 2 n-1

0 1 2 n-1

S S S S

R R R

R0 1 2 n-1

0 1 2

n-1

...

.........

...

............

Page 23: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

23

2.2.4 Le comparateur. Imaginons maintenant, à titre d'exercice, un circuit qui ferait le traitement suivant: Si A > B alors S = 1 sinon S = 0 où A et B sont des nombres binaires sur deux bits, i.e. A = A1A0 et B = B1B0. Il s'agit d'un comparateur (ou structure de choix).

Table de vérité du comparateur A1 A0 B1 B0 S 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0

Avec la fonction simplifiée, on obtient le circuit suivant:

0 0 1 1 1 1 1 1( )S A B A B A B A B= + +

Page 24: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

24

S

A

A

B

B

0

1

0

1

On pourrait aussi simplifier la fonction de façon à utiliser une porte XOR On obtiendrait alors le circuit suivant pour le comparateur:

1 1 0 0 1 1( , ) (( ) ( )) ( )S A B A B A B A B= ⊕ • • + •

S

A

A

B

B

0

1

0

1

Page 25: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

25

Autre façon de concevoir le comparateur. Pour savoir si A > B, nous pouvons procéder autrement. Au lieu de comparer les deux chaînes binaires entrées, on pourrait comparer les bits de même rang de chacune des deux chaînes binaires: si A1 > B1 alors S 1 sinon si ( A1 = B1 et A0 > B0) alors S 1 sinon S 0 Nous devons d'abord dessiner deux circuits: un circuit qui compare deux bits (qu'on utiliserait avec les deux paires d'entrées A1 B1 et A0 B0) et un autre circuit qui vérifie si deux bits sont égaux.

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

Comparaison de deux bits de même rang

Si A > B alors C <- 1 sinon C <- 0 > C A

B

C AB= 2.2.5 Circuit de la non-égalité (différence) . On peut reprendre ce circuit équivalent ÉGA pour construire un circuit qui vérifie si deux valeurs sont différentes: en effet, on a: C = 1 lorsque A = B et, par opposition: C = 0 lorsque A <> B C vérifie donc l'égalité.

Page 26: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

26

2.3. Décodeur 3 à 8 . Ce circuit permet la sortie en F d'une seule des huit entrées laquelle est déterminée par le nombre exprimé en binaire A B C fourni à l'entrée. Table de vérité du DÉCODEUR 3 à 8 A B C A B C D0 D1 D2 D3 D4 D5 D6 D7 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0

Page 27: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

27

2.4. Unité arithmétique et logique à 1 bit. Ce circuit permet d'effectuer les opérations logiques, l'addition binaire, la multiplication sur deux bits élémentaires, l'opération étant déterminée par un décodeur.

Page 28: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

28

F

F

0

1

A

B

retenue d' e n t r é e

S o r t i e

Ret enue sort ie

A B

A + B

B

A D D I T I O N N EUR

U N I T É LO G I Q U E

D É C O D E U R

Page 29: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

29

2.5. Multiplexeur à 8 entrées .

Table de vérité du MULTIPLEXEUR à 8 fonctions

A B C A B C F 0 0 0 1 1 1 D0 0 0 1 1 1 0 D1 0 1 0 1 0 1 D2 0 1 1 1 0 0 D3 1 0 0 0 1 1 D4 1 0 1 0 1 0 D5 1 1 0 0 0 1 D6 1 1 1 0 0 0 D7

Ce circuit permet de fournir en binaire sur trois bits un numéro à l'entrée et d'activer la sortie correspondante.

Page 30: CHAPITRE 3 LES CIRCUITS LOGIQUES. - uqac.ca · On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou traitent des variables booléennes, c'est

Richard Tremblay et Djamal Rebaïne chapitre 3 : algèbre de Boole et circuit logiques

30

D

0

1

2

3

4

5

6

7

D

D

D

D

D

D

D

A B C

F

M U L T I PLEXEUR 8 ENT RÉES