Cours Electronique Numérique
Cours Electronique Numérique
Cours Electronique Numérique
Filière: SMP6
Cours d’Electronique
Numérique
A. OBBADI
Année universitaire : 2018-2019
Chapitre 0:
Electronique
numérique
Module (Tronc commun) : Electronique Par
numérique (M33)
Abdellatif OBBADI 1
Représentations numériques - analogiques
2
3
• Grandeur Analogique • Grandeur Numérique
V(t)
Vmax
V(t)
5V
0V
t t
Vmin
4
Exemples de système numérique
5
Exemple de système analogique
6
Exemple d’un système qui combine le
numérique et l’analogique: la caméra
numérique compacte
7
Caméra numérique compacte
Traitement analogique:
Un capteur CCD (Coupled Charge
Device) transforme l’énergie lumineuse
reçue en un signal électrique.
Un convertisseur analogique/numérique
(CAN) se charge, par la suite, de convertir
ce signal en données binaires.
8
Conversion Analogique - Numérique
- Echantillonnage
Shannon Fe ≥ 2 Fmax
- Quantification
- Codage ex 8 bits
9
Exemple de convertisseur
analogique numérique (CAN)
10
En résumé
Avantages des systèmes et techniques numériques
les systèmes sont plus simples à concevoir
11
En résumé (suite)
Un seul désavantage:
Le monde réel est analogique
Solution
1. Traduire les signaux analogiques du monde
13
Chapitre 1: Numération
et représentation de
l’information dans la
machine
Module (Tronc commun) : Electronique Par
numérique (M33)
1 Abdellatif OBBADI
Introduction
Langage compréhensible
par l’homme
la codification
(ou le codage)
Langage compréhensible
par la machine
2
Introduction
Un langage, c’est :
Un alphabet : ensemble de symboles
utilisés
Des mots, des phrases : combinaisons
des éléments (des lettres) de l’alphabet
Une syntaxe : ensemble de règles qui
définissent comment construire ces
mots et ces phrases
3
Introduction
•Prenons le système décimal
La base 10, on l’utilise tous les jours !
•Alphabet : 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9
•Mots : 2856,45
•Syntaxe : c’est un code de position. Cela
signifie que la valeur d’un chiffre dépend de
sa position dans le nombre : son rang.
2 8 6 5
RANG 4 3 2 1 x (multiplication)
POIDS 1000 100 10 1
RANG 4 3 2 1
POIDS = 10 (2 – 1) = 101 = 10
103 102 101 100
POIDS = 2 (RANG – 1)
• Exemple (11100110)2 (?)10
1 1 1 0 0 1 1 0
RANG 8 7 6 5 4 3 2 1
POIDS 27 26 25 24 23 22 21 20
POIDS = 2 (6 – 1) = 25 = 32
Poids 128 64 32 16 8 4 2 1
Reste 102 38 6 6 6 2 0 0
( 1 1 1 0 0 1 1 0 )2
10
La conversion des nombres entiers
•Les opérations binaires
L’addition
Exemple
(1011)2 + (0110)2
+ 0 1
Soit (11)10 + (6)10 = (17)10
1 1 1 Retenues intermédiaires
0 0 1
1 0 1 1
+ 0 1 1 0
1 1 0* ------------------------
1 0 0 0 1
* 1 + 1 = 10
Je pose 0 et je retiens 1 (17)10
11
La conversion des nombres entiers
•Les opérations binaires
La soustraction
Exemple
0 1 (1011)2 - (0110)2
-
Soit (11)10 - (6)10 = (5)10
0 0 1* 1 0 1 1
- 0 1 1 0
1 1 0 1 Retenues intermédiaires
------------------------
0 1 0 1
* Je pose 1 et je retiens 1
(5)10
12
La conversion des nombres entiers
•Les opérations binaires
La multiplication
Exemple
(1011)2 x (110)2
0 1 Soit (11)10 x (6)10 = (66)10
x
1 0 1 1
0 0 0 x 1 1 0
------------------------
1 1 1 1 Retenues intermédiaires
1 0 1 0 0 0 0
1 0 1 1 .
1 0 1 1 . .
------------------------------
(66)10 1 0 0 0 0 1 0
13
La conversion des nombres entiers
•Les opérations binaires
La division
101100 100
-100
------- 1 0 1 1 (44)10
1 1
110 Sens de lecture
-100
------- Exemple
100
(101100)2 ÷ (100)2
-100
-------
0 Soit (44)10 ÷ (4)10 = (11)10
14
Le système octal et hexadécimal
•Alphabet : 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7
•Mots : 125,57
•Syntaxe : code de position
•Nous sommes donc en base 8
•POIDS = 8 (RANG – 1)
•Notation des nombres
•n8 ex: (2542)8
16
Le système octal Premières puissances de 8
n 8n
• Base 8 vers base 10
0 1
1 8
POIDS = 8 (RANG – 1)
2 64
• Exemple (1207)8 (?)10 3 512
4 4 096
1 2 0 7 5 32 768
6 262 144
RANG 4 3 2 1 7 2 097 152
POIDS 83 82 81 80
POIDS = 8 (4 – 1) = 83 = 512
17
Le système octal
•Base 10 vers base 8
On utilise la méthode des divisions successives
Même principe que pour le système binaire,
SAUF que l’on divise par 8
647 8
7 80 8
0
10 8
Exemple : (647)10 (?)8 2
1 8
1
0
Sens de lecture
Réponse : (1207)8 18
Le système octal
• Base 2 vers base 8
• Un nombre octal est constitué de chiffres de 0 à 7 qui
constituent le regroupement de 3 chiffres binaires (car 23 =
8)
• Le regroupement se fait en commençant par la droite
Exemple (1010000111)2 (?)8
1 0 1 0 0 0 0 1 1 1
RANG 3 2 1 3 2 1 3 2 1 3 2 1
POIDS 22 21 20 22 21 20 22 21 20 22 21 20
VALEUR 0 + 0 + 1 0 + 2 + 0 0 + 0 + 0 4 + 2 + 1
( 1 2 0 7 )8
19
Le système octal
• Base 8 vers base 2 Base 10 Base 2
Il suffit de savoir compter jusqu’à 7 en binaire ! 0 0
1 1
2 10
3 11
Exemple (1207)8 (?)2 4 100
5 101
1 2 0 7 6 110
7 111
0 0 1 0 1 0 0 0 0 1 1 1
Résultat ( 1 0 1 0 0 0 0 1 1 1 )2
20
Les opérations en octal
Addition Soustraction
Exemple Exemple
(2572)8 + (310)8 (2572)8 - (610)8
Soit (1402)10 + (200)10 = (1602)10 Soit (1402)10 - (392)10 = (1010)10
1 1
2 5 7 2 2 5 7 2
+ 3 1 0 - 6 1 0
1
------------------------ ------------------------
3 1 0 2 1 7 6 2
(5 + 8) – 6 = 7 21
Le système hexadécimal
•Définition du langage
•Alphabet : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
• Mots : 2F5,57D
•Syntaxe : code de position
•Nous sommes donc en base 16
•POIDS = 16 (RANG – 1)
•Notation des nombres
•n16 ex: (2AF2)16
22
Le système hexadécimal
Premières puissances de 16
2.2 – Base 16 vers base 10
n 16n
0 1
POIDS = 16 (RANG – 1) 1 16
• Exemple (1A8F)8 (?)10 2 256
3 4096
1 A 8 F 4 65 536
5 1 048 576
RANG 4 3 2 1 6 16 777 216
POIDS 163 162 161 160
POIDS = 16 (3 – 1) = 162 = 256
1 1 0 1 1 0 1 0 1 1 1 0 0
RANG 4 3 2 1 4 3 2 1 4 3 2 1 4 3 2 1
POIDS 23 22 21 20 23 22 21 20 23 22 21 20 23 22 21 20
( 1 B 5 C )16
25
Le système hexadécimal Base Base
• Base 16 vers base 2 16 2
0 0
Il suffit de savoir compter jusqu’à 15 en binaire ! 1 1
2 10
Exemple (1B5C)16 (?)2
3 11
1 B 5 C 4 100
5 101
6 110
7 111
8 1000
0 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 9 1001
A 1010
Résultat ( 1 1 0 1 1 0 1 0 1 1 1 0 0 )2 B 1011
Bit de poids le plus faible
C 1100
Exemple : LSB (Less significant Bit)
D 1101
Binaire 1101 1100 1111 0111 1011 0010 1010 1110 E 1110
Hexadécimal D C F 7 B 2 A E F 1111
(13) (12) (15) (7) (11) (2) (10) (14) 26
Le système hexadécimal
•Base 16 vers Base 8
•Pour passer de la base 16 vers la base 8 ou
inversement, le plus simple est de repasser par
le binaire
27
Les opérations en hexadécimal
Addition Soustraction
Exemple Exemple
(2F12)16 + (3C0)16 (2F12)16 - (3C0)16
Soit (12050)10 + (960)10 = (13010)10 Soit (12050)10 - (960)10 = (11090)10
2 F 1 2 2 F 1 2
+ 3 C 0 - 3 C 0
1
------------------------ ------------------------
3 2 D 2 2 B 5 2
C 12
1 + 12 = 13 D
(1 + 16) – 12 = 5 28
Codes
Exemple
1 2 9 5 6 2
Construction 0
1
Code Gray
Code Gray ou binaire réfléchi : code à symétries multiples
Construction 0
1
1
Symétrie
0
«Miroir»
Code Gray
Code Gray ou binaire réfléchi : code à symétries multiples
Construction
00 On complète par des 0
01
11
10 On complète par des 1
Code Gray
Construction
00
01
11
10 Symétrie
10
11
01
00
Code Gray
Code Gray ou binaire réfléchi : code à symétries multiples
Construction 000
001
On complète par des 0
011
010
110
111 On complète par des 1
101
100
Code Gray
Binary Gray
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 0 1 0
4 0 1 0 0 0 1 1 0
5 0 1 0 1 0 1 1 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 0 0
8 1 0 0 0 1 1 0 0
9 1 0 0 1 1 1 0 1
10 1 0 1 0 1 1 1 1
11 1 0 1 1 1 1 1 0
12 1 1 0 0 1 0 1 0
13 1 1 0 1 1 0 1 1
14 1 1 1 0 1 0 0 1
15 1 1 1 1 1 0 0 0
Conversion de la base binaire au code
Gray (1ème méthode)
Le bit de gauche, du poids le plus fort, reste le même
qu’en binaire;
De la gauche vers la droite, chaque bit est additionné
à son voisin de droite. La somme est reportée à la
ligne inférieure, qui correspond au code Gray. Les
retenues sont négligées;
Le résultat en Gray comporte toujours le même
nombre de bits que la représentation binaire ordinaire
Conversion de la base binaire au code
Gray (1eme méthode)
0 1 0 0 Code Gray
Conversion du code Gray à la base
binaire
0 1 1
+ 0 1 0 0 Code Gray
0 1 1 1 Code binaire
Conversion de la base binaire au code
Gray (2eme méthode)
Codage des caractères
Les caractères englobent : les lettres alphabétiques ( A, a, B, b,..
), les chiffres, et les autres symboles ( > , ; / : …. ) .
Le codage le plus utilisé est le ASCII (American Standard Code
for Information Interchange)
Dans ce codage chaque caractère est représenté sur 8 bits .
Avec 8 bits on peut avoir 28 = 256 combinaisons
Chaque combinaison représente un caractère
– Exemple :
• Le code 65 (01000001)2 correspond au caractère A
• Le code 97 (01100001)2 correspond au caractère a
• Le code 58 (00111010)2 correspond au caractère :
Représentation des caractères
Représentation des nombres entiers
• Il existe deux types d’entiers :
– les entiers non signés ( positifs )
– les entiers signés ( positifs ou négatifs )
• Problème : Comment indiquer à la machine qu’un
nombre est négatif ou positif ?
Contraintes
* En binaire seul 0 et 1 sont utilisables
* Utilisation d’un nombre fixe de bits
Méthode 1: signe/valeur absolue
Si on travail sur n bits, alors le bit de poids fort
indique le signe du nombre :
0 si nombre positif
1 indique un nombre négatif
Les autres bits indiquent la valeur absolue
Exemple
Bit de Bit de
signe signe
0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1
+ 113 - 113
Méthode 1: signe/valeur absolue
Sur 3 bits on obtient :
signe VA valeur • Les valeurs sont comprises
0 00 +0 entre -3 et +3
0 01 +1
0 10 +2 -3 ≤ N ≤ +3
0 11 +3 - ( 4-1 ) ≤ N ≤ + (4 -1 )
-(22 -1) ≤ N ≤ +(22-1 )
1 00 -0
-(2 (3 -1) -1) ≤ N ≤ +(2 (3 -1) -1 )
1 01 -1
1 10 -2
1 11 -3
N+N’=2n-1
n : est le nombre de bits de la représentation du nombre N .
Exemple :
1 0 1 0 N
+
0 1 0 1 N’
= 1 1 1 1
Méthode 2: Représentation en complément à un
Remarque 1
1 0 1 0 0 1 0 1 0
Remarque 2 0 1 0 1 1 0 1 0 1
Le complément à un du complément à un d’un nombre est égale au
nombre lui même .
CA1(CA1(N))= N
Méthode 2: Représentation en complément à un
On dispose également d’un bit de signe comme dans la méthode
« signe/valeur absolue » mais pour la valeur négative on prend le
complément à 1 de la valeur absolue.
Pour la valeur positive on garde la même valeur que dans la
méthode Signe / Valeur absolue.
Pour la valeur négative on complémente à 1 et on prend « 1 » pour le
bit de signe.
Exemple 1
Bit de Bit de
signe signe
0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0
+ 113 - 113
Méthode 2: Représentation en complément à un
Exemple 2 :
• Quelle est la valeur décimale représentée par la
valeur 101010 en complément à 1 sur 6 bits ?
• Le bit du poids fort indique qu'il s'agit d'un nombre
négatif.
Valeur = - CA1(101010)
= - (010101)2= - ( 21)10
Méthode 2: Représentation en complément à un
Si on travail sur 3 bits : Valeur en Valeur en Valeur
CA1 binaire décimal
000 000 +0
001 001 +1
010 010 +2
011 011 +3
100 - 011 -3
101 - 010 -2
110 - 001 -1
111 - 000 -0
-3 ≤ N ≤ +3
- ( 4-1 ) ≤ N ≤ + (4 -1 )
-(22 -1) ≤ N ≤ +(22-1 )
-(2 (3 -1) -1) ≤ N ≤ +(2 (3 -1) -1 )
1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 0
Remarque 2
• Dans cette représentation, le bit du poids fort nous indique le
signe ( 0 : positif, 1 : négatif ).
• Le complément à deux du complément à deux d’un nombre est
égale au nombre lui même.
CA2(CA2(N))= N
Méthode 3: Représentation en complément à
deux
Exemple :
Valeur = - CA2(101010)
= - (010101 + 1)
= - (010110)2= - ( 22)
Méthode 3: Représentation en complément à deux
Si on travail sur 3 bits :
Valeur en Valeur en Valeur Valeur en Valeur en Valeur
CA1 binaire décimal CA2 binaire décimal
-4 ≤ N ≤ +3
- 4 ≤ N ≤ + (4 -1 )
- 22 ≤ N ≤ +(22-1 )
-2 (3 -1) ≤ N ≤ (2 (3 -1) -1 )
Report
Report Report
Négatif
Positif
1 0 1 0 0 1
1 x 2-1 = 0,5 + x x x x x x
0 x 2-2 = 0 + 2-1 2-2 2-3 2-4 2-5 2-6
1 x 2-3 = 0,125 + (0,5) (0,25) (0,125) (0,0625) (0,03125) (0,015625)
0x 2-4 = 0 +
0 x 2-5 = 0 +
1x 2-6 = 0,015625 0,5 + 0 + 0,125 + 0 + 0 + 0,015625 0,640625
0,640625
68
Passage de la base 10 à la base n
La partie entière est transformée en effectuant des divisions successives.
On multiplie la partie fractionnaire par n, On répète l’opération sur la partie
fractionnaire du produit jusqu’à ce qu’elle soit nulle (ou que la précision souhaitée
soit atteinte),
Ce codage peut s’écrire sous la forme:
[partie entière en binaire, partie décimale en binaire]
Exemple : Passage de la base 10 à la base 2
54,25 ( 10 ) = 54 ( 10 ) + 0,25( 10 )
( 54 ) 10 = ( 110110 ) 2 Remarque :
0,25 × 2 = 0,50 Le nombre de bits
0 après la virgule va
déterminer la
précision .
0,50 × 2 = 1,00
1
(54 ,25) 10 = ( 110110,010 ) 2
0,00 × 2 = 0,00 0 69
Exemple : Passage de la base 10 à la base 8
0,80 × 8 = 6,40 6
0,40 × 8 = 3,20 3
0,20 × 8 = 1,60 1
E
Y = M.2
Mantisse
La norme IEEE 754 normalise cette représentation. Elle distingue 2
représentations:
Format 32 bits simple précision (type float)
Format 64 bits double précision
exposant codé = exposant réel + excédent
71
Nombre binaire à virgule flottante
La norme IEEE 754 définit la façon de coder un nombre réel:
la forme 1,xxxxx...×2n (exemple 1,0101 × 22).
Cette norme se propose de coder le nombre sur 32 bits et définit trois
composantes :
• le signe est représenté par un seul bit, le bit de poids fort (celui le
plus à gauche)
• l'exposant (décalé) est codé sur les 8 bits consécutifs au signe
• la mantisse (les bits situés après la virgule) sur les 23 bits restants
• Ainsi le codage se fait sous la forme suivante :
seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm
72
Nombre binaire à virgule flottante
Format 32 bits
Il est représenté en binaire décalé
avec un biais égal à 127 (translation
Bit = 0: M signe +
Bit = 1: M signe - de 127).
31 30 23 22 0
S Exposant E Mantisse M
E+127
Bit de signe
8 bits 23 bits
32 bits
-127 0 128
Eréel
E 0 127 255
translation de
+ 127
E = Eréel + 127
74
La norme IEEE 754 sur 32 bits
Exemple:1
1,mantisse * 2 exposant
Codage en
binaire
12,5 = 8 + 4 + 0,5
12,5 = +1,1001*23 Forme normalisée
12,5 = 23 + 22 + 2-1
12,5 = (1100,1)2 Codage de 3 par excès de 127
3+127 = 128+2 = 27+21 = (10000010)2
1 1 0 0 01 0 01 00 0 00 0 11 1 100 0 00 0 00 0 00 0 0
En hexadecimal: C4 81 E0 00
77
Nombre binaire à virgule : Exemple
Exemple: 3
Soit à coder en simple précision la valeur 525,5.
525,5 est positif donc le 1er bit sera s = 0.
Sa représentation en base 2 est la suivante :
1000001101,1
En normalisant, on trouve : 1,0000011011 × 29
On ajoute 127 à l'exposant 9 ce qui donne 136, soit en
base 2 : eeeeeeee = 10001000
La mantisse est composée de la partie décimale de 525,5
en base 2 normalisée, c'est-à-dire 0000011011.
Comme la mantisse doit occuper 23 bits, il est nécessaire
d'ajouter des zéros pour la compléter :
00000110110000000000000
La représentation du nombre 525,5 en binaire avec la norme
IEEE est donc :
0 1000 1000 00000110110000000000000
0100 0100 0000 0011 0110 0000 0000 0000 78
(4403600 en hexadécimal)
Nombre binaire à virgule : Règles
79
Etendue des nombres
Exposant Eréel
Il varie de -126 à + 127.
L'exposant E décalé varie donc de 1 à 254.
Mantisse
Mmin = (1,000 0000 0000 0000 0000 0000)b
80
Etendue des nombres
81
Etendue des nombres
1 (2 1 )24
S24 2 2 23
1 2 1
82
Etendue des nombres
Ymax = (1+2-1+2-2+…+2-23) . 2127
= (2 – 2-23) . 2127
3,40282 . 1038
Zéro
83
Etendue des nombres
Codages de zéro
Nous avons vu que la valeur minimale de l'exposant
était Eréel = -126 (pour les valeurs normalisées).
On utilise alors l'exposant Eréel = - 127 (E biaisé =
0) et une mantisse nulle pour coder 0. On obtient
donc deux représentation de zéro:
S E biaisé Mantisse
84
Etendue des nombres
Codages de l'infini
Nous avons vu que la valeur maximale de l'exposant
était Eréel = 127.
On utilise alors l'exposant Eréel = 128 (E biaisé =
255) et une mantisse nulle pour coder l'infini.
S E biaisé Mantisse
85
Etendue des nombres
Résumé
2 codages du
Zéro
-2-127 2-127
-2128 2128
Codage Codage
de -¥ de +¥
86
Etendue des nombres
Autres codages
Bit S E réel E biaisé Mantisse Codage de:
0 128 255 0 NaN
1 128 255 0 NaN
0 -127 0 0 valeurs
dénormalisées
1 -127 0 0 valeurs
dénormalisées
Limites
88
Chapitre 2 : Algèbre
de Boole et
Logique combinatoire
Entrées Sortie
C B A S
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0 2
Opérations de base
3
Fonction logique NON
• En anglais: NOT
• Représentation:
Représentation française
F=A
a a
1
Table de vérité
Entrée Sortie
Représentation américaine
A F A F
0 1
1 0 Symbole graphique
4
Fonction logique ET
• En anglais: AND
• Représentation:
F = A * B ou A • B ou AB Représentation française
A F
Table de vérité &
B
Entrée Sortie
B A F
Représentation américaine
0 0 0
A
0 1 0 F
1 0 0 B
1 1 1 Symbole graphique
5
Fonction logique OU
• En anglais: OR
• Représentation:
F=A+B
Représentation française
A
F
Table de vérité
1
B
Entrée Sortie
B A F Représentation américaine
0 0 0
A
0 1 1 F
1 0 1 B
1 1 1 Symbole graphique 6
Fonction logique NON-ET
• En anglais: NAND
• Représentation:
F=A*B
Représentation française
Table de vérité
A
A.B
Entrée Sortie B
&
B A F
Représentation américaine
0 0 1
A
0 1 1 F
1 0 1 B
1 1 0 Symbole graphique
7
Fonction logique NON-OU
• En anglais: NOR
• Représentation:
F= A+B
Représentation française
Table de vérité
A A+B
Entrée Sortie 1
B
B A F
Représentation américaine
0 0 1
A
0 1 0 F
1 0 0 B
1 1 0 Symbole graphique
8
Fonction OU-EXCLUSIF
• En anglais: EXOR
• Représentation: A*B+A*B
F=AB
Représentation française
Table de vérité
a
a+b
Entrée Sortie b =1
B A F
Représentation américaine
0 0 0
A
0 1 1 F
1 0 1 B
1 1 0 Symbole graphique
9
Fonction NON OU-EXCLUSIF
• En anglais: EXNOR
• Représentation:
A*B+A*B
B A F Représentation américaine
0 0 1
A
0 1 0 F
1 0 0 B
1 1 1 Symbole graphique
10
Représentation des portes élémentaires (Rep. française)
11
Lois fondamentales de l’algèbre booléenne: Règles, postulats et théorèmes
• Commutativité • Fermeture:
A+B= B+A Si A et B sont des variables Booléennes, alors
A*B = B*A A+B , A*B sont aussi des variables Booléennes.
• Associativité
A + (B + C) = (A + B) + C
A * (B * C) = (A * B) * C
• Distributivité
ET/OU: A(B + C) = AB + AC
OU/ET: A+(B*C) = (A+B)*(A+C)
• Idempotence
A+A = A
A*A=A
• Complémentarité
A+A=1
A*A=0
12
Règles, postulats et théorèmes
• Identités remarquables
1+A=1 et 1*A=A
0+A=A et 0*A=0
AB+AB = B et (A + B) (A + B) = B
A+AB=A et A (A + B) = A
A+AB=A+B et A(A+B)=AB
a a . b a . a a . b a . a a . b ( a a ). ( a b ) a b
Démonstrations
a 0
• Distributivité interne
A + (B + C) = (A + B) + (A + C)
A * (B * C) = (A * B) * (A * C) 13
Théorème de De Morgan
Elle permettent de « casser » la barre des opérateurs NAND ET NOR,
ces opérateurs n'étant pas associatifs.
A.B=A+B
A+B= A.B
Application principale :
Transformation d’une somme en produit et inversement
14
Ecriture des équations logiques
Entrées Sortie
C B A S • Solution pour S=1.
0 0 0 0 • si C=0 et B=1 et A=0;
0 0 1 0 • ou si C=0 et B=1 et A=1;
0 1 0 1 • ou si C=1 et B=0 et A=1;
0 1 1 11 • ou si C=1 et B=1 et A=0.
1 0 0 0
1 0 1 1
1 1 0 11
On peut donc écrire:
1 1 1 0
Entrées Sortie
C B A S • Solution pour S=0.
0 0 0 0 • si C=0 ou B=0 ou A=0;
0 0 1 0 • Et si C=0 ou B=0 ou A=1;
0 1 0 1 • Et si C=1 ou B=0 ou A=0;
0 1 1 1 • Et si C=1 ou B=1 ou A=1.
1 0 0 0
1 0 1 1
1 1 0 1
On peut donc écrire:
1 1 1 00
S ( A B C ) . ( A B C ) . ( A B C ) . ( A B C ) 16
Formes canoniques
f fonction logique de n variables
17
Formes canoniques
Première forme canonique
S f ( A, B, C ) ( A B C ) . ( A B C ) . ( A B C ) . ( A B C )
Maxterme ou réunion de base
f f
Soit f une expression booléenne écrite sous
la forme d’une somme de mintermes
(respectivement d’un produit de
maxtermes), son complément f est le
produit de tous les maxtermes
(respectivement la somme de tous les
mintermes ) qui ne figurent pas dans f.
20
Exemples : 1ère forme vers 2ème forme
f a b a b a b a b
aa ab ab bb
= a b a b ( a b ) ( a b)
21
Simplification des fonctions
23
Diagrammes de Karnaugh
Avec n = 2:
– Entrées B et A
– 4 cases A
B 0 1
A B Sortie 0
0 0
0. 1.
0 1
1 0 1
1 1
2. 3.
24
Diagrammes de Karnaugh
Avec n = 3:
– Entrées C, B et A
– 8 cases
A B C Sortie
BA
0 0 0 C
00 01 11 10
0 0 1
0 1 0 0
0 1 1 0 1 3 2
1 0 0
1
1 0 1
4 5 7 6
1 1 0
1 1 1 25
Diagrammes de Karnaugh
Avec n = 4:
– Entrées D, C, B et A
– 16 cases BA
DC
00 01 11 10
00
0 1 3 2
01
4 5 7 6
11
12 13 15 14
10
8 9 11 10
26
Exemple de Diagrammes de Karnaugh
Entrées Sortie
C B A S
0 0 0 0 BA
C
0 0 1 0 00 01 11 10
0 1 0 1 0 0 0 1 1
0 1 1 1 0 1 3 2
1 0 0 0
1 0 1 1
1 0 1 0 1
4 5 7 6
1 1 0 1
1 1 1 0
TABLE DE VÉRITÉ DIAGRAMME DE KARNAUGH
27
Présentation de la méthode de simplification
28
Présentation de la méthode de simplification
29
Exemple (Karnaugh)
C.B.A + C.B.A = C.B
BA
C
00 01 11 10
0 0 0 1 1
0 1 3 2
1 0 1 0 1
4 5 7 6
BA
DC
C. A 00 01 11 10
00 1 0 1 1
C.B
0 1 3 2
D.C.B.A 01 0 1 0 0
4 5 7 6
11 0 0 0 0
12 13 15 14
10 1 0 1 1
8 9 11 10
31
Exemples de regroupements autorisés
32
Exemples de regroupements
non autorisés ou redondants
33
Méthode de synthèse des
systèmes combinatoires
34
Chapitre 3 : Les
circuits
combinatoires
E1 S1
S2
E2 Circuit
..
.. combinatoire
En Sm
Schéma Bloc
A S
B
DA R
Logigramme:
R 4
Additionneur complet 1 bit
• L’additionneur complet un bit r4 r3 r2 r1 r0= 0
possède 3 entrées : a4 a3 a2 a1
– ai : le premier nombre sur un bit. +
– bi : le deuxième nombre sur un b4 b3 b2 b1
bit.
– ri-1 : le retenue entrante sur un bit.
r4 s4 s3 s2 s1
• Il possède deux sorties :
– Si : la somme
– Ri la retenue sortante ri-1
ai Si
ai
Additionneur
bi
complet
+ bi
Ri
ri-1
ri si 5
Additionneur complet 1 bit
Table de vérité d’un additionneur complet sur 1 bit:
r3 r2 r1 r0= 0
a4 a3 a2 a1
+ b4 b3 b2 b1
r4 s 4 r3 s 3 r2 s 2 r1 s 1
r4 s4 s3 s2 s1 Résultat final
7
Additionneur 4 bits ( schéma )
R0=0
A4 B4 A3 B3 A2 B2 A1 B1
R3 R2 R1
R4 S4 S3 S2 S1
8
Le Comparateur
1 1 0 1 0
A fs
fe
Logigramme:
B fi
10
Comparateur 2 bits
A1
fi
A2
Comparateur fe
B1 2 bits
B2 fs
11
Comparateur 2 bits
A2 A1 B2 B1 fs fe fi
1. A=B si 0 0 0 0 0 1 0
0 0 0 1 0 0 1
A2=B2 et A1=B1
0 0 1 0 0 0 1
fe ( A2 B2).( A1 B1) 0 0 1 1 0 0 1
0 1 0 0 1 0 0
0 1 0 1 0 1 0
2. A>B si 0 1 1 0 0 0 1
A2 > B2 ou (A2=B2 et A1>B1) 0 1 1 1 0 0 1
1 0 0 0 1 0 0
fs A2.B2 ( A2 B2).( A1.B1) 1 0 0 1 1 0 0
1 0 1 0 0 1 0
3. A<B si 1 0 1 1 0 0 1
1 1 0 0 1 0 0
A2 < B2 ou (A2=B2 et A1<B1)
1 1 0 1 1 0 0
1 1 1 0 1 0 0
fi A2.B2 ( A2 B2).( A1.B1) 1 1 1 1 0 1
12
0
Liaison série
La ligne ne comporte qu'un fil ; les éléments binaires
d'informations (bits) d'un mot ou caractère sont alors
envoyés successivement les uns après les autre
(serialisation) au rythme d'un signal d'horloge. Le
récepteur effectue I'opération inverse: transformation
Série/parallèle à partir de son horloge ayant la même
fréquence que celle de I'émetteur.
13
Le Multiplexeur
• Un multiplexeur est un circuit combinatoire qui permet de
sélectionner une information (1 bit) parmi 2n valeurs en
entrée.
• Il possède :
– 2n entrées d’information
– Une seule sortie
– n entrées de sélection ( commandes)
Em ......... E3 E1 E0
C0
C1 Mux 2n 1 V
Cn-1
S
14
Multiplexeur 4 1
Sélection d’une voie parmi 2N par N bits de commande
Si (C1C0)2 = 0 alors S = E0
E0
S C0 .C1.EO
E1
E2 S Si (C1C0)2 = 1 alors S = E1
E3 C1 C0 S S C0 .C1.E1
Mux 4 vers 1
0 0 E0 …
…
C1 C0 0 1 E1
1 0 E2
1 1 E3
E1 C1.C0.E1
E2 C1.C0.E2 S
E3 C1.C0.E3
C0
C1
E2
S
E3 Multiplexeur
E4
Contrôle C0 =0 C1 =0
Multiplexeur à 4 entrées
E1
E2
S
E3 Multiplexeur
E4
Contrôle C0 =0 C1 =0
Multiplexeur à 4 entrées
E1
E2
S
E3 Multiplexeur
E4
Contrôle C0 =1 C1 =0
Multiplexeur à 4 entrées
E1
E2
S
E3 Multiplexeur
E4
Contrôle C0 =1 C1 =0
Démultiplexeur 14
• Il joue le rôle inverse d’un multiplexeurs, il permet de
faire passer une information dans l’une des sorties selon
les valeurs des entrées de commandes. E
• Il possède :
– une seule entrée C0 DeMux 1 4
C1
– 2n sorties S4 S3 S2 S1
– N entrées de sélection ( commandes)
C1 C0 S4 S3 S2 S1
S1 C1.C 0.( E )
0 0 0 0 0 E
S 2 C1.C 0.( E )
0 1 0 0 E 0
S 3 C1.C 0.( E )
1 0 0 E 0 0
S 4 C1.C 0.( E )
21
1 1 E 0 0 0
Démultiplexeur à 4 sorties
S1
S1
E S2
S2
S3 E
S4
1 parmi 2N S3
C 1 C0 S1 C1.C 0.( E ) S4
S 2 C1.C 0.( E )
S 3 C1.C 0.( E )
S 4 C1.C 0.( E ) C1 C0
Démultiplexeur à 4 sorties
S1
S2
E
S3
S4
C1 =0 C0=0
Démultiplexeur à 4 sorties
S1 = E
S2
E
S3
S4
C1 =0 C0=0
Démultiplexeur à 4 sorties
Vue externe
S1
S2
Entrée E
Sorties
Démultiplexeur S3
S4
Contrôle C0 C1
Démultiplexeur à 4 sorties
S1 = E. C0 .C1
S2 =0
E
Démultiplexeur S3 = 0
S4 = 0
Contrôle C0 =0 C1 =0
Démultiplexeur à 4 sorties
S2 = 0
E
S2 = E. C0 .C1
Démultiplexeur
S3 = 0
S4 = 0
Contrôle C0 =1 C1 =0
Le décodeur binaire
• C’est un circuit combinatoire qui est constitué de :
– N : entrées de données
– 2n sorties
– Pour chaque combinaison en entrée une seule sortie
est active à la fois
S0
A S1
S2
B S3
S4
C
S5
S6
S7
V 28
Un décodeur 38
Décodeur 24
V A B S0 S1 S2 S3 S0
0 X X 0 0 0 0
1 0 0 1 0 0 0
S1
1 0 1 0 1 0 0
A
1 1 0 0 0 1 0
S2
1 1 1 0 0 0 1
B Sorties
S0 Entrées S3
A
S1
B
S2 S 0 ( A.B ).V
S3 S1 ( A.B ).V V
V
S 2 ( A.B ).V
S 3 ( A.B ).V
29
L’encodeur binaire
• Il joue le rôle inverse d’un décodeur
– Il possède 2n entrées
– N sortie
– Pour chaque combinaison en entrée on va avoir sont
numéro ( en binaire) à la sortie.
I0
I1 x
y
I2
I3
Encodeur 42 30
L’encodeur binaire ( 42)
I0 I1 I2 I3 x y
I0
0 0 0 0 0 0 x
I1
y
1 x x x 0 0 I2
I3
0 1 x x 0 1
0 0 1 x 1 0
X I 0.I1.( I 2 I 3)
0 0 0 1 1 1
Y I 0.( I1 .I 2.I 3)
31
Le transcodeur
• C’est un circuit combinatoire qui permet de transformer
un code X ( sur n bits) en entrée en un code Y ( sur m
bits) en sortie.
E1 S1
E2 S2
transcodeur ..
..
En Sm
32
Exemple de fonction transcodage
A
Entrée BCD
01
0010
1 F B
Transcodeur
14
6
0
1
2
3
4
5
7
8
9
10
11
12
13 BCD-
7-Segment
G
E C
D
Chapitre 4 :
Logique
séquentielle
Module (Tronc commun) : Electronique Par
numérique (M33) Abdellatif OBBADI
Définitions
Ei St
Ei St
2
Fonctions mémoires
0
1 0
& Q
Qn Qn+1
0 0 0 1 1
& 1
0
0
1 1
& Q
Qn Qn+1
0 0 0 1 1
0 0 1 1 1
& 1
0
1
0 0
& Q
Qn Qn+1
1
0 0 0 1 1
0 0 1 1 1
& 1
0 1 0 0 1
0
1
0 1
& Q
Qn Qn+1
1
0 0 0 1 1
0 0 1 1 1
& 1
0 1 0 0 1
0 0 1 1 0 1
0
1 0
& Q
Qn Qn+1
0 0 0 1 1
0 0 1 1 1
1
& 0
0 1 0 0 1
1 0 1 1 0 1
1 0 0 1 0
Rappel sur le NAND
0 NAND X = 1
1 NAND X = X
7
Fonctions mémoires
0
1 1
& Q
Qn Qn+1
0 0 0 1 1
0 0 1 1 1
1
& 0
0 1 0 0 1
1 0 1 1 0 1
1 0 0 1 0
Rappel sur le NAND 1 0 1 1 0
0 NAND X = 1
1 NAND X = X 8
Fonctions mémoires
1
0 0
& Q
Qn Qn+1
1
0 0 0 1 1
0 0 1 1 1
0
& 1
0 1 0 0 1
1 0 1 1 0 1
1 0 0 1 0
Rappel sur le NAND 1 0 1 1 0
0 NAND X = 1 1 1 0 0 1
1 NAND X = X
9
Fonctions mémoires
1
1 1
& Q
Qn Qn+1
0
0 0 0 1 1
0 0 1 1 1
1
& 0
0 1 0 0 1
1 0 1 1 0 1
1 0 0 1 0
Rappel sur le NAND 1 0 1 1 0
0 NAND X = 1 1 1 0 0 1
1 NAND X = X 1 1 1 1 0
10
Fonctions mémoires
• Bascule RS à porte NAND
Qn Qn+1 REMARQUE
0 0 0 1 1 & Q
0 0 1 1 1 Indéterminée
0 1 0 0 1 Mise à 0
0 1 1 0 1 (R=1: Reset) &
1 0 0 1 0 Mise à 1
1 0 1 1 0 (S=1: set)
Qn+1
1 1 0 0 1
0 0 Interdit
1 1 1 1 0 Mémoire
0 1 0
1 0 1
1 1 Qn
Fonctions mémoires
• Bascule RS à porte NOR
R
R S Qn Qn+1 > Q
0 0 0 0 1 1
0 0 1 1 0
0 1 0 1 0 S > /Q
0 1 1 1 0 1
1 0 0 0 1
1 0 1 0 1 R S Qn+1
1 1 0 0 0 0 0 Qn
1 1 1 0 0 0 1 1
1 0 0
O NOR X = Non X
1 1 Interdit
1 NOR X = 0
12
Remarque
Si R = S = 1 alors Q = Q’ = 0 Si R = S = 1 alors Q = Q’ = 1
Avantages
Simplicité
Inconvénients
14
Bascule RS-H
S S’
& & Q
R’
R & & /Q
Si H=0, la bascule
garde en mémoire le
dernier état des
sorties Q et
Si H=1, la bascule
fonctionne comme
une bascule RS
15
Bascule RS-H
La bascule RSH est une bascule RS
synchronisée par un signal d’horloge H.
& & /Q
18
Bascule D (Flip-Flop)
Une bascule D (Flip-Flop) est un circuit séquentiel synchrone.
La sortie Q recopie l’entrée D lorsque le signal d’horloge H passe de 0 à
1 (front montant).
La bascule D maintient un état binaire indéfiniment jusqu’à ce qu’un
signal d’entrée le commute vers un autre état.
19
Bascule J-K
0
J & 0
0
00
≥ D Q
0
H
0
K & H Q
J K Qn Qn+1
0 0 0 0
20
Bascule J-K
0
J & 0
1
11
≥ D Q
0 1 1
K & H
H Q
J K Qn Qn+1
0 0 0 0
0 0 1 1
21
Bascule J-K
0
J & 0
0
00
≥ D Q
1 0 0
K & H
H Q
J K Qn Qn+1
0 0 0 0
0 0 1 1
0 1 0 0
22
Bascule J-K
J &
≥ D Q
K & H Q
24
Description des entrées/sorties
Entrées :
• Horloge (H, CLK, CP)
Entrée permettant une évolution de la sortie.
Front montant actif : Front descendant actif :
Données
Entrées sorties
Bascule
Asynchrone
Synchrone
Horloge
26
Schéma d’un compteur 3
bits
Entrée
de mise à 0
Q2
COMPTEUR
Q1 Sorties
Horloge Q0
27
CHRONOGRAMMES
Horloge active sur front descendant
1
H
0
1
Q0 0 1 0 1 0 1 0 1 0 1 0
0
1
Q1 0 0 1 1 0 0 1 1 0 0 1
0
1
Q2 0 0 0 0 1 1 1 1 0 0 0
0
0 1 2 3 4 5 6 7 0 1 2
28
COMPTEUR 3 BITS
Qa Qb Qc Qd
D Q D Q D Q D Q
/Q /Q /Q /Q
H 30
COMPTEUR ASYNCHRONE
Dans la structure asynchrone, l’impulsion de progression
du compteur est appliquée sur l’entrée d’horloge du
premier étage, les entrées d’horloge des autres bascules
reçoivent le signal de sortie de l’étage précédent.
1 1 1
Q0 Q1 Q2
31
Compteur asynchrone modulo
N = 2 n
J=K=1.
32
Compteur asynchrone modulo 8 =2³
• 3 bascules sont nécessaires.
1 1 1
Q0 Q1 Q2
t
Q0
t
Q1
t
Q2
t
Q0 0 1 0 1 0 1 0 1 0 1
Q1 0 0 1 1 0 0 1 1 0 0
Q2 0 0 0 0 1 1 1 1 0 0
N 0 1 2 3 4 5 6 7 0 1
33
Compteur asynchrone modulo N 2n
(10)10 (1010)2
Q0
Q1
Q2 Q1 = Q3 1 Q1.Q3 1
Q3
Q1 Q1.Q3
& Vers RESET de toutes
Les bascules
Q3
35
Un compteur modulo 10 doit compter de 0 à 9
t
Q0
t
Remise à 0 des 4
Q1
bascules
t
Q2
t
Q3
N 0 1 2 3 4 5 6 7 8 9 0 36
Décompteur
• Un décompteur possède les mêmes
caractéristiques qu'un compteur à ceci
près qu'à:
– chaque nouvel événement le code binaire de
sortie est décrémenté de 1.
logigramme :
0 Q0 0 Q1 0 Q2
S S S
1 J Q 1 J Q 1 J Q
H H H H
1 K Q 1 K Q 1 K Q
R R R
RAZ
37
Décompteur
• Chronogramme :
H
t
Q0
0 1 0 1 0 1 0 1
t
Q1
0 1 1 0 0 1 1 0
t
Q2
0 1 1 1 1 0 0 0
t
0 7 6 5 4 3 2 1 0
Décompteur
0 Q0 0 Q1 0 Q2 0
S S S S
1 J Q 1 J Q 1 J Q 1 J Q
H H H H
H
1 K Q 1 K Q 1 K Q 1 K Q
R R R R
RAZ Q0 Q1 Q2 39 Q3
Compteur synchrone modulo N
40
Les compteurs
• Compteurs synchrones
– Problèmes des compteurs asynchrones
• Tous les cycles ne sont pas possibles.
• Il subsistent des états transitoires.
t
Q0
0 1 0 0 1 0 0
t
Q1 Retard
0 0 0 1 1 1 0
t
0 1 0 2 3 2 0
Les compteurs
– Structure d’un compteur synchrone
• Le signal d’horloge est commun à toutes les bascules.
• Il faut utiliser n bascules JK (M ≥ 2n) et agir sur les
entrées J et K en fonction de l’état des sorties Q.
Système logique
K0 J0 0 Q0 K1 J1 0 Q1 Kn Jn 0 Qn
S S S
J Q J Q J Q
H H H
K Q K Q K Q
R R R
0 0 0
H
42
Table de transition
– Table d’excitation (ou de transition) d’une bascule
• Elle permet de déterminer quelles valeurs il faut appliquer aux entrées
synchrones pour faire évoluer la sortie de la bascule d’un état vers un autre.
Table de vérité de la bascule J K
J K Qn Qn+1
0 0 0 0 • On définit la table de
transition (ou d’excitation) de
0 0 1 1
la bascule JK.
0 1 0 0
Qn Qn+1 J K
0 1 1 0
0 0 0 X
1 0 0 1
0 1 1 X
1 0 1 1
1 0 X 1
1 1 0 1
1 1 X 0
1 1 1 0 43
Compteur synchrone modulo 8
– Exemple : compteur synchrone modulo 8
table de vérité :
Qn Qn+1 J K
0→0 0 Φ
Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0→1 1 Φ
0 0 0 0 0 Φ 0 Φ 1 Φ
1→0 Φ 1
1 0 0 1 0 Φ 1 Φ Φ 1
1→1 Φ 0
2 0 1 0 0 Φ Φ 0 1 Φ
3 0 1 1 1 Φ Φ 1 Φ 1
4 1 0 0 Φ 0 0 Φ 1 Φ
5 1 0 1 Φ 0 1 Φ Φ 1
6 1 1 0 Φ 0 Φ 0 1 Φ
7 1 1 1 Φ 1 Φ 1 Φ 1
44
Compteur synchrone modulo
8
tableaux de Karnaugh et équations logiques :
Q1Q0 Q1Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 Φ 1 1 Φ 0 1 Φ Φ 1
1 Φ 1 1 Φ 1 1 Φ Φ 1
K0 1 J0 1
Compteur synchrone modulo 8
Q1Q0 Q1Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 Φ Φ 1 0 0 0 1 Φ Φ
1 Φ Φ 1 0 1 0 1 Φ Φ
K1 Q0 J1 Q0
46
Compteur synchrone modulo 8
Q1Q0 Q1Q0
Q2 00 01 11 10 Q2 00 01 11 10
0 Φ Φ Φ Φ 0 0 0 1 0
1 0 0 1 0 1 Φ Φ Φ Φ
K2 Q1Q0 J2 Q1Q0
47
Les équations de JetK
Alors : J0 =K0= 1
»J1 = K1=Q0
» J2 = K2 = Q0 Q1
logigramme : Q1Q0
0 Q0 0 Q1 0 Q2
J0 S J1 S J2 S
1 J Q J Q J Q
H H H
K Q K Q K Q
K0 R K1 R K2 R
0 0 0
H
48
Exemple : le 74LS193
Compteur – décompteur
binaire synchrone 4 bits
L L X X Prépositionnement
L H H Comptage
L H H Décomptage
Exemple : le 74LS193
Les registres
51
Définition
• Une bascule est l’élément de base de la logique séquentielle.
Exemple :
52
Types de registres
• Il existe plusieurs types de registres :
Parallèle
54
Registre à entrées parallèles et
sorties parallèles (Registre parallèle )
• Il peut charger une information sur N bits en même temps.
H=1 chargement
55
Registre à entrées parallèles et sorties
parallèles (Registre parallèle )
D Q D Q D Q D Q
H Q H Q H Q H Q
H
L
SA SB SC SD
Registre à entrée série et sortie série
( Registre à décalage )
• L’information est introduite bit par bit ( en série).
• Un tel registre est appelé registre à entrée série à gauche et à sortie série à
droite ou registre à décalage à gauche.
57
Registre à entrée série et sortie série
( Registre à décalage )
Entrée Sortie
D Q D Q D Q D Q
Série Série
E Q0 Q1 Q2 Q3
a x x x x
b a x x x
c b a x x
d c b a x
t e d c b a
58
Registre à entrée série et sortie série
( Registre à décalage )
Registre à décalage
60
Table de fonctionnement
61
Diagramme logique du registre à décalage
Universel 4-bits
62
Exemple : le 74LS194
CLEAR
1
S0
U1
0 SRG4
S1 1
R
9
0 0
1 10
11
1
M
3
C4
Horloge 1 ->/2<-
SR SER
2 Q0 Q1 Q2 Q3
0 1,4D
15
3
3,4D
0 0 1 1
A
4 14
0 3,4D
5 13
B 3,4D
6
0 3,4D
12
C 7
2,4D
1 74194
D
0
SL SER
1
Exemple : le 74LS194