SlideShare une entreprise Scribd logo
1  sur  80
Télécharger pour lire hors ligne
Unité : Sytémes logiques 1 (SysLog1)
Portes logiques et algèbre de Boole,
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
Portes logiques
et algèbre de Boole
E. Messerli & R. Mosqueron
Septembre 2021
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 1
Portes logiques et algèbre de Boole,
Polycopié : Electronique numérique
 Portes logiques et algèbre de Boole
chapitre 4, pages 35 à 54
 Circuits logiques combinatoires
▪ Simplification, tables de Karnaugh
chapitres 5-1 à 5-6, pages 55 à 64
 Symboles utilisés
chapitre 4-9, pages 46 et 47
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 2
Portes logiques et algèbre de Boole,
Principe de la logique (postulat) …
 Être logique, c’est :
avoir une réponse unique sans contradiction
 Pas d’Affirmation et de Négation en même temps !!!
▪ Une lampe ne peut jamais être Allumée (ON) et Eteinte (OFF) en même temps
0
OFF
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 3
Portes logiques et algèbre de Boole,
… principe de la logique (postulat) …
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 4
 Être logique, c’est
avoir une réponse unique sans contradiction
 Pas d’Affirmation et de Négation en même temps !!!
▪ Une lampe ne peut jamais être Allumée (ON) et Eteinte (OFF) en même temps
1
ON
Portes logiques et algèbre de Boole,
… principe de la logique (postulat)
 On voit clairement une variable binaire :
▪ symbolisé par les états '0' et '1'
1  ON
0  OFF
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 5
0
OFF 1
ON
Portes logiques et algèbre de Boole,
"La Nature" versus "Monde binaire"
 La nature n'est jamais binaire !
▪ Début du jour ou levé du soleil ?
▪ Heure exacte: 12h00, 12h00'00", …
▪ Impression de froid ou de chaud ?
 Le binaire est utile, mais il ne
représente pas
toute "la nature"
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 6
Ce paysage est vert !
Portes logiques et algèbre de Boole,
Système logique
 C'est un système qui traite l'information de façon logique
 Pour étudier un système logique, il faut connaître les fonctions de
base (les composants) et le langage mathématique qui permet de
décrire un comportement sous forme d’équations
 Pour un additionneur 1 bit :
Z = ƒ (X, Y)
X Y Z
0 0 0
0 1 1
1 0 1
1 1 0
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 7
Portes logiques et algèbre de Boole,
Système binaire
 Système logique qui emploie des informations élémentaires
(signaux) à deux états
 Avantages :
▪ on peut utiliser des interrupteurs comme éléments de base du
système
▪ un signal binaire est plus fiable (détection de 2 états)
▪ les décisions prises dans un système digital sont très souvent
binaires
 En général, les 2 états sont représentées par les chiffres 0
et 1
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 8
Portes logiques et algèbre de Boole,
Quelques définitions
 Etat logique :
▪ chacune des 2 valeurs que peut prendre une variable logique
 Variable logique :
▪ grandeur qui ne peut prendre que les 2 états logiques
 Variable d’entrée (ou simplement entrée) :
▪ information à 2 états reçue par un système logique
 Variable de sortie (ou simplement sortie) :
▪ information à 2 états générée par un système logique
 Fonction logique :
▪ relation logique entre une sortie et une ou plusieurs entrées
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 9
Portes logiques et algèbre de Boole,
 Système combinatoire :
▪ la valeur des sorties à un moment donné dépend uniquement des valeurs des entrées à cet
instant
=> système univoque
▪ le comportement est entièrement spécifié par une table, nommée table de vérité, qui pour
chaque combinaison des entrées donne la valeur des sorties (n entrées=> table de vérité
comporte 2
n
lignes)
▪ la sortie est immédiate
 Système séquentiel :
▪ la valeur des sorties dépend de la valeur des entrées au cours du temps: il faut une mémoire
=> dépend de l'historique
▪ l'obtention d'un résultat peut demander plusieurs étapes, avec mémorisation de résultats
intermédiaires
Types de systèmes logiques
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 10
Portes logiques et algèbre de Boole,
Les portes logiques de bases
 Etude des fonctions d'une variable
▪ Nous verrons la porte logique de base : NON
 Etude des fonctions de deux variables
▪ Nous verrons les portes logiques de base : ET, OU
 Nous verrons ensuite des combinaisons de portes de bases :
▪ Fonction : NON-ET, NON-OU
▪ Fonction : OU-Exclusif
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 11
Portes logiques et algèbre de Boole,
dia volontairement vide
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 12
Portes logiques et algèbre de Boole,
Fonctions d'une variable
F1.0 = 0 constante 0
F1.1 = A transmission
F1.2 = not A = /A
F1.3 = 1 constante 1
fonction utile à seule variable : NON (inversion logique)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 13
Variable Fonctions F1.x
A F1.0 F1.1 F1.2 F1.3
0 0 0 1 1
1 0 1 0 1
Table des fonctions d'une variable :
not
Portes logiques et algèbre de Boole,
Fonction NON (not)
 F1.2 = not A = /A
▪ La sortie du circuit est à l’état logique inverse de son entrée
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 14
A F1.2
0 1
1 0
A A
A A
1
Symbole MIL (US)
Symbole IEEE
Portes logiques et algèbre de Boole,
Fonctions de deux variables …
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 15
Variables Fonctions F2.x
B A F2.0 F2.1 F2.2 F2.3 F2.4 F2.5 F2.6 F2.7
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
Table des 16 fonctions de deux variables (fcts 0 à 7)
F2.0 = 0 F2.4 = not B and A = /B • A
F2.1 = B and A = B • A F2.5 = A
F2.2 = B and not A = B • /A F2.6 = B xor A = B  A
F2.3 = B F2.7 = B or A = B + A
and xor or
Portes logiques et algèbre de Boole,
… fonctions de deux variables …
 Nous pouvons repérer les fonctions :
▪ ET (AND, intersection) = F2.1
▪ OU (OR, réunion) = F2.7
 Autre fonction logique intéressante :
▪ OU-EXCLUSIF (XOR) = F2.6 fonction différence
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 16
Portes logiques et algèbre de Boole,
… fonctions de deux variables …
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 17
Variables Fonctions F2.x
B A F2.8 F2.9 F2.A F2.B F2.C F2.D F2.E F2.F
0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
Table des 16 fonctions de deux variables: (fcts 8 à 15)
F2.8 = /F2.7 = /(B + A) F2.C = /F2.3 = /B
F2.9 = /F2.6 = /(B  A) F2.D = /F2.2
F2.A = /F2.5 = /A F2.E = /F2.1 = /(B • A)
F2.B = /F2.4 F2.F = /F2.0 = 1
nand
nor
xnor
xnor
Portes logiques et algèbre de Boole,
…. fonctions de deux variables
 Les fonctions F2.8 à F2.F sont respectivement les inverses
des fonctions F2.7 à F2.0
 Parmi ces fonctions 3 sont intéressantes :
▪ NON-ET (NAND) fonction universelle
▪ NON-OU (NOR) fonction universelle
▪ NON-OU-EXCLUSIF (XNOR) fonction égalité
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 18
Portes logiques et algèbre de Boole,
Fonction ET (and)
 F2.1 = B . A = B and A
La sortie de la porte « ET » est à 1 si l'entrée A et l'entrée B sont à 1
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 19
B A F2.1
0 0 0
0 1 0
1 0 0
1 1 1
Symbole MIL (US)
Symbole IEEE
A
F2.1
B
&
A
F2.1
B
Portes logiques et algèbre de Boole,
Fonction ET à n entrées
 La définition peut-être étendue à n entrées:
▪ La sortie de la porte « ET » est à 1 si toutes les entrées sont à 1.
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 20
0
0
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
Portes logiques et algèbre de Boole,
Fonction OU (or)
 F2.7 = B + A = B or A
▪ La sortie de la porte « OU » est à 1 si l'entrée A ou B valent 1
(l'une ou l'autre ou les deux)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 21
B A F2.7
0 0 0
0 1 1
1 0 1
1 1 1
Symbole MIL (US)
Symbole IEEE
≥1
A
F2.7
B
A
F2.7
B
Portes logiques et algèbre de Boole,
Fonction OU à n entrées
 La définition peut-être étendue à n entrées:
▪ La sortie du circuit «OU» est à 1 si une entrée est à 1.
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 22
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
0
Portes logiques et algèbre de Boole,
Fonction NON-ET (nand)
 F2.E = /F2.1 = /(B . A) = B nand A
▪ Fonction inverse du ET, soit : la fonction est à 1 si une entrée est à 0 .
▪ Fonction universelle
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 23
B A F2.1 F2.E
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0
Symbole MIL (US)
Symbole IEEE
A
F2.E
B
&
A
F2.E
B
Portes logiques et algèbre de Boole,
Fonction NON-OU (nor)
 F2.8 = /F2.7 = /(B + A) = B nor A
▪ Fonction inverse du OU, soit: la fonction est à 1 si toutes les entrées sont
à 0
▪ Fonction universelle
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 24
B A F2.7 F2.8
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
Symbole MIL (US)
Symbole IEEE
A
F2.8
B
≥1
A
F2.8
B
Portes logiques et algèbre de Boole,
Fonction OU-Exclusif (xor)
 F2.6 = B  A = B xor A
▪ La sortie de la porte « OU-Exclusif » est à 1 si A ou B valent 1, mais pas
les 2 (détecte la différence)
▪ Pas une fonction de base!
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 25
B A F2.6
0 0 0
0 1 1
1 0 1
1 1 0
Symbole MIL (US)
Symbole IEEE
=1
A
F2.6
B
A
F2.6
B
Portes logiques et algèbre de Boole,
Réalisation d'un système combinatoire
 Tout système combinatoire, quelque soit le nombre d’entrées,
peut être décrit avec les 3 fonctions de base :
▪ NON
▪ ET
▪ OU
 ou seulement avec la fonction universelle NAND à 2 entrées
 ou seulement avec la fonction universelle NOR à 2 entrées
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 26
Portes logiques et algèbre de Boole,
Fonctions universelles
 Un fonction est universelle lorsqu‘elle permet la réalisation
des trois fonctions logiques de base (NON, ET, OU)
 NAND
 NOR
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 27
Portes logiques et algèbre de Boole,
Logigramme
 Logigramme = schéma logique
 Utilise les symboles graphiques des fonctions usuelles (ET,
OU, NON, …)
 Montre les liaisons entre les entrées, les fonctions utilisées et
les sorties
 Par convention, les signaux vont de gauche à droite (entrées
à gauche, sorties à droite)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 28
Portes logiques et algèbre de Boole,
Convention
A l’intérieur d’un bloc : logique positive (état actif = 1)
A l’extérieur : logique mixte actif haut ou bas
si actif bas => cela doit être indiqué (nom signal)
UNIQUEMENT
en logique positive
Bouton_Pressé
nContact
nAllume
Ferme
Logique mixte : l’état actif est précisé dans le nom du signal
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 29
Portes logiques et algèbre de Boole,
Décomposition fonctions de base …
 Les fonctions ET, OU à plus de 2 entrées peuvent être
réalisées à l’aide des fonctions correspondantes à 2 entrées
seulement
 3 formes :
▪ Parallèle (non décomposée)
▪ Décomposition pyramidale
▪ Décomposition en cascade
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 30
Portes logiques et algèbre de Boole,
A
B
C
D
F
A
B
C
D
F
A
B
C
D
F
Parallèle
Pyramidale
Cascadée
… décomposition fonctions de base
 Exemple : fonction ET à 4 entrées
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 31
Portes logiques et algèbre de Boole,
Exercices I
a. Ecrivez l’équation logique de la sortie Z de l’additionneur 2 bits de la
page 7.
b. Exprimez la fonction OU-EXCLUSIF (xor) à 2 entrées à l’aide des
fonctions de base uniquement, dessinez le logigramme.
c. La fonction NON OU-EXCLUSIF (xnor) est appelée « égalité ».
Pourquoi ?
d. Réalisez la fonction « impair » à 3 entrées, en utilisant des fonctions
OU-EXCLUSIF (xor) à 2 entrées.
• La sortie "Impair" est active si le nombre de '1' parmi les 3 entrées est impair.
e. Démontrez que les fonctions NAND et NOR sont universelles.
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 32
Portes logiques et algèbre de Boole,
Algèbre de Boole : postulats
 Postulats de l'algèbre de Boole
A + /A = 1 (A or /A = 1)
A • /A = 0 (A and /A = 0)
 découlent de l'hypothèse :
l'inverse d'une variable ne peut jamais avoir la même valeur que la
variable
Les postulats seront violés dans les circuits réels!
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 33
Portes logiques et algèbre de Boole,
Algèbre de Boole : théorèmes …
I /(/A) = A théorème de l’involution not(notA) = A
II A + 0 = A
III A • 0 = 0
IV A + 1 = 1
V A • 1 = A
VI A + A = A idempotence de l’opérateur OU
VII A • A = A idempotence de l’opérateur ET
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 34
Portes logiques et algèbre de Boole,
… théorèmes …
VIII A + B = B + A commutativité
IX A • B = B • A commutativité
X A + (B + C) = (A + B) + C = A + B + C associativité
XI A • (B • C) = (A • B) • C = A • B • C associativité
XII A + B • C = (A + B) • (A + C) distributivité
XIII A • (B + C) = (A • B) + (A • C) distributivité
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 35
Portes logiques et algèbre de Boole,
… théorèmes
Théorèmes de De Morgan (1806-1871)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 36
XIV
/(B + A) = /B • /A
XV
/(B • A) = /B + /A
B A /B /A NAND
0 0 1 1 1
0 1 1 0 1
1 0 0 1 1
1 1 0 0 0
B A /B /A NOR
0 0 1 1 1
0 1 1 0 0
1 0 0 1 0
1 1 0 0 0
Portes logiques et algèbre de Boole,
Table de vérité (TDV)
 Liste des valeurs de sortie en fonction des combinaisons des entrées
 Permet de spécifier toutes les combinaisons possible d'une fonction
logique
no B A S
0 0 0 0
1 0 1 0
2 1 0 0
3 1 1 1
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 37
A
S
B
Portes logiques et algèbre de Boole,
Mintermes
 On appelle minterme, ou fonction unité de deux variables
chacun des quatre monômes de ces deux variables:
 Ceci se généralise à n variables
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 38
minterme 0 = /B • /A
minterme 1 = /B • A
minterme 2 = B • /A
minterme 3 = B • A
Portes logiques et algèbre de Boole,
Construction TDV
 Table avec la liste de toutes les combinaisons des entrées
▪ N entrées => 2N lignes dans la table
Exemple de
table à 4 entrées
No
minterme
D C B A F
0 0 0 0 0 1
1 0 0 0 1 0
2 0 0 1 0 0
.. .. .. .. .. ..
14 1 1 1 0 1
15 1 1 1 1 0
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 39
TDV : Table de vérité
Portes logiques et algèbre de Boole,
Liste des mintermes d'une fonction
 Soit la TDV d'une fonction :
Nous pouvons résumer la TDV en
donnant la liste des mintermes vrai (‘1’):
F (C,B,A) =  0, 3, 5, 7
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 40
Forme canonique décimale
No C B A F
0 0 0 0 1
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 1 1
Portes logiques et algèbre de Boole,
 L'équation canonique découle directement de la TDV. Mais il peut exister
des solutions équivalentes.
 Exemple: la fonction OU
 Comment simplifié la fonction => deux méthodes:
▪ algébrique (algèbre de Boole)
▪ graphique (table de Karnaugh)
B A Z
0 0 0
0 1 1
1 0 1
1 1 1
Equation logique
équation canonique:
Z(B,A) = BA + BA + BA
équation simplifiée:
Z(B,A) = B + A
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 41
Portes logiques et algèbre de Boole,
Diagramme de Venn
Représentation graphique d’une fonction logique
ET: intersection OU: réunion
ET
A B
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 42
OU
A B
Portes logiques et algèbre de Boole,
Table de Karnaugh …
Objectif: représentation graphique d'une TDV
 Forme stylisée d’un diagramme de Venn
 Chaque case correspond à
▪ une combinaison des valeurs des entrées, soit à un minterme
▪ donc à une ligne de la table de vérité
 N entrées  2N cases
 Dans chaque case on indique la valeur de la fonction, soit
▪ 0 ou 1
▪ - ou Ø => état indifférent
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 43
Portes logiques et algèbre de Boole,
… table de Karnaugh …
 Variables d’entrée indépendantes : chaque variable a une intersection
avec
▪ toutes les autres variables
▪ et avec toutes les intersections des autres variables
 Fonction de 3 variables : 23 cases = 8
A
B C
A
C B
00 01 11 10
0
1
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 44
Portes logiques et algèbre de Boole,
… table de Karnaugh
Autre notation de la table
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 45
A
B
C
Portes logiques et algèbre de Boole,
Table de Karnaugh à 4 variables
D C
00 01 11 10
00
01
B A
11
10
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 46
Portes logiques et algèbre de Boole,
Structure de la table de Karnaugh
 Une table de Karnaugh est similaire à une table de vérité :
▪ TDV : chaque ligne correspond à une combinaison des entrées
▪ Karnaugh : chaque ligne correspond à une combinaison des entrées
 Le nombre de cases d'une table de Karnaugh d'une fonction à n variables
est donc égal à 2n
 Les cases de la table de Karnaugh sont arrangées de telle façon qu'une
seule variable change entre deux cases contiguës
 Toute case d'une table de Karnaugh à n variables est contiguë à n autres
cases
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 47
Portes logiques et algèbre de Boole,
 4 variables, donc 4 cases contiguës avec changement d'une seule
variable
 On parle de case adjacente
 Exemple case DCBA
D
C
B
A
DCBA
DCBA
DCBA
DCBA
Exemple table de Karnaugh 4 variables
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 48
Portes logiques et algèbre de Boole,
0
1
2
3
0
1
2
3
6
7
4
5
D
B
A
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
B
A
C
A
B
C
f(B,A)
f(D,C,B,A)
f(C,B,A)
00 01 11 10
00
01
11
10
DC
BA
p 49
E. Messerli (HES-SO / HEIG-VD / REDS), v01
Portes logiques et algèbre de Boole,
D
B
A
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
C
F(E,D,C,B,A)
D
24
25
27
26
28
29
31
30
20
21
23
22
16
17
19
18
C
E
p 50
E. Messerli (HES-SO / HEIG-VD / REDS), v01
F
Pour table de Karnaugh à 5 et plus:
Simplification automatisée: http://www.32x8.com/
Portes logiques et algèbre de Boole,
0 4 12 8
1 5 13 9
3 7 15 11
2 6 14 10
32 36 44 40
33 37 45 41
35 39 47 43
34 38 46 42
16 20 28 24
17 21 29 25
19 23 31 27
18 22 30 26
48 52 60 56
49 53 61 57
51 55 63 59
50 54 62 58
F
D D
E
B
B
A
A
C C
f(F,E,D,C,B,A)
Ordre D à inverser!
Ordre B à inverser!
p 51
E. Messerli (HES-SO / HEIG-VD / REDS), v01
Portes logiques et algèbre de Boole,
Représentation d'une fonction …
 Une fonction est représentée à l'aide d'une table de Karnaugh en mettant la
valeur de la fonction à l'intérieur de chaque case
 Exemple: Z(D,C,B,A) = 3,4,5,6,7,11,12,13,14,15)
C
D
B
A
0 1 1 0
0 1 1 0
1 1 1 1
0 1 1 0
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 52
Portes logiques et algèbre de Boole,
 Exemple à partir d'une table de vérité:
0
1
2
3
6
7
4
5
C
A
00 01 11 10
0
1
B
C B A f
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 1
f(C,B,A)
1 1 1
1
… représentation d'une fonction
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 53
Portes logiques et algèbre de Boole,
Simplification par Karnaugh …
 Simplification basée sur l‘application graphique de l’algèbre
de Boole
A
C B
00 01 11 10
0
1
1
1
terme /C • B • /A
terme /C • B • A
Démonstration par Boole :
somme des 2 termes:
/C • B • /A + /C • B • A =
/C • B • ( /A + A ) = /C • B
groupe /C • B
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 54
Portes logiques et algèbre de Boole,
… simplification par Karnaugh …
 Un groupe de deux '1' adjacents (ayant une frontière
commune non réduite à un point) s’exprime sous la forme
d’un produit comportant N-1 variables
 Par analogie :
▪ le groupement de deux groupes adjacents de deux '1' s’exprime
sous la forme d’un produit comportant N-2 variables, etc…
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 55
Portes logiques et algèbre de Boole,
A
C B
00 01 11 10
0
1
 L’expression d'un groupe donne ses caractéristiques
 Le groupe ci-dessous est caractérisé par le fait qu’il est
contenu dans A (='1') mais à l’extérieur de C (='0').
Donc il s’exprime par
/C • A
… simplification par Karnaugh …
1 1
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 56
Portes logiques et algèbre de Boole,
D C
00 01 11 10
00
01
B A
11
10
… simplification par Karnaugh …
 Expression :
▪ groupe de quatre '1'
 produit de N-2 variables
(4-2=2)
▪ caractéristiques :
dans A et à l’extérieur de D
 /D • A
1 1
1 1
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 57
Portes logiques et algèbre de Boole,
… simplification par Karnaugh …
 Résumé :
▪ groupe de deux '1' => produit de N - 1 variables
▪ groupe de quatre '1' => produit de N - 2 variables
▪ groupe de huit '1' => produit de N - 3 variables
finalement :
▪ groupe de 2N '1' => 1
 un groupe est nommé: Impliquant d’une fonction
▪ il s'agit du produit des variables de la fonction.
Chaque impliquant est représenté dans la table de Karnaugh par un groupe de
cases contiguës, en un nombre égal à une puissance de deux
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 58
Portes logiques et algèbre de Boole,
 La table de Karnaugh permet l'obtention de l'équation minimale d'une
fonction logique, sous la forme d'une somme de produits
 En effet, tout produit logique correspond à un ensemble de cases
contiguës dont le nombre est une puissance de 2
 Si le nombre de variables de la fonction est égal à n et le nombre de
cases contiguës est égal à 2m, le produit correspondant aura
seulement n-m variables
 La somme de produits minimale d'une fonction correspond donc à
l'ensemble minimal de groupes de cases de la table de Karnaugh où
la fonction est égale à 1. Le nombre de cases de chaque groupe doit
être une puissance de 2
… simplification par Karnaugh
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 59
Portes logiques et algèbre de Boole,
 Impliquant premier:
impliquant qui n'est pas inclus dans un autre impliquant plus grand.
La solution minimale d'une fonction est formée seulement
d'impliquants premiers. Mais tous les impliquants premiers ne font
nécessairement pas partie de la solution minimale.
 Impliquant premier essentiel:
impliquant premier qui contient au moins un minterme qui n'est pas
inclus dans un autre impliquant premier. Un impliquant premier
essentiel fait toujours partie de la solution minimale.
Marche à suivre avec Karnaugh …
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 60
Portes logiques et algèbre de Boole,
Méthode de minimisation
 Dresser la liste de tous les impliquants premiers de la
fonction
 Dresser la liste de tous les impliquants premiers essentiels
 Tous les impliquants premiers essentiels font partie de la
solution minimale
 Couvrir les mintermes restants avec un nombre minimal
d’impliquants premiers
… marche à suivre avec Karnaugh
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 61
Portes logiques et algèbre de Boole,
Résumé marche à suivre avec Karnaugh
 Pour trouver l’expression en somme de produits la plus
simple
▪ rechercher les plus grands groupes possibles (premiers et premiers
essentiels)
▪ prendre tous les groupes contenant des '1' isolés et non groupé
• '1' isolé = '1' qui n’entre que dans un seul groupe
▪ ajouter les groupes les plus grands qui incluent des '1' n’ayant pas
encore été pris
▪ jusqu’à ce que tous les '1' aient été pris
▪ un '1' peut faire partie de plusieurs groupes (1 ou 1 = 1), mais il
suffit qu’il soit pris une seule fois
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 62
Portes logiques et algèbre de Boole,
Exercices II
a. Ecrivez la table de vérité, cherchez l’expression simplifiée en
somme de produits puis dessinez le logigramme de la fonction
majorité à 3 entrées.
MAJ = 1 si la majorité des 3 entrées est à 1.
b. Dessinez le logigramme ci-dessus en utilisant un nombre
minimum de NAND à 2 entrées (à l’exclusion de toute autre
fonction).
c. Dessinez le logigramme ci-dessus en utilisant un nombre
minimum de NOR à 2 entrées (à l’exclusion de toute autre
fonction).
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 63
Portes logiques et algèbre de Boole,
… exercices II …
 Donner l'équation la plus simple pour la fonction Z donnée dans la
table de Karnaugh ci-dessous:
D C
00 01 11 10
00
01
B A
11
10
0
0
1
0
1 0
0 1 0
1
1 1 0
1
0 1
Z
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 64
Portes logiques et algèbre de Boole,
… exercices II …
 Donner l'équation la plus simple pour la fonction S donnée dans la
table de Karnaugh ci-dessous:
D C
00 01 11 10
00
01
B A
11
10
0
0
0
0
1 0
0 1 1
1
1 1 1
1
1 1
S
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 65
Portes logiques et algèbre de Boole,
… exercices II
 Donner l'équation la plus simple pour la fonction T donnée dans la
table de Karnaugh ci-dessous:
D C
00 01 11 10
00
01
B A
11
10
1
1
1
1
1 0
1 0 0
1
0 1 0
1
1 1
T
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 66
Portes logiques et algèbre de Boole,
Fonction incomplètement définie
 Fréquemment, il y a des combinaisons des entrées qui
n'existent pas. Dès lors l'état de sortie n'est pas défini.
 Nous pouvons alors choisir l'état de la fonction pour les
combinaisons d'entrées correspondantes
 Nous l'indiquerons par : - ou Ø (état indifférent)
 Dans la table de Karnaugh, l’état indifférent pourra être
considéré comme ‘0’ ou ‘1’
▪ Sert à créer des impliquants les plus grands possibles
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 67
Portes logiques et algèbre de Boole,
Valeur impaire d'un nombre BCD
 La fonction de sortie Impaire n’est
définie que pour les combinaisons BCD
 Il y a 6 combinaisons où la fonction
n'est pas spécifiée
=> choix état de sortie => -
pour simplifier celle-ci
 Déterminer l'équation simplifiée de la
fonction Impaire
Nombre BCD Impaire
0 0 0 0 0
0 0 0 1 1
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 -
1 0 1 1 -
1 1 0 0 -
1 1 0 1 -
1 1 1 0 -
1 1 1 1 -
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 68
Portes logiques et algèbre de Boole,
3, 2
00 01 11 10
00
01
1, 0
11
10
Nbr_BCD
… valeur impaire d'un nombre BCD
Expression :
Impaire = Nbr_BCD(0)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 69
1
1 1
-
1 1
-
-
-
-
-
Portes logiques et algèbre de Boole,
Exercices III
 Donner l'équation la plus simple pour la fonction P donnée dans la
table de Karnaugh ci-dessous:
D C
00 01 11 10
00
01
B A
11
10
1
-
0
0
1 0
1 - -
0
- 1 0
1
1 0
P
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 70
Portes logiques et algèbre de Boole,
… exercices III …
 Donner l'équation la plus simple pour la fonction F donnée dans la
table de Karnaugh ci-dessous:
D C
00 01 11 10
00
01
B A
11
10
0
0
0
-
1 0
0 0 -
1
- 1 1
1
1 -
F
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 71
Portes logiques et algèbre de Boole,
dia volontairement vide
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 72
Portes logiques et algèbre de Boole,
Conception de systèmes logiques combinatoires
plusieurs équations
sont possibles
plusieurs logigrammes
sont possibles
Cahier des charges
(souvent textuelle)
Table de vérité
Logigramme
Equations logiques
(simplification)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 73
Portes logiques et algèbre de Boole,
Notion de Système
Un système est une collection organisée d'objets qui interagissent
pour former un tout :
 Objets = composants du système
 Interconnexions = liens entre les objets nécessaires pour les
interactions
 Structure = organisation du système
(composants, interconnexions)
 Comportement = fonctionnement du système
(entrées, sorties)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 74
Portes logiques et algèbre de Boole,
entrées sorties
composant
interconnexion
Vue d'un système
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 75
Portes logiques et algèbre de Boole,
 Analyse:
▪ Déterminer le comportement d'un système à partir d’une description
textuelle
▪ Déterminer les entrées/sorties
 Conception:
▪ Déterminer la structure nécessaire qui produit un comportement
donné.
▪ Plusieurs structures sont possibles pour obtenir un même
comportement (entrées – sorties)
Réalisation d'un système
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 76
Portes logiques et algèbre de Boole,
Solution logicielle ou matérielle
 Tout traitement réalisé par un programme peut être réalisé
par un composant matériel
 Solution logicielle
▪ souplesse
▪ grande capacité de traitement (beaucoup de données)
▪ séquentiel, peu rapide
 Solution matérielle
▪ très rapide
▪ nécessite beaucoup de matériel (composants logiques)
▪ temps de développement important
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 77
Portes logiques et algèbre de Boole,
Les niveaux d'abstraction
 L'abstraction se réfère à la distinction entre les propriétés externes
d'un système et les détails de sa composition interne
 L'abstraction d'un système comprend:
▪ la suppression de certains détails pour montrer seulement
l'essence du sujet (pour chaque niveau d'abstraction il faut
pouvoir différencier ce qui est essentiel des détails superflus)
▪ une structure
▪ une division en sous-systèmes (composants)
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 78
Portes logiques et algèbre de Boole,
Réalité versus Abstraction
 L'abstraction est utile et nécessaire, mais il ne faut pas oublier la
réalité
 Les abstractions possèdent toujours des limites qu'il faut
connaître
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 79
Portes logiques et algèbre de Boole,
Exemples
Les int (integer) ne sont pas des entiers et les float ne sont pas des réels
 Est-ce que x2 ≥ 0 est toujours vrai?
▪ pour les float, oui
▪ pour les int (32 bits signé en C2), pas toujours:
• 40'000 * 40'000  1'600'000'000
• 50'000 * 50'000  ??
 Est-ce que (x+y)+z = x+(y+z) est toujours vrai?
▪ pour les integer, oui
▪ pour les float, pas toujours:
• (1e20 + -1e20) + 3.14  3.14
• 1e20 + (-1e20 + 3.14)  ??
E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 80

Contenu connexe

Similaire à p01b_portelogique_boole.pdf

architecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdfarchitecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdfRihabBENLAMINE
 
TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------NasriMohsen2
 
Algèbre de boole
Algèbre de booleAlgèbre de boole
Algèbre de boolelinuxscout
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2youri59490
 
Algevre de bool
Algevre de boolAlgevre de bool
Algevre de boolyarsenv47
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfYassine Sabri
 
ALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUESALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUESsarah Benmerzouk
 
Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4linuxscout
 
Circuits logiques combinatoire
Circuits logiques combinatoireCircuits logiques combinatoire
Circuits logiques combinatoirelinuxscout
 
Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires wafawafa52
 
Ch4 circuitscombinatoires
Ch4 circuitscombinatoiresCh4 circuitscombinatoires
Ch4 circuitscombinatoiresmickel iron
 
representation_numerique_de_l_information_annote.ppt
representation_numerique_de_l_information_annote.pptrepresentation_numerique_de_l_information_annote.ppt
representation_numerique_de_l_information_annote.pptphysikcollege
 

Similaire à p01b_portelogique_boole.pdf (15)

architecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdfarchitecture-des-ordinateurs.pdf
architecture-des-ordinateurs.pdf
 
bhaj_inspiration.pdf
bhaj_inspiration.pdfbhaj_inspiration.pdf
bhaj_inspiration.pdf
 
TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------TD systèmes logiques.pdf----------------
TD systèmes logiques.pdf----------------
 
Assembleur
AssembleurAssembleur
Assembleur
 
Algèbre de boole
Algèbre de booleAlgèbre de boole
Algèbre de boole
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
 
Cours strm mme_touil_all
Cours strm mme_touil_allCours strm mme_touil_all
Cours strm mme_touil_all
 
Algevre de bool
Algevre de boolAlgevre de bool
Algevre de bool
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdf
 
ALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUESALGEBRE BINAIRE ET CIRCUITS LOGIQUES
ALGEBRE BINAIRE ET CIRCUITS LOGIQUES
 
Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4Ch1 circuits logiques_p1_combinatoire-v4
Ch1 circuits logiques_p1_combinatoire-v4
 
Circuits logiques combinatoire
Circuits logiques combinatoireCircuits logiques combinatoire
Circuits logiques combinatoire
 
Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires
 
Ch4 circuitscombinatoires
Ch4 circuitscombinatoiresCh4 circuitscombinatoires
Ch4 circuitscombinatoires
 
representation_numerique_de_l_information_annote.ppt
representation_numerique_de_l_information_annote.pptrepresentation_numerique_de_l_information_annote.ppt
representation_numerique_de_l_information_annote.ppt
 

Plus de RihabBENLAMINE

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfRihabBENLAMINE
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfRihabBENLAMINE
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfRihabBENLAMINE
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdfRihabBENLAMINE
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxRihabBENLAMINE
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfRihabBENLAMINE
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfRihabBENLAMINE
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdfRihabBENLAMINE
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdfRihabBENLAMINE
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdfRihabBENLAMINE
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptxRihabBENLAMINE
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 

Plus de RihabBENLAMINE (20)

presentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdfpresentationatelierphpprt2-140314143938-phpapp02.pdf
presentationatelierphpprt2-140314143938-phpapp02.pdf
 
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdfTutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
Tutoriel-PHP-Introduction-à-la-POoooooooooooO.pdf
 
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdfCM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
CM_PHP_PDOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.pdf
 
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
10_interfacesjavaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.pdf
 
coursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptxcoursphp-chap3-230321082859-121d6678.pptx
coursphp-chap3-230321082859-121d6678.pptx
 
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdfCours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
 
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdfVirtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
Virtualisation & Cloud. Cloud Computing. Iset Siliana RSI3..pdf
 
416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf416769859360_chap2fondementdesreseaux2023.pdf
416769859360_chap2fondementdesreseaux2023.pdf
 
Interace Utilisateur.pdf
Interace Utilisateur.pdfInterace Utilisateur.pdf
Interace Utilisateur.pdf
 
Firebase.pdf
Firebase.pdfFirebase.pdf
Firebase.pdf
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 
016834638650_suitechap1.pptx
016834638650_suitechap1.pptx016834638650_suitechap1.pptx
016834638650_suitechap1.pptx
 
PHP_intro.pdf
PHP_intro.pdfPHP_intro.pdf
PHP_intro.pdf
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
chapitre-2.pptx.pdf
chapitre-2.pptx.pdfchapitre-2.pptx.pdf
chapitre-2.pptx.pdf
 

p01b_portelogique_boole.pdf

  • 1. Unité : Sytémes logiques 1 (SysLog1) Portes logiques et algèbre de Boole, This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License Portes logiques et algèbre de Boole E. Messerli & R. Mosqueron Septembre 2021 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 1
  • 2. Portes logiques et algèbre de Boole, Polycopié : Electronique numérique  Portes logiques et algèbre de Boole chapitre 4, pages 35 à 54  Circuits logiques combinatoires ▪ Simplification, tables de Karnaugh chapitres 5-1 à 5-6, pages 55 à 64  Symboles utilisés chapitre 4-9, pages 46 et 47 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 2
  • 3. Portes logiques et algèbre de Boole, Principe de la logique (postulat) …  Être logique, c’est : avoir une réponse unique sans contradiction  Pas d’Affirmation et de Négation en même temps !!! ▪ Une lampe ne peut jamais être Allumée (ON) et Eteinte (OFF) en même temps 0 OFF E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 3
  • 4. Portes logiques et algèbre de Boole, … principe de la logique (postulat) … E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 4  Être logique, c’est avoir une réponse unique sans contradiction  Pas d’Affirmation et de Négation en même temps !!! ▪ Une lampe ne peut jamais être Allumée (ON) et Eteinte (OFF) en même temps 1 ON
  • 5. Portes logiques et algèbre de Boole, … principe de la logique (postulat)  On voit clairement une variable binaire : ▪ symbolisé par les états '0' et '1' 1  ON 0  OFF E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 5 0 OFF 1 ON
  • 6. Portes logiques et algèbre de Boole, "La Nature" versus "Monde binaire"  La nature n'est jamais binaire ! ▪ Début du jour ou levé du soleil ? ▪ Heure exacte: 12h00, 12h00'00", … ▪ Impression de froid ou de chaud ?  Le binaire est utile, mais il ne représente pas toute "la nature" E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 6 Ce paysage est vert !
  • 7. Portes logiques et algèbre de Boole, Système logique  C'est un système qui traite l'information de façon logique  Pour étudier un système logique, il faut connaître les fonctions de base (les composants) et le langage mathématique qui permet de décrire un comportement sous forme d’équations  Pour un additionneur 1 bit : Z = ƒ (X, Y) X Y Z 0 0 0 0 1 1 1 0 1 1 1 0 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 7
  • 8. Portes logiques et algèbre de Boole, Système binaire  Système logique qui emploie des informations élémentaires (signaux) à deux états  Avantages : ▪ on peut utiliser des interrupteurs comme éléments de base du système ▪ un signal binaire est plus fiable (détection de 2 états) ▪ les décisions prises dans un système digital sont très souvent binaires  En général, les 2 états sont représentées par les chiffres 0 et 1 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 8
  • 9. Portes logiques et algèbre de Boole, Quelques définitions  Etat logique : ▪ chacune des 2 valeurs que peut prendre une variable logique  Variable logique : ▪ grandeur qui ne peut prendre que les 2 états logiques  Variable d’entrée (ou simplement entrée) : ▪ information à 2 états reçue par un système logique  Variable de sortie (ou simplement sortie) : ▪ information à 2 états générée par un système logique  Fonction logique : ▪ relation logique entre une sortie et une ou plusieurs entrées E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 9
  • 10. Portes logiques et algèbre de Boole,  Système combinatoire : ▪ la valeur des sorties à un moment donné dépend uniquement des valeurs des entrées à cet instant => système univoque ▪ le comportement est entièrement spécifié par une table, nommée table de vérité, qui pour chaque combinaison des entrées donne la valeur des sorties (n entrées=> table de vérité comporte 2 n lignes) ▪ la sortie est immédiate  Système séquentiel : ▪ la valeur des sorties dépend de la valeur des entrées au cours du temps: il faut une mémoire => dépend de l'historique ▪ l'obtention d'un résultat peut demander plusieurs étapes, avec mémorisation de résultats intermédiaires Types de systèmes logiques E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 10
  • 11. Portes logiques et algèbre de Boole, Les portes logiques de bases  Etude des fonctions d'une variable ▪ Nous verrons la porte logique de base : NON  Etude des fonctions de deux variables ▪ Nous verrons les portes logiques de base : ET, OU  Nous verrons ensuite des combinaisons de portes de bases : ▪ Fonction : NON-ET, NON-OU ▪ Fonction : OU-Exclusif E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 11
  • 12. Portes logiques et algèbre de Boole, dia volontairement vide E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 12
  • 13. Portes logiques et algèbre de Boole, Fonctions d'une variable F1.0 = 0 constante 0 F1.1 = A transmission F1.2 = not A = /A F1.3 = 1 constante 1 fonction utile à seule variable : NON (inversion logique) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 13 Variable Fonctions F1.x A F1.0 F1.1 F1.2 F1.3 0 0 0 1 1 1 0 1 0 1 Table des fonctions d'une variable : not
  • 14. Portes logiques et algèbre de Boole, Fonction NON (not)  F1.2 = not A = /A ▪ La sortie du circuit est à l’état logique inverse de son entrée E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 14 A F1.2 0 1 1 0 A A A A 1 Symbole MIL (US) Symbole IEEE
  • 15. Portes logiques et algèbre de Boole, Fonctions de deux variables … E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 15 Variables Fonctions F2.x B A F2.0 F2.1 F2.2 F2.3 F2.4 F2.5 F2.6 F2.7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 Table des 16 fonctions de deux variables (fcts 0 à 7) F2.0 = 0 F2.4 = not B and A = /B • A F2.1 = B and A = B • A F2.5 = A F2.2 = B and not A = B • /A F2.6 = B xor A = B  A F2.3 = B F2.7 = B or A = B + A and xor or
  • 16. Portes logiques et algèbre de Boole, … fonctions de deux variables …  Nous pouvons repérer les fonctions : ▪ ET (AND, intersection) = F2.1 ▪ OU (OR, réunion) = F2.7  Autre fonction logique intéressante : ▪ OU-EXCLUSIF (XOR) = F2.6 fonction différence E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 16
  • 17. Portes logiques et algèbre de Boole, … fonctions de deux variables … E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 17 Variables Fonctions F2.x B A F2.8 F2.9 F2.A F2.B F2.C F2.D F2.E F2.F 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 Table des 16 fonctions de deux variables: (fcts 8 à 15) F2.8 = /F2.7 = /(B + A) F2.C = /F2.3 = /B F2.9 = /F2.6 = /(B  A) F2.D = /F2.2 F2.A = /F2.5 = /A F2.E = /F2.1 = /(B • A) F2.B = /F2.4 F2.F = /F2.0 = 1 nand nor xnor xnor
  • 18. Portes logiques et algèbre de Boole, …. fonctions de deux variables  Les fonctions F2.8 à F2.F sont respectivement les inverses des fonctions F2.7 à F2.0  Parmi ces fonctions 3 sont intéressantes : ▪ NON-ET (NAND) fonction universelle ▪ NON-OU (NOR) fonction universelle ▪ NON-OU-EXCLUSIF (XNOR) fonction égalité E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 18
  • 19. Portes logiques et algèbre de Boole, Fonction ET (and)  F2.1 = B . A = B and A La sortie de la porte « ET » est à 1 si l'entrée A et l'entrée B sont à 1 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 19 B A F2.1 0 0 0 0 1 0 1 0 0 1 1 1 Symbole MIL (US) Symbole IEEE A F2.1 B & A F2.1 B
  • 20. Portes logiques et algèbre de Boole, Fonction ET à n entrées  La définition peut-être étendue à n entrées: ▪ La sortie de la porte « ET » est à 1 si toutes les entrées sont à 1. E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 20 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1
  • 21. Portes logiques et algèbre de Boole, Fonction OU (or)  F2.7 = B + A = B or A ▪ La sortie de la porte « OU » est à 1 si l'entrée A ou B valent 1 (l'une ou l'autre ou les deux) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 21 B A F2.7 0 0 0 0 1 1 1 0 1 1 1 1 Symbole MIL (US) Symbole IEEE ≥1 A F2.7 B A F2.7 B
  • 22. Portes logiques et algèbre de Boole, Fonction OU à n entrées  La définition peut-être étendue à n entrées: ▪ La sortie du circuit «OU» est à 1 si une entrée est à 1. E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 22 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0
  • 23. Portes logiques et algèbre de Boole, Fonction NON-ET (nand)  F2.E = /F2.1 = /(B . A) = B nand A ▪ Fonction inverse du ET, soit : la fonction est à 1 si une entrée est à 0 . ▪ Fonction universelle E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 23 B A F2.1 F2.E 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 Symbole MIL (US) Symbole IEEE A F2.E B & A F2.E B
  • 24. Portes logiques et algèbre de Boole, Fonction NON-OU (nor)  F2.8 = /F2.7 = /(B + A) = B nor A ▪ Fonction inverse du OU, soit: la fonction est à 1 si toutes les entrées sont à 0 ▪ Fonction universelle E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 24 B A F2.7 F2.8 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 Symbole MIL (US) Symbole IEEE A F2.8 B ≥1 A F2.8 B
  • 25. Portes logiques et algèbre de Boole, Fonction OU-Exclusif (xor)  F2.6 = B  A = B xor A ▪ La sortie de la porte « OU-Exclusif » est à 1 si A ou B valent 1, mais pas les 2 (détecte la différence) ▪ Pas une fonction de base! E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 25 B A F2.6 0 0 0 0 1 1 1 0 1 1 1 0 Symbole MIL (US) Symbole IEEE =1 A F2.6 B A F2.6 B
  • 26. Portes logiques et algèbre de Boole, Réalisation d'un système combinatoire  Tout système combinatoire, quelque soit le nombre d’entrées, peut être décrit avec les 3 fonctions de base : ▪ NON ▪ ET ▪ OU  ou seulement avec la fonction universelle NAND à 2 entrées  ou seulement avec la fonction universelle NOR à 2 entrées E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 26
  • 27. Portes logiques et algèbre de Boole, Fonctions universelles  Un fonction est universelle lorsqu‘elle permet la réalisation des trois fonctions logiques de base (NON, ET, OU)  NAND  NOR E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 27
  • 28. Portes logiques et algèbre de Boole, Logigramme  Logigramme = schéma logique  Utilise les symboles graphiques des fonctions usuelles (ET, OU, NON, …)  Montre les liaisons entre les entrées, les fonctions utilisées et les sorties  Par convention, les signaux vont de gauche à droite (entrées à gauche, sorties à droite) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 28
  • 29. Portes logiques et algèbre de Boole, Convention A l’intérieur d’un bloc : logique positive (état actif = 1) A l’extérieur : logique mixte actif haut ou bas si actif bas => cela doit être indiqué (nom signal) UNIQUEMENT en logique positive Bouton_Pressé nContact nAllume Ferme Logique mixte : l’état actif est précisé dans le nom du signal E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 29
  • 30. Portes logiques et algèbre de Boole, Décomposition fonctions de base …  Les fonctions ET, OU à plus de 2 entrées peuvent être réalisées à l’aide des fonctions correspondantes à 2 entrées seulement  3 formes : ▪ Parallèle (non décomposée) ▪ Décomposition pyramidale ▪ Décomposition en cascade E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 30
  • 31. Portes logiques et algèbre de Boole, A B C D F A B C D F A B C D F Parallèle Pyramidale Cascadée … décomposition fonctions de base  Exemple : fonction ET à 4 entrées E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 31
  • 32. Portes logiques et algèbre de Boole, Exercices I a. Ecrivez l’équation logique de la sortie Z de l’additionneur 2 bits de la page 7. b. Exprimez la fonction OU-EXCLUSIF (xor) à 2 entrées à l’aide des fonctions de base uniquement, dessinez le logigramme. c. La fonction NON OU-EXCLUSIF (xnor) est appelée « égalité ». Pourquoi ? d. Réalisez la fonction « impair » à 3 entrées, en utilisant des fonctions OU-EXCLUSIF (xor) à 2 entrées. • La sortie "Impair" est active si le nombre de '1' parmi les 3 entrées est impair. e. Démontrez que les fonctions NAND et NOR sont universelles. E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 32
  • 33. Portes logiques et algèbre de Boole, Algèbre de Boole : postulats  Postulats de l'algèbre de Boole A + /A = 1 (A or /A = 1) A • /A = 0 (A and /A = 0)  découlent de l'hypothèse : l'inverse d'une variable ne peut jamais avoir la même valeur que la variable Les postulats seront violés dans les circuits réels! E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 33
  • 34. Portes logiques et algèbre de Boole, Algèbre de Boole : théorèmes … I /(/A) = A théorème de l’involution not(notA) = A II A + 0 = A III A • 0 = 0 IV A + 1 = 1 V A • 1 = A VI A + A = A idempotence de l’opérateur OU VII A • A = A idempotence de l’opérateur ET E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 34
  • 35. Portes logiques et algèbre de Boole, … théorèmes … VIII A + B = B + A commutativité IX A • B = B • A commutativité X A + (B + C) = (A + B) + C = A + B + C associativité XI A • (B • C) = (A • B) • C = A • B • C associativité XII A + B • C = (A + B) • (A + C) distributivité XIII A • (B + C) = (A • B) + (A • C) distributivité E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 35
  • 36. Portes logiques et algèbre de Boole, … théorèmes Théorèmes de De Morgan (1806-1871) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 36 XIV /(B + A) = /B • /A XV /(B • A) = /B + /A B A /B /A NAND 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 B A /B /A NOR 0 0 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0
  • 37. Portes logiques et algèbre de Boole, Table de vérité (TDV)  Liste des valeurs de sortie en fonction des combinaisons des entrées  Permet de spécifier toutes les combinaisons possible d'une fonction logique no B A S 0 0 0 0 1 0 1 0 2 1 0 0 3 1 1 1 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 37 A S B
  • 38. Portes logiques et algèbre de Boole, Mintermes  On appelle minterme, ou fonction unité de deux variables chacun des quatre monômes de ces deux variables:  Ceci se généralise à n variables E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 38 minterme 0 = /B • /A minterme 1 = /B • A minterme 2 = B • /A minterme 3 = B • A
  • 39. Portes logiques et algèbre de Boole, Construction TDV  Table avec la liste de toutes les combinaisons des entrées ▪ N entrées => 2N lignes dans la table Exemple de table à 4 entrées No minterme D C B A F 0 0 0 0 0 1 1 0 0 0 1 0 2 0 0 1 0 0 .. .. .. .. .. .. 14 1 1 1 0 1 15 1 1 1 1 0 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 39 TDV : Table de vérité
  • 40. Portes logiques et algèbre de Boole, Liste des mintermes d'une fonction  Soit la TDV d'une fonction : Nous pouvons résumer la TDV en donnant la liste des mintermes vrai (‘1’): F (C,B,A) =  0, 3, 5, 7 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 40 Forme canonique décimale No C B A F 0 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 0 7 1 1 1 1
  • 41. Portes logiques et algèbre de Boole,  L'équation canonique découle directement de la TDV. Mais il peut exister des solutions équivalentes.  Exemple: la fonction OU  Comment simplifié la fonction => deux méthodes: ▪ algébrique (algèbre de Boole) ▪ graphique (table de Karnaugh) B A Z 0 0 0 0 1 1 1 0 1 1 1 1 Equation logique équation canonique: Z(B,A) = BA + BA + BA équation simplifiée: Z(B,A) = B + A E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 41
  • 42. Portes logiques et algèbre de Boole, Diagramme de Venn Représentation graphique d’une fonction logique ET: intersection OU: réunion ET A B E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 42 OU A B
  • 43. Portes logiques et algèbre de Boole, Table de Karnaugh … Objectif: représentation graphique d'une TDV  Forme stylisée d’un diagramme de Venn  Chaque case correspond à ▪ une combinaison des valeurs des entrées, soit à un minterme ▪ donc à une ligne de la table de vérité  N entrées  2N cases  Dans chaque case on indique la valeur de la fonction, soit ▪ 0 ou 1 ▪ - ou Ø => état indifférent E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 43
  • 44. Portes logiques et algèbre de Boole, … table de Karnaugh …  Variables d’entrée indépendantes : chaque variable a une intersection avec ▪ toutes les autres variables ▪ et avec toutes les intersections des autres variables  Fonction de 3 variables : 23 cases = 8 A B C A C B 00 01 11 10 0 1 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 44
  • 45. Portes logiques et algèbre de Boole, … table de Karnaugh Autre notation de la table E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 45 A B C
  • 46. Portes logiques et algèbre de Boole, Table de Karnaugh à 4 variables D C 00 01 11 10 00 01 B A 11 10 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 46
  • 47. Portes logiques et algèbre de Boole, Structure de la table de Karnaugh  Une table de Karnaugh est similaire à une table de vérité : ▪ TDV : chaque ligne correspond à une combinaison des entrées ▪ Karnaugh : chaque ligne correspond à une combinaison des entrées  Le nombre de cases d'une table de Karnaugh d'une fonction à n variables est donc égal à 2n  Les cases de la table de Karnaugh sont arrangées de telle façon qu'une seule variable change entre deux cases contiguës  Toute case d'une table de Karnaugh à n variables est contiguë à n autres cases E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 47
  • 48. Portes logiques et algèbre de Boole,  4 variables, donc 4 cases contiguës avec changement d'une seule variable  On parle de case adjacente  Exemple case DCBA D C B A DCBA DCBA DCBA DCBA Exemple table de Karnaugh 4 variables E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 48
  • 49. Portes logiques et algèbre de Boole, 0 1 2 3 0 1 2 3 6 7 4 5 D B A 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 B A C A B C f(B,A) f(D,C,B,A) f(C,B,A) 00 01 11 10 00 01 11 10 DC BA p 49 E. Messerli (HES-SO / HEIG-VD / REDS), v01
  • 50. Portes logiques et algèbre de Boole, D B A 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 C F(E,D,C,B,A) D 24 25 27 26 28 29 31 30 20 21 23 22 16 17 19 18 C E p 50 E. Messerli (HES-SO / HEIG-VD / REDS), v01 F Pour table de Karnaugh à 5 et plus: Simplification automatisée: http://www.32x8.com/
  • 51. Portes logiques et algèbre de Boole, 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 32 36 44 40 33 37 45 41 35 39 47 43 34 38 46 42 16 20 28 24 17 21 29 25 19 23 31 27 18 22 30 26 48 52 60 56 49 53 61 57 51 55 63 59 50 54 62 58 F D D E B B A A C C f(F,E,D,C,B,A) Ordre D à inverser! Ordre B à inverser! p 51 E. Messerli (HES-SO / HEIG-VD / REDS), v01
  • 52. Portes logiques et algèbre de Boole, Représentation d'une fonction …  Une fonction est représentée à l'aide d'une table de Karnaugh en mettant la valeur de la fonction à l'intérieur de chaque case  Exemple: Z(D,C,B,A) = 3,4,5,6,7,11,12,13,14,15) C D B A 0 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 52
  • 53. Portes logiques et algèbre de Boole,  Exemple à partir d'une table de vérité: 0 1 2 3 6 7 4 5 C A 00 01 11 10 0 1 B C B A f 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 1 f(C,B,A) 1 1 1 1 … représentation d'une fonction E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 53
  • 54. Portes logiques et algèbre de Boole, Simplification par Karnaugh …  Simplification basée sur l‘application graphique de l’algèbre de Boole A C B 00 01 11 10 0 1 1 1 terme /C • B • /A terme /C • B • A Démonstration par Boole : somme des 2 termes: /C • B • /A + /C • B • A = /C • B • ( /A + A ) = /C • B groupe /C • B E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 54
  • 55. Portes logiques et algèbre de Boole, … simplification par Karnaugh …  Un groupe de deux '1' adjacents (ayant une frontière commune non réduite à un point) s’exprime sous la forme d’un produit comportant N-1 variables  Par analogie : ▪ le groupement de deux groupes adjacents de deux '1' s’exprime sous la forme d’un produit comportant N-2 variables, etc… E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 55
  • 56. Portes logiques et algèbre de Boole, A C B 00 01 11 10 0 1  L’expression d'un groupe donne ses caractéristiques  Le groupe ci-dessous est caractérisé par le fait qu’il est contenu dans A (='1') mais à l’extérieur de C (='0'). Donc il s’exprime par /C • A … simplification par Karnaugh … 1 1 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 56
  • 57. Portes logiques et algèbre de Boole, D C 00 01 11 10 00 01 B A 11 10 … simplification par Karnaugh …  Expression : ▪ groupe de quatre '1'  produit de N-2 variables (4-2=2) ▪ caractéristiques : dans A et à l’extérieur de D  /D • A 1 1 1 1 E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 57
  • 58. Portes logiques et algèbre de Boole, … simplification par Karnaugh …  Résumé : ▪ groupe de deux '1' => produit de N - 1 variables ▪ groupe de quatre '1' => produit de N - 2 variables ▪ groupe de huit '1' => produit de N - 3 variables finalement : ▪ groupe de 2N '1' => 1  un groupe est nommé: Impliquant d’une fonction ▪ il s'agit du produit des variables de la fonction. Chaque impliquant est représenté dans la table de Karnaugh par un groupe de cases contiguës, en un nombre égal à une puissance de deux E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 58
  • 59. Portes logiques et algèbre de Boole,  La table de Karnaugh permet l'obtention de l'équation minimale d'une fonction logique, sous la forme d'une somme de produits  En effet, tout produit logique correspond à un ensemble de cases contiguës dont le nombre est une puissance de 2  Si le nombre de variables de la fonction est égal à n et le nombre de cases contiguës est égal à 2m, le produit correspondant aura seulement n-m variables  La somme de produits minimale d'une fonction correspond donc à l'ensemble minimal de groupes de cases de la table de Karnaugh où la fonction est égale à 1. Le nombre de cases de chaque groupe doit être une puissance de 2 … simplification par Karnaugh E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 59
  • 60. Portes logiques et algèbre de Boole,  Impliquant premier: impliquant qui n'est pas inclus dans un autre impliquant plus grand. La solution minimale d'une fonction est formée seulement d'impliquants premiers. Mais tous les impliquants premiers ne font nécessairement pas partie de la solution minimale.  Impliquant premier essentiel: impliquant premier qui contient au moins un minterme qui n'est pas inclus dans un autre impliquant premier. Un impliquant premier essentiel fait toujours partie de la solution minimale. Marche à suivre avec Karnaugh … E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 60
  • 61. Portes logiques et algèbre de Boole, Méthode de minimisation  Dresser la liste de tous les impliquants premiers de la fonction  Dresser la liste de tous les impliquants premiers essentiels  Tous les impliquants premiers essentiels font partie de la solution minimale  Couvrir les mintermes restants avec un nombre minimal d’impliquants premiers … marche à suivre avec Karnaugh E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 61
  • 62. Portes logiques et algèbre de Boole, Résumé marche à suivre avec Karnaugh  Pour trouver l’expression en somme de produits la plus simple ▪ rechercher les plus grands groupes possibles (premiers et premiers essentiels) ▪ prendre tous les groupes contenant des '1' isolés et non groupé • '1' isolé = '1' qui n’entre que dans un seul groupe ▪ ajouter les groupes les plus grands qui incluent des '1' n’ayant pas encore été pris ▪ jusqu’à ce que tous les '1' aient été pris ▪ un '1' peut faire partie de plusieurs groupes (1 ou 1 = 1), mais il suffit qu’il soit pris une seule fois E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 62
  • 63. Portes logiques et algèbre de Boole, Exercices II a. Ecrivez la table de vérité, cherchez l’expression simplifiée en somme de produits puis dessinez le logigramme de la fonction majorité à 3 entrées. MAJ = 1 si la majorité des 3 entrées est à 1. b. Dessinez le logigramme ci-dessus en utilisant un nombre minimum de NAND à 2 entrées (à l’exclusion de toute autre fonction). c. Dessinez le logigramme ci-dessus en utilisant un nombre minimum de NOR à 2 entrées (à l’exclusion de toute autre fonction). E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 63
  • 64. Portes logiques et algèbre de Boole, … exercices II …  Donner l'équation la plus simple pour la fonction Z donnée dans la table de Karnaugh ci-dessous: D C 00 01 11 10 00 01 B A 11 10 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 1 Z E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 64
  • 65. Portes logiques et algèbre de Boole, … exercices II …  Donner l'équation la plus simple pour la fonction S donnée dans la table de Karnaugh ci-dessous: D C 00 01 11 10 00 01 B A 11 10 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 S E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 65
  • 66. Portes logiques et algèbre de Boole, … exercices II  Donner l'équation la plus simple pour la fonction T donnée dans la table de Karnaugh ci-dessous: D C 00 01 11 10 00 01 B A 11 10 1 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 T E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 66
  • 67. Portes logiques et algèbre de Boole, Fonction incomplètement définie  Fréquemment, il y a des combinaisons des entrées qui n'existent pas. Dès lors l'état de sortie n'est pas défini.  Nous pouvons alors choisir l'état de la fonction pour les combinaisons d'entrées correspondantes  Nous l'indiquerons par : - ou Ø (état indifférent)  Dans la table de Karnaugh, l’état indifférent pourra être considéré comme ‘0’ ou ‘1’ ▪ Sert à créer des impliquants les plus grands possibles E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 67
  • 68. Portes logiques et algèbre de Boole, Valeur impaire d'un nombre BCD  La fonction de sortie Impaire n’est définie que pour les combinaisons BCD  Il y a 6 combinaisons où la fonction n'est pas spécifiée => choix état de sortie => - pour simplifier celle-ci  Déterminer l'équation simplifiée de la fonction Impaire Nombre BCD Impaire 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 - 1 0 1 1 - 1 1 0 0 - 1 1 0 1 - 1 1 1 0 - 1 1 1 1 - E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 68
  • 69. Portes logiques et algèbre de Boole, 3, 2 00 01 11 10 00 01 1, 0 11 10 Nbr_BCD … valeur impaire d'un nombre BCD Expression : Impaire = Nbr_BCD(0) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 69 1 1 1 - 1 1 - - - - -
  • 70. Portes logiques et algèbre de Boole, Exercices III  Donner l'équation la plus simple pour la fonction P donnée dans la table de Karnaugh ci-dessous: D C 00 01 11 10 00 01 B A 11 10 1 - 0 0 1 0 1 - - 0 - 1 0 1 1 0 P E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 70
  • 71. Portes logiques et algèbre de Boole, … exercices III …  Donner l'équation la plus simple pour la fonction F donnée dans la table de Karnaugh ci-dessous: D C 00 01 11 10 00 01 B A 11 10 0 0 0 - 1 0 0 0 - 1 - 1 1 1 1 - F E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 71
  • 72. Portes logiques et algèbre de Boole, dia volontairement vide E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 72
  • 73. Portes logiques et algèbre de Boole, Conception de systèmes logiques combinatoires plusieurs équations sont possibles plusieurs logigrammes sont possibles Cahier des charges (souvent textuelle) Table de vérité Logigramme Equations logiques (simplification) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 73
  • 74. Portes logiques et algèbre de Boole, Notion de Système Un système est une collection organisée d'objets qui interagissent pour former un tout :  Objets = composants du système  Interconnexions = liens entre les objets nécessaires pour les interactions  Structure = organisation du système (composants, interconnexions)  Comportement = fonctionnement du système (entrées, sorties) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 74
  • 75. Portes logiques et algèbre de Boole, entrées sorties composant interconnexion Vue d'un système E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 75
  • 76. Portes logiques et algèbre de Boole,  Analyse: ▪ Déterminer le comportement d'un système à partir d’une description textuelle ▪ Déterminer les entrées/sorties  Conception: ▪ Déterminer la structure nécessaire qui produit un comportement donné. ▪ Plusieurs structures sont possibles pour obtenir un même comportement (entrées – sorties) Réalisation d'un système E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 76
  • 77. Portes logiques et algèbre de Boole, Solution logicielle ou matérielle  Tout traitement réalisé par un programme peut être réalisé par un composant matériel  Solution logicielle ▪ souplesse ▪ grande capacité de traitement (beaucoup de données) ▪ séquentiel, peu rapide  Solution matérielle ▪ très rapide ▪ nécessite beaucoup de matériel (composants logiques) ▪ temps de développement important E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 77
  • 78. Portes logiques et algèbre de Boole, Les niveaux d'abstraction  L'abstraction se réfère à la distinction entre les propriétés externes d'un système et les détails de sa composition interne  L'abstraction d'un système comprend: ▪ la suppression de certains détails pour montrer seulement l'essence du sujet (pour chaque niveau d'abstraction il faut pouvoir différencier ce qui est essentiel des détails superflus) ▪ une structure ▪ une division en sous-systèmes (composants) E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 78
  • 79. Portes logiques et algèbre de Boole, Réalité versus Abstraction  L'abstraction est utile et nécessaire, mais il ne faut pas oublier la réalité  Les abstractions possèdent toujours des limites qu'il faut connaître E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 79
  • 80. Portes logiques et algèbre de Boole, Exemples Les int (integer) ne sont pas des entiers et les float ne sont pas des réels  Est-ce que x2 ≥ 0 est toujours vrai? ▪ pour les float, oui ▪ pour les int (32 bits signé en C2), pas toujours: • 40'000 * 40'000  1'600'000'000 • 50'000 * 50'000  ??  Est-ce que (x+y)+z = x+(y+z) est toujours vrai? ▪ pour les integer, oui ▪ pour les float, pas toujours: • (1e20 + -1e20) + 3.14  3.14 • 1e20 + (-1e20 + 3.14)  ?? E. Messerli (HES-SO / HEIG-VD / REDS), v01 p 80