Telechargé par Loli Bts

CHAPITRE3recover

publicité
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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 +.
1
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Figure 1 : Porte OU. Table de vérité
TABLE DE VÉRITÉ
aUb
+ 0
0 0
1 1
1
1
1
entrées
sortie
a
b
a+b
0
0
1
1
0
1
0
1
0
1
1
1
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
0011
OU
0111
0101
Pour représenter la porte OU dans les circuits, on utilise le symbole suivant:
Figure 3 : Porte OU, Symbole
a
a + b (a U b)
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:
2
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Figure 4 : Porte OU, Schéma
aimant
sortie
entrée
entrée
OU
courant
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
0
1
0
0
0
1
0
1
b
entrées
a
b
0
0
1
1
0
1
0
1
sortie
.
a b
0
0
0
1
L'opération de multiplication peut comme les précédentes s'étendre aux chaînes binaires.
3
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Figure 6 : Porte ET, Table binaire
0011
ET
0001
0101
On représente la porte ET par le symbole suivant:
Figure 7 : Porte ET, Symbole
a
a
b
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
aimant
sortie
entrée
entrée
ET
courant
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:
4
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Figure 9 : Porte NON, Table de vérité
TABLE DE VÉRITÉ
NON a
entrée
sortie
a
a
0
1
1
0
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
1010110
NON
0101001
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:
5
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Figure 12 : Porte NON, Schéma
sortie
NON
aimant
entrée
courant
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
TABLE DE VERITÉ
PORTE NON-OU
a
0
0
1
1
b
0
1
0
1
a+b
1
0
0
0
a
0
0
1
1
6
b
0
1
0
1
a ⋅ b
1
1
1
0
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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
a
a
a b
a b + ab
b
sortie
a b
b
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
1
1
0
1
0
1
0
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
0
0
1
1
b
0
1
0
1
a
1
1
0
0
b
1
0
1
0
a •b
0
1
0
0
a •b
0
0
1
0
7
( a • b ) + ( a • b)
0
1
1
0
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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
15 / 3
9 -4
2 +3
=
=
=
=
5
5
5
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:
8
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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 NONET 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:
C
A
B
D
9
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Les deux fonctions de ce circuit sont:
C = AAB • ABB
D = 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
0
0
1
1
B
0
1
0
1
AB
1
1
1
0
AAB
1
1
0
1
AAB • ABB
1
0
0
1
ABB
1
0
1
1
AAB • ABB
0
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.
10
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Principales règles de l’algèbre de Boole.
Loi
Nullité
Identité
Idempotence
Inversion
Commutativité
Absorption
Distributivité
Associativité
De Morgan
1
3
5
7
9
11
13
15
17
Multiplication
ET
a•0 = 0
a •1 = a
a•a = a
a•a = 0
a •b = b•a
a • ( a + b) = a
a + (b • c) = (a + b) • (a + c)
a • (b • c) = (a • b) • c
ab = a + b
Addition
OU
2
4
6
8
10
12
14
16
18
a+1=1
a+0=a
a+a=a
a + a =1
a+b=b+a
a + ( a • b) = a
a • (b + c) = a • b + a • c
a + (b + c) = (a + b) + c
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. (a • b) + (a • b) + (a • b) + (a • b) = 1
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
a + a = (a + a ) • 1 (théorème de l’élément identité; loi 3)
a + a = (a + a ) • (a + a ) (théorème de l’inversion; loi 8)
a + a = a + (a • a ) (théorème de distributivité; loi 13)
a + a = a + 0 (théorème de l’inversion; loi 7)
11
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
a + a = a (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
0
0
1
1
B
0
1
0
1
A
1
1
0
0
A• B
1
0
0
0
B
1
0
1
0
A+ B
1
1
1
0
A• B
1
1
1
0
A+ B
1
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
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(A,B,C)
1
0
1
0
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 A • B • C ; la combinaison A =1, B = 0 et C =0 s’exprime par
A• B •C .
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 :
12
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
F ( A, B, C ) = A • B • C + A • B • C + A • B • C + A • B • C + A • B • C
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
A + B + C ; la combinaison A =1, B = 0 et C = 0 s’exprime par A + B + C .
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 :
F ( A, B, C ) = ( A + B + C ) • ( A + B + C ) • (( A + B + C )
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 :
F ( A, B, C ) = ( A • B • C ) + ( A • B • C ) + ( A • C • C )
En effet, en considérant le complément de cette dernière expression, nous pouvons effectuer la
succession suivante d’opérations logiques
F ( A, B, C ) = F ( A, B, C ) = A • B • C + A • B • C + A • B • C
= (C • A • B ) • (C • A • B) • ( A • B • C )
(
)(
)(
)
= (A + B + C ) • (A + B + C ) • (A + B + C )
= A+ B+C • A+ B+C • A+ B+C
ce qui vérifie l’équivalence des formes canoniques.
13
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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 :
F ( A, B, C ) = A • B • C + A • B • C + A • B • C + A • B • C + A • B • C
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,
F ( A, B, C ) = A • C • ( B + B ) + B • C • ( A + A) + A • B • (C + C ) + A • C • ( B + B )
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 :
F ( A, B, C ) = A • C + B • C + A • B + A • C
D’où, après un autre regroupement, on obtient :
F ( A, B, C ) = C • ( A + A) + B • C ) + A • B)
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) :
F ( A, B, C ) = C + A • B
Le schéma de cette fonction est comme ci-dessous (voir en classe) :
14
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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 2 n 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
15
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Étude de quelques exemples
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
M=
N=
P=
0
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
1
S=
T=
R=
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.
16
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
Exemples
X
1
1
1
0
1
X
0
1
0
X
1
0
X
1
0
0
1
X
1
0
1
X
1
0
0
1
0
0
1
X
X
1
1
X
X
0
0
1
0
1
0
X
X
0
1
X
X
M=
N=
0
1
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
1
1
1
X
X
X
X
0
1
1
0
1
0
X
X
P=
1
1
X
1
0
1
X
1
0
1
X
1
0
1
X
1
0
0
X
X
1
0
X
X
0
1
X
X
1
1
X
X
S=
T=
R=
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
17
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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.
E1
En
Variables d’entrée
partie
combinatoire
S1
Sm
fonctions d’entrée
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.
E1
Variables d’entrée
En
partie
Combinatoire
S1
Sm
États
mémoire
Dans ce qui suit, on ne va parler que de circuits combinatoires.
18
Fonctions de sortie
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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.
2.
3.
4.
5.
Identifier les entrées et les sorties (IN / OUT) de la fonction.
Construire la table de vérité.
Identifier la fonction à partir de la table de vérité.
Simplifier la fonction.
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:
x
SEMI-ADDITIONNEUR
S
R
y
Table de vérité du semi-additionneur
X
0
0
1
1
y
0
1
0
1
S
0
1
1
0
R
0
0
0
1
19
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
On a deux fonctions la fonction S et la fonction R.
S ( x, y ) = x y + xy
R ( x, y ) = xy
Noter que ces deux fonctions ne peuvent plus être simplifiées.
Dessin du circuit:
x
y
R (retenue)
S (somme)
20
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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).
entrées
An
Bn
sorties
Sn
Rn
ADDITIONNEUR
Rn-1
Table de vérité de l'additionneur
An
0
0
1
1
0
0
1
1
Bn
0
1
0
1
0
1
0
1
Rn-1
0
0
0
0
1
1
1
1
Sn
0
1
1
0
1
0
0
1
Les deux fonctions réunies nous donnent le circuit suivant:
21
Rn
0
0
0
1
0
1
1
1
Richard Tremblay et Djamal Rebaïne
A
chapitre 3 : algèbre de Boole et circuit logiques
n
Bn
R
n-1
Sn
Rn
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.
...
...
...
0
1
2
...
A
A
A
A
...
...
...
...
B0
B1
B2
...
n-1
...
Bn-1
...
R
S
0
R2
R1
0
S2
S1
22
Sn-1 R n-1
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
A0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
B1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
B0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Avec la fonction simplifiée, on obtient le circuit suivant:
S = A0 B0 ( A1 B1 + A1B1 ) + A1 B1
23
S
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
A1
A0
B1
B0
S
On pourrait aussi simplifier la fonction de façon à utiliser une porte XOR On obtiendrait alors le
circuit suivant pour le comparateur:
S ( A, B ) = (( A1 ⊕ B1 ) • ( A0 • B0 )) + ( A1 • B1 )
A1
A0
B1
B0
S
24
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
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.
Comparaison de deux bits de même rang
Si A > B alors C <- 1
sinon C <- 0
A
0
0
1
1
A
B
B
0
1
0
1
>
C
C
0
0
1
0
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é.
25
Richard Tremblay et Djamal Rebaïne
2.3.
chapitre 3 : algèbre de Boole et circuit logiques
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
C D0
A
B
C
A
B
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
26
Richard Tremblay et Djamal Rebaïne
2.4.
chapitre 3 : algèbre de Boole et circuit logiques
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.
27
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
r et enue d' en t ré e
U N I T É LOGI QU E
AB
A
A+B
B
B
S
o
r
t
i
e
F0
A D D I T I ON N EUR
F
1
D ÉC OD EU R
Ret enue so rt ie
28
Richard Tremblay et Djamal Rebaïne
2.5.
chapitre 3 : algèbre de Boole et circuit logiques
Multiplexeur à 8 entrées .
Table de vérité du MULTIPLEXEUR à 8 fonctions
C
A
B
C
A
B
F
0
0
0
0
1
1
1
1
D0
D1
D2
D3
D4
D5
D6
D7
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
Ce circuit permet de fournir en binaire sur trois bits un numéro à l'entrée et d'activer la sortie
correspondante.
29
Richard Tremblay et Djamal Rebaïne
chapitre 3 : algèbre de Boole et circuit logiques
MUL T I PLEXEUR 8 ENT RÉES
D0
D1
D2
D3
F
D4
D5
D6
D7
A
B
C
30
Téléchargement