GELE2442 Chapitre 3 : Principes de la logique combinatoire

Transcription

GELE2442 Chapitre 3 : Principes de la logique combinatoire
GELE2442 Chapitre 3 :
Principes de la logique combinatoire
Gabriel Cormier, Ph.D., ing.
Université de Moncton
Hiver 2015
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
1 / 33
Contenu
1
Algèbre booléenne
2
Portes logiques
3
Création des circuits logiques
4
Implémentation NAND
5
Chronogrammes
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
2 / 33
Logique combinatoire
Deux types de logique: combinatoire et séquentielle
Combinatoire: logique où la sortie dépend seulement des entrées
Séquentielle: logique où la sortie dépend des entrées actuelle et de la
sortie précédente
La logique combinatoire est la base du design de circuits logiques.
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
3 / 33
Algèbre booléenne
Algèbre booléenne
Algèbre utilisée pour les systèmes binaires
Seules deux valeurs: 0 (FAUX) et 1 (VRAI)
La mathématique est différente (un domaine complet)
On verra des postulats et théorèmes de base
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
4 / 33
Algèbre booléenne
Postulats importants
Tableau 1 : Postulats importants de l’algèbre booléenne
(A1)
(A2)
(A3)
(A4)
(A5)
X = 0 si X 6= 1
Si X = 0 ⇒ X 0 = 1
0·0=0
1·1=1
0·1=1·0=0
Gabriel Cormier (UdeM)
(A1’)
(A2’)
(A3’)
(A4’)
(A5’)
GELE2442 Chapitre 3
X = 1 si X 6= 0
Si X = 1 ⇒ X 0 = 0
1+1=1
0+0=0
1+0=0+1=1
Hiver 2015
5 / 33
Algèbre booléenne
Théorèmes importants
Tableau 2 : Théorèmes importants de l’algèbre booléenne
Numéro
T5
T6
T8
T9
T10
Nom
Complément
Idempotence
Distributivité
Absorption
Combinaison
Gabriel Cormier (UdeM)
Théorème
X + X 0 = 1, ou X · X 0 = 0
X + X = X, ou X · X = X
X + (Y · Z) = (X + Y ) · (X + Z)
X + (X · Y ) = X
X ·Y +X ·Y0 =X
GELE2442 Chapitre 3
Hiver 2015
6 / 33
Algèbre booléenne
Dualité
Dualité: si dans une expression on interchange l’opérateur et
l’élément d’identité, l’égalité demeure (0 ↔ 1, · ↔ +)
X +0=X
X + X0 = 1
Gabriel Cormier (UdeM)
Dualité
X ·1=X
X · X0 = 0
GELE2442 Chapitre 3
Hiver 2015
7 / 33
Algèbre booléenne
Théorème de Demorgan
Permet d’interchanger l’opérateur + et ·, et l’opérateur de
complément:
(X + Y + Z)0 = X 0 · Y 0 · Z 0
(X · Y · Z)0 = X 0 + Y 0 + Z 0
Figure 1 : Exemples du théorème de Demorgan
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
8 / 33
Algèbre booléenne
Fonction booléenne
Fonction booléenne
Expression formée de variables binaires, comme F = X · Y + Z 0
Le symbole · représente ET (AND)
Le symbole + représente OU (OR)
Souvent représentée par une table de vérité: tableau qui représente
toutes les combinaisons possibles d’entrées et de sortie(s)
Pour n variables d’entrée, il y a 2n possibilités
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
9 / 33
Algèbre booléenne
Fonction booléenne
Exemple de table de vérité
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
1
0
1
0
1
0
1
1
Figure 2 : Exemple de table de vérité pour F = X · Y + Z 0
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
10 / 33
Algèbre booléenne
Fonction booléenne
Complément d’une fonction
Le complément d’une fonction F s’écrit F 0 .
On l’obtient en changeant les 0 pour des 1 (et vice-versa) dans la
table de vérité.
On peut aussi l’obtenir en utilisant le théorème de Demorgan.
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
11 / 33
Algèbre booléenne
Fonction booléenne
Exemple
Calculer le complément de la fonction F = X 0 Y Z 0 + X 0 Y 0 Z
F 0 = (X 0 Y Z 0 +X 0 Y 0 Z)0 = (X 0 Y Z 0 )0 ·(X 0 Y 0 Z) = (X+Y 0 +Z)·(X+Y +Z 0 )
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
12 / 33
Algèbre booléenne
Mintermes et maxtermes
Mintermes et maxtermes
Une fonction booléenne peut être exprimée de l’une de deux façons:
une somme de produits
un produit de sommes
Terme multiplié: minterme
Somme de termes: maxterme
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
13 / 33
Algèbre booléenne
Mintermes et maxtermes
Mintermes et maxtermes
X
0
0
0
0
1
1
1
1
0
1
2
3
4
5
6
7
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
Minterme
X0 · Y 0 · Z0
X0 · Y 0 · Z
X0 · Y · Z0
X0 · Y · Z
X · Y 0 · Z0
X ·Y0·Z
X · Y · Z0
X ·Y ·Z
Maxterme
X +Y +Z
X + Y + Z0
X +Y0+Z
X + Y 0 + Z0
X0 + Y + Z
X0 + Y + Z0
X0 + Y 0 + Z
X0 + Y 0 + Z0
Figure 3 : Mintermes et maxtermes à 3 bits
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
14 / 33
Algèbre booléenne
Mintermes et maxtermes
Mintermes et maxtermes
Générer les mintermes: utiliser le complément de la variable aux
endroits où on a un 0 dans la table de vérité
Générer les maxtermes: utiliser le complément lorsqu’il y a un 1 dans
la table de vérité
On exprime ensuite comme somme de mintermes ou produit de
maxtermes
Mintermes: on utilise les termes où la fonction est 1
Maxtermes: on utilise les termes où la fonction est 0
On simplifie ensuite avec l’algèbre booléenne
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
15 / 33
Algèbre booléenne
Mintermes et maxtermes
Exemple
Exprimer la fonction ayant la table de vérité de la figure suivante à l’aide
de mintermes et maxtermes.
X
0
0
0
0
1
1
1
1
Y
0
0
1
1
0
0
1
1
Z
0
1
0
1
0
1
0
1
F
1
0
0
1
1
0
1
1
Figure 4 : Table de vérité pour une fonction
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
16 / 33
Algèbre booléenne
Mintermes et maxtermes
Exemple (suite...)
Les mintermes sont exprimés avec des m minuscules; les termes où la
fonction est 1 sont: 0, 3, 4, 6 et 7.
X
F =
m0 , m3 , m4 , m6 , m7
= X0 · Y 0 · Z0 + X0 · Y · Z + X · Y 0 · Z0 + X · Y · Z0 + X · Y · Z
Les maxtermes sont exprimés avec des M majuscules; les termes où la
fonction est 0 sont: 1, 2 et 5.
Y
F =
M1 , M2 , M5
= (X + Y + Z 0 ) · (X + Y 0 + Z) · (X 0 + Y + Z 0 )
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
17 / 33
Portes logiques
Portes logiques
Selon les équations booléennes, on a trois fonctions de base:
ET (AND), représenté par le symbole ·
OU (OR), représenté par +
NON (NOT; complément), représenté par 0 ou
Chaque fonction est associée à une porte logique
Le cercle à la sortie de la porte NON indique que la porte logique a
un comportement d’inversion
La porte NON s’appelle aussi un inverseur
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
18 / 33
Portes logiques
Portes logiques
X
Y
X·Y
X
0
0
1
1
Y
0
1
0
1
X·Y
0
0
0
1
X
Y
X
0
0
1
1
ET
X+Y
Y
0
1
0
1
X0
X
X+Y
0
1
1
1
OU
X
0
1
X0
1
0
NON
Figure 5 : Trois fonctions logiques de base
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
19 / 33
Portes logiques
Portes logiques
Trois autres portes communes:
NAND: NOT-AND
NOR: NOT-OR
XOR: eXclusively-OR
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
20 / 33
Portes logiques
Portes logiques
X
Y
X ·Y
X
0
0
1
1
Y
0
1
0
1
X ·Y
1
1
1
0
X
Y
X
0
0
1
1
X +Y
Y
0
1
0
1
X +Y
1
0
0
0
X
Y
X
0
0
1
1
NOR
NAND
X⊕Y
Y
0
1
0
1
X⊕Y
0
1
1
0
XOR
Figure 6 : Trois fonctions logiques communes
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
21 / 33
Création des circuits logiques
Création des circuits logiques
Comment créer des circuits à partir des fonctions?
Chaque minterme est créé à partir des portes logiques de base
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
22 / 33
Création des circuits logiques
Exemple
F1 = X + Y 0 Z
X
F1
Y
Y 0Z
Z
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
23 / 33
Création des circuits logiques
Exemple
On a trois juges qui contrôlent le départ d’une course. La course a lieu si
au moins deux des trois juges sont prêts. Créer le circuit logique qui
représente le départ d’une course.
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
24 / 33
Implémentation NAND
Implémentation NAND
Les circuits logiques sont souvent réalisés avec des portes NAND et
NOR plutôt que des portes AND et OR
Les portes NAND et NOR nécessitent moins de transistors pour
l’implémentation
On utilise souvent des portes NAND et NOR pour faire le design,
plutôt que AND et OR
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
25 / 33
Implémentation NAND
Création des portes NAND
Création des portes NAND
Deux options:
Ajouter une bulle d’inversion à la sortie d’une porte AND
Ajouter des bulles d’inversion à l’entrée d’une porte OR (vérifier avec
DeMorgan)
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
26 / 33
Implémentation NAND
Création des portes NAND
Création des portes NAND
X
Y
Z
(X + Y + Z)0
X
Y
Z
X0 · Y 0 · Z0
= (X + Y + Z)0
Figure 7 : Portes AND et OR transformées en porte NAND
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
27 / 33
Implémentation NAND
Transformation AND-OR à NAND
Transformation AND-OR à NAND
Il faut que le circuit (ou la fonction logique) soit de la forme d’une
somme de produits
Seulement possible avec des mintermes
On ajoute des bulles d’inversion à la sortie des portes AND et à
l’entrée des porte OR
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
28 / 33
Implémentation NAND
Transformation AND-OR à NAND
Exemple
F = AB + CD
Le circuit correspondant à cette fonction est montré à la figure suivante,
sous la forme d’un circuit AND-OR.
A
B
F
C
D
Figure 8 : Fonction F = AB + CD implantée en logique AND-OR
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
29 / 33
Implémentation NAND
Transformation AND-OR à NAND
Exemple: transformation à NAND
A
B
A
B
F
C
D
F
C
D
Figure 9 : Portes AND-OR transformées en portes NAND
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
30 / 33
Chronogrammes
Chronogramme
Représentation graphique des ondes synchronisées franchissant une ou
des portes logiques
Permet de représenter l’évolution d’un signal (une sortie) dans le
temps
Permet d’identifier les relations cause-à-effet
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
31 / 33
Chronogrammes
Exemple: porte ET
A
B
F
td
Figure 10 : Chronogramme pour une porte ET
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
32 / 33
Chronogrammes
Chronogramme
La flèche rouge montre la relation entre l’entrée et l’activation de la
sortie
La porte a aussi un délai: les portes logiques réelles auront toujours
un délai; ce délai peut avoir une grande importance lorsque qu’on a
plusieurs portes en cascade
Gabriel Cormier (UdeM)
GELE2442 Chapitre 3
Hiver 2015
33 / 33