Telechargé par Lahcen Elmentaly

Séminaire logique combinatoire.ppt

publicité
Séminaire sur la logique
combinatoire
Les objectifs du séminaire:
A. Appliquer des notions d’algèbre booléenne.
B. Établir les tables de vérité d’un circuit.
C. Écrire une équation logique à partir de la table de vérité.
D. Traduire des équations en schémas.
E. Réduire des équations par la méthode de
Karnaugh.
F. Effectuer des conversions entre des bases numériques et des codes.
G. Monter des circuits de base.
A. Appliquer des notions d’algèbre booléenne
1-1 Variables booléennes :
Une variable booléenne est une grandeur physique qui ne
peut prendre que deux états stables.
Exemples :
- Appareils de commande : un interrupteur peut être fermé
ou ouvert un poussoir bouton peut être actionné ou non
actionné.
- Récepteurs : Une lampe d’éclairage peut être allumée ou
éteinte un électro-aimant peut être excité ou non excité.
Certaines applications qui ne prennent en compte que deux
valeurs relatives à des grandeurs physiques (ex: tension,
charge électromagnétique, etc.) font que ces dernières soient
considérées comme des variables binaires.
1-2 État logique d’une variable booléenne :
Les deux valeurs que peut prendre une variable binaire
définissent ses deux états logiques. Par convention, chaque
état stable est désigné: par le chiffre zéro (0) et par un (1).
Opérateurs binaires de logique combinatoire
Opérateur OUI ou opérateur égalité
La sortie est à l’état 1 si, et seulement si, l’entrée est à
l’état 1.
Opérateur NON ou opérateur négation
La sortie est à l’état 1 si, et seulement si, l’entrée est
à l’état 0.
Opérateur ET ou produit logique
La sortie est à l’état 1 si, et seulement si, toutes les
l’entrées sont à l’état 1.
Opérateur ET-NON ou opérateur négation du ET
La sortie est à l’état 0 si, et seulement si, toutes les
l’entrées sont à l’état 1.
Opérateur OU ou somme logique
La sortie est à l’état 1 si, et seulement si, une ou
plusieurs entrées sont à l’état 1.
Opérateur OU-NON ou opérateur négation du OU
La sortie est à l’état 1 si, et seulement si, toutes les
l’entrées sont à l’état 0.
Opérateur OU EXCLUSIF
La sortie est à l’état 1 si, et seulement si, une seule
entrée est à l’état 1.
Opérateur OU-NON EXCLUSIF
La sortie est à l’état 1 si, et seulement si, les deux
entrées sont dans le même état.
Les lois de l’algèbre de Boole
Les Théorèmes de l’algèbre de Boole
Postulats de l’algèbre de Boole
B. Établir les tables de vérité d’un circuit
I –Règles de construction :
La table de vérité est une compilation, sous forme de tableau, de tous les états
logiques de la sortie en fonction des états logiques des entrées.
Les étapes à suivre pour construire une table de vérité :
- Écrire, sur une première ligne, le nom des variables d’entrées et celui de
la variable de sortie.
- Diviser le tableau en un nombre de colonnes égal au total des entrées et de la
sortie.
- Déterminer le nombre de combinaisons possibles à l’aide des variables
d’entrée : soit 2nombre d’entrée .
- Tracer des lignes horizontales en un nombre égal au nombre de combinaisons
possibles
- Remplir chaque ligne par une combinaisons possible des variables d’entrée :
ça revient à compter en binaire de 0 à (2n – 1).
- Inscrire, dans la colonne « sortie », la valeur de la fonction pour chaque
combinaison.
A l'aide de petit tableau, on indiquera que si
l'interrupteur est ouvert alors la lampe sera éteinte et
que si l'interrupteur est fermé les électrons passeront
par cet interrupteur ainsi que dans la lampe pour aller
vers la borne positive de la source. La lampe sera
allumée. On remarque qu' un interrupteur ouvert reçoit
un"0" logique et que s'il est fermé, il reçoit un "1"
logique. Le petit tableau sous le schéma de principe est
appelé table de vérité.
TABLE DE VERITE à 2 variables
b
a
0
0
0
1
1
0
1
1
S
Exemple : Soit S = A . B + B . C  table de vérité à 3 variables d’entrée
TABLE DE VERITE à 3 variables
c
b
a
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
S
TABLE DE VERITE à 4 variables
d
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
c
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
a
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S
C. Écrire une équation logique à partir de la table
de vérité
Écriture d’une équation à partir d’une table de vérité :
Il existe 2 méthodes :
1. Première forme canonique: Somme de produits
A chaque "1" de la variable de sortie, faire correspondre
un produit des n variables d’entrée sous la forme normale
lorsque la variable d’entrée est à " 1", sous la forme
complément si la variable d’entrée est à " 0".
Faire la somme logique de produits.
Sa b c  ab cabc
2. Deuxième forme canonique: Produit de sommes
A chaque « 0" de la variable de sortie, faire correspondre
une somme des n variables d’entrée sous la forme normale
lorsque la variable d’entrée est à " 0", sous la forme
complément si la variable d’entrée est à " 1".
Faire le produit logique de sommes.




S  a  b  c  a  b  c a  b  c a  b  c a  b  c

D. Traduire des équations en schémas
Schémas logiques : Généralité
Un schéma logique est la représentation graphique de
l’équation d’une ou plusieurs variables de sortie grâce aux
opérateurs de base vus précédemment.
On distingue 3 types de schémas logiques:
- Le 1er type comprend des opérateurs NON, ET, OU
- Le 2éme type ne comprend que des opérateurs NON ET
(NAND)
- Le 3éme type ne comprend que des opérateurs NON OU
(NOR).
1 Schéma logique comprenant des opérateur NON, ET, OU :
Pour traduire une équation en schéma logique avec ces opérateurs, il faut :
- Déterminer le nombre d’opérateurs NONcompter le nombre des variables
complémentées.
- Déterminer le nombre d’opérateurs ET  compter le nombre de groupes de
produit logique et déduire le nombre d’entrées nécessaires sur chaque opérateur.
- Déterminer le nombre d’opérateur OU  compter le nombre de groupes de
somme logique et déduire le nombre d’entrées nécessaires sur chaque opérateur.
- Relier les différents opérateurs de base.
Exemples :
-
Nombre d’opérateurs NON : 4
Nombre d’opérateurs ET : 3 à 3 entrées
Nombre d’opérateurs OU : 1 à 3 entrées.
L’équation comporte deux fois B3; pour les obtenir, il suffit
d’utiliser un seul opérateur NON , d’où 3 opérateurs NON
au lieu de 4.
Schéma logique
2 Schéma logique ne comprenant que des opérateurs
NON ET
SS
.
Pour réaliser ce schéma, il faut les deux conditions
suivantes :
- l’équation ne doit comporter que des ET logiques
transformer l’équation en appliquant les théorèmes de De
Morgan.
- l’équation doit être entièrement recouverte par une barre
utiliser les propriétés de la négation S
. S
Exemple:
R1B1B2B3 B4B1B5 B4B2B3
Transformation des OU logiques en ET logique en appliquant
le théorème de De Morgan :
R1R1B1B2 B3  B4 B1B5  B4 B2 B3 B1B2 B3B4 B1B5 B4 B2 B3
Il y a huit barres
8 opérateurs NON ET.
Schéma logique
3 Schéma logique ne comprenant que des opérateur
NON OU
Pour réaliser ce schéma il faut les deux conditions suivantes :
- l’équation ne doit comporter que des ou logiques transformer
l’équation en appliquant les théorèmes de Morgan.
- l’équation doit être entièrement recouverte par une barre
utiliser les propriétés de la négation :
Exemple:
R1B1B2B3 B4B1B5 B5B2B3
Schéma logique
E. Réduire des équations par la méthode de
Karnaugh
I- Transposition d’une équation logique dans un diagramme de
Karnaugh :
1-1 Diagramme de Karnaugh :
C’est un diagramme qui reprend les indications de la table de vérité pour
les mettre sous une autre forme. Le nombre de cases est égal au nombre
de lignes de la table de vérité, ou encore au nombre de combinaisons des
variables d’entrée.
Exemple :
A/ 1 variable d’entrée A
B/ 2 variables d’entrée A et B
C/ 3 variables d’entrée A, B, et C
21 combinaisons = 2 cases.
22 combinaisons = 4 cases.
23 combinaisons = 8 cases
TABLEAU DE KHARNAUGH
à 2 VARIABLES
a
b
0
0
1
1
TABLEAU DE KHARNAUGH
à 3 VARIABLES
ab
c
00
0
1
01
11
10
TABLEAU DE KHARNAUGH
à 4 VARIABLES
ab
cd
00
01
11
10
00
01
11
10
LS 7408
V CC
4B
4A
4Y
3B
3A
3Y
14
13
12
11
10
9
8
1
2
3
4
5
6
7
1A
1B
1Y
2A
2B
2Y
GND
LS 7432
VCC
4B
4A
4Y
3B
3A
3Y
14
13
12
11
10
9
8
1
2
3
4
5
6
7
1A
1B
1Y
2A
2B
2Y
GND
LS7400
4B
4A
4Y
3B
14
13
12
11
1
2
3
1B
1Y
V CC
1A
3A
3Y
10
9
8
4
5
6
7
2A
2B
2Y
GND
SN74LS10
V CC
1C
1Y
3C
3B
3A
3Y
14
13
12
11
10
9
8
1
2
3
4
5
6
7
1B
2A
2B
2C
2Y
1A
GND
SN74LS02
Vcc
4Y
4B
4A
3Y
14
13
12
11
10
1
2
3
4
5
6
1Y
1A
2B
2Y
2A
2B
3B
9
3A
8
7
GND
F. Effectuer des conversions entre des bases
numériques et des codes.
– Conversion entre bases :
1-1 Conversion des bases 2, 8 ou 16 en base 10 :
Pour convertir un nombre de base 10, il suffit de décomposer le nombre en ses
quantités et d’en faire la somme.
Exemples :
(10110, 01)2 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20 + 0 x 2-1 + 1 x 2-2
= 1 x 16 + 0 x 8 + 1 x 4 + 1 x 2 + 0 x 1 + 0 x 0, 5 + 1 x 0, 25
= (22, 25)10
(372, 06)8
= 3 x 82+ 7 x 81+ 2 x 80 + 0 x 8-1+ 6 x 8-2
= 3 x 64 + 7 x 8 + 2 x 1 + 0 x 0, 125 + 6 x 0, 015625
= (250, 09375)10
(FD, 2A)16
= F x 161 + D x 160 + 2 x 16-1 + A x 16-2
= 15 x 16 + 13 x 1 + 2 x 0, 0625 + 10 x 0, 00390625
=(253, 1640625)10
1-2- Conversion de la base 10 aux bases 2, 8 et 16 :
Cette conversion se fait en deux parties.
1- La partie entière.
2- La partie fractionnaire.
Exemple 1 : Conversion du nombre 91, 2 en BASE 2
On traite d’abord la partie entière :
On divise le nombre 91 par 2 successivement. Les
restes de la division correspondent
aux symboles composant le nombre binaire, le premier reste occupant
la position 20 .
Position
20
21
23
24
25
26
on l’écrit dans le sens.
(91)10 = (1011011)2
Reste
1
1
0
1
1
1
91/2
45/2
22/2
11/2
5/2
2/2
0
On traite après la partie fractionnaire :
0, 4 x 2 =
0_, 8
0, 8 x 2 =
1, 6
0, 6 x 2 =
1, 2
0, 2 x 2 =
0, 4
0, 4 x 2 =
0,8
D’où (0, 4)10 = (0, 01100)2
Résultat : (91, 4)10 = (1011011, 0110)2
1-3- Conversion de la base binaire à la base octale :
On obtient l’équivalent octal du nombre binaire en le
partageant en tranche de 3 chiffres de droite à gauche pour la partie
entière et de gauche à droite pour la partie fractionnaire, puis en
remplaçant chaque tranche par son équivalent octal.
Exemple :
*
(011/010/101/110 , 001/011/100)2
= ( 3 2 5 6 , 1 3 4 )8
* On peut faire l’opération à l’inverse du octal au binaire
Ex : (2 4 3, 2 1)8
(010 100 011, 010 001)2
1-4 Conversion de la base 2 à la base 16 :
On obtient l’équipement hexadécimale du nombre binaire en le
partageant en tranches de 4 chiffres de D à G pour la partie entière et de
G à D pour la partie fractionnaire et en remplaçant chaque tranche par
son équivalent hexadécimal.
Exemple :
*
(0011/1101/0010/1110 , 1101/0100)2
= ( 3 D 2 E , D 3 4 )16
* On peut faire l’opération inverse de la base 16 à la base 2.
Ex : (B 3 0, 1 A)16
(1011 0011 0000, 0001 1010)2
II- Conversions Intercode :
2-1 Conversion du code (naturel) en code Gray : (binaire réfléchi)
Pour chaque chiffre du nombre à transformer, on le transcrit tel que ou
bien on le remplace par son complément selon que ce chiffre est
précédé d’un 0 ou d’un 1.
Exemple :
Binaire : 001101
Gray
:
01011
0100100
110110
2-2 Conversion du code de Gray au code binaire :
On part de gauche à droite, on transcrit chaque chiffre tel
que ou on le remplace par son complément selon que le chiffre
précédent obtenu de l’équipement binaire est un 0 ou un 1.
Exemple :
Gray
:
10110
100101100111
Binaire : 0110411
0111001000101
G. Montage des circuits de base
Multiplexeur
Sélection d’une voie parmi 2N par N bits de commande
Si (S1S0)2 = 0 alors Q = I0
I0
I1
I2
I3
Q  S0 . S1 . I O
Q
Si (S1S0)2 = 1 alors Q = I1
Q  S0 .S1.I1
Mux 4 vers 1
S1 S0
Q  S1 . S0 . I 0  S1 . S 0 . I 1  S1 . S 0 . I 2  S1 . S 0 . I 3
18/03/2020
Yannick HERVE (ENSPS)
58
Multiplexeur (constitution)
Q  S1 . S0 . I 0  S1 . S 0 . I 1  S1 . S 0 . I 2  S1 . S 0 . I 3
I0
&
I1
&
Q
I2
&
>1
I3
S1
S0
18/03/2020
&
Yannick HERVE (ENSPS)
59
Multiplexeur : réalisation de fonctions
Utilisation de la première forme canonique
ab
00
01
10
11
F
0
1
1
0
F(0,0)
F(0,1)
F(1,0)
F(1,1)
0
1
1
0
I0
I1 Mux
I2 4 vers 1
I3 S S
1 0
Q= F
a b
18/03/2020
Yannick HERVE (ENSPS)
60
Multiplexeur : réalisation de fonctions
Utilisation de la première forme canonique
ab
00
01
10
11
F
0
1
1
0
F(0,0)
F(0,1)
F(1,0)
F(1,1)
0
1
1
0
I0
I1 Mux
I2 4 vers 1
I3 S S
1 0
Q= F
a b
Toute fonction logique de N variables est réalisable
avec un multiplexeur de 2N vers 1
18/03/2020
Yannick HERVE (ENSPS)
61
Multiplexeur : réalisation de fonctions (2)
abc
000
001
010
011
100
101
110
111
F
0
0
1
1
0
1
1
0
18/03/2020
(ab)2 = 0
F=0
(ab)2=1
F=1
(ab)2 = 2
F=c
(ab)2 = 3
F=c
0
1
c
c
I0
I1 Mux
I2 4 vers 1
I3 S S
1 0
Q= F
a b
Yannick HERVE (ENSPS)
62
Multiplexeur : réalisation de fonctions (2)
abc
000
001
010
011
100
101
110
111
F
0
0
1
1
0
1
1
0
(ab)2 = 0
F=0
(ab)2=1
F=1
(ab)2 = 2
F=c
(ab)2 = 3
F=c
0
1
c
c
I0
I1 Mux
I2 4 vers 1
I3 S S
1 0
Q= F
a b
Toute fonction logique de N variables est réalisable
avec un multiplexeur de 2N-1 vers 1 et un inverseur
18/03/2020
Yannick HERVE (ENSPS)
63
Démultiplexeur : 1 parmi 2n
Q0
Q1
E
1 parmi 2N
S1 S0
18/03/2020
Q2
Q3
Q0 = E si (S1S0)2=0
E sinon
Q1 = E si (S1S0)2=1
E sinon
Remarque : E peut ne pas être «disponible»
Sortie sélectionnée = 1 les autres 0
ou Sortie sélectionnée = 0 les autres 1
Yannick HERVE (ENSPS)
64
Démultiplexeur : 1 parmi 2n
E=1
Q0  E . S1 . S0  E . S1 . S0
E
1 parmi 2N
Q0
Q1
Q2
Q3
 E . S1 . S0  E .( S1  S0 )
Q1  E . S1 . S0  E . S1 . S0
 E . S1 . S0  E .( S1  S0 )
S1 S0
18/03/2020
Q0  S1 . S0
Q1  S1 . S0
Qi=(i)2
Yannick HERVE (ENSPS)
65
Démultiplexeur: réalisation de fonctions
ab
00
01
10
11
F
0
1
1
0
Q0
F(0,0)
F(0,1)
F(1,0)
F(1,1)
Q1
1
Q2
Q3
F
>1
1 parmi 2N
a b
S1 S0
18/03/2020
Yannick HERVE (ENSPS)
66
Codeur (ou Encodeur)
Faire correspondre un mot code à un symbole
1 entrée
parmi N
0
1
0
0
I0
I1
I2
I3
C0
C1 Le code de l’entrée
Exemple : Clavier / Scan code
Caractère / Code ASCII
18/03/2020
Yannick HERVE (ENSPS)
67
Décodeur
Remarque : Multiplexeur
Codeur
Démultiplexeur
Décodeur
Décodeur = Démultiplexeur (à E fixe)
Exemple
0
1
Q0
C0
C1
Q1
Q2
Q3
0
0
1
0
Exemple : adresses pixel / position effective pixel
18/03/2020
Yannick HERVE (ENSPS)
68
Téléchargement