0% ont trouvé ce document utile (0 vote)
220 vues217 pages

Cours sur les Circuits Numériques

Transféré par

NATHAN MBAYO MWAMBA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
220 vues217 pages

Cours sur les Circuits Numériques

Transféré par

NATHAN MBAYO MWAMBA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE

ECOLE SUPERIEURE D' INFORMATIQUE SALAMA

Cours Circuits et
Opérateurs Numériques
M2 RESEAUX ET TELECOMS

Faouzi BAHLOUL :
Professeur
1
Chapitre 1 : Systèmes de numération

•Introduction
•Système décimal
•Système binaire , octal et hexadécimal
• Conversion d’un système de numération vers un
autre système .
•Opérations arithmétiques en binaire, octal et
hexadécimal.

2
Objectifs

• Comprendre c’est quoi un système de numération .


• Apprendre la méthode de conversion d’un système à un
autre .
• Apprendre à faire des opérations arithmétiques en
binaire.

3
Introduction
• Nous avons pris l'habitude de représenter les nombres en utilisant
dix symboles différents: 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9
• Ce système est appelé le système décimal (déci signifie dix).
• Il existe cependant d'autres formes de numération qui fonctionnent
en utilisant un nombre de symboles distincts.
– Exemple :
• système binaire (bi: deux),
• le système octal (oct: huit),
• le système hexadécimal (hexa: seize).
• En fait, on peut utiliser n'importe quel nombre de symboles
différents (pas nécessairement des chiffres).
• Dans un système de numération : le nombre de symboles distincts
est appelé la base du système de numération.

4
1 . Le système décimal
• On utilise dix symboles différents:
{0,1,2,3,4,5,6,7,8,9}
• N’importe quelle combinaison des symboles { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } nous
donne un nombre.

7654332

Poids faible
Poids fort

345 , 567
Partie fractionnelle
Partie entière 5
Développement en polynôme d’un nombre
dans le système décimal

• Soit le nombre 1978, ce nombre peut être écrit sous la forme suivante :

1978 1000  900  70  8


1978 1*1000  9 *100  7 *10  8 *1
1978 1*103  9 *10 2  7 *101  8 *10 0
Cette forma s’appelle la forme polynomiale

Un nombre réel peut être écrit aussi sous la forme polynomiale

1978,265 1*103  9 *10 2  7 *101  8 *10 0  2 *10  1  6 *10  2  5 *10  3


6
Comptage en décimal

• Sur une seule position : 0 ,1,2,3,4,5,….9= 101-1


• Sur deux positions : 00 , 01,02, …..,99=102-1
• Sur trois positions 000,001,……,999=103-1

• Sur n positions : minimum 0


maximum 10n-1
nombre de combinaisons 10n

7
2 . Système binaire ( système à base 2 ):
exemple illustratif

Supposons qu’on a 14 jetons , si on forme des groupes de 10 jetons. On va


.obtenir 1 seul groupe et il reste 4 jetons

4 1

Les dizaines Les unités

8
Maintenant on va former des groupes de 2 jetons ( on obtient 7 groupes) .
.Par la suite on va regrouper les 7 groupes 2 à 2 ( on obtient 3 groupes ) .
On va regrouper ces derniers aussi 2 à 2 ( on obtient 1 seul groupe ) .
: Le schéma illustre le principe .

Nombre de jetons qui restent en dehors des groupes : 0


Nombre de groupes qui contiennent 2 jetons : 1
Nombre de groupes qui contiennent 2 groupes de 2 jetons : 1
Nombre de groupes qui contiennent des groupes de 2 groupes de 4 jetons : 1

Si on regroupe les différents chiffres on obtient : 1110


9
est la représentation de 14 dans la base 2 1110
• Dans le système binaire, pour exprimer n’importe quelle
valeur on utilise uniquement 2 symboles : { 0 , 1}

La base
Un bit 2 )1101 (

2 )1 0 1 1 (
Le bits du poids forts Le bits du poids faible

Un nombre dans la base 2 peut être écrit aussi sous la forme polynomial .
(1110) 2 1* 23  1* 2 2  1* 21  0 * 20 (14)10
(1110,101) 2 1* 23  1* 2 2  1* 21  0 * 20  1* 2  1  0 * 2  2  1* 2  3 (14,625)10

10
Comptage en binaire

• Sur un seul bit : 0 , 1 Sur 3 Bits

Décimal Binaire
0 000
: Sur 2 bits . 1 001
2 010
Décimal Binaire
3 011
0 00 4 100
1 01 5 101
2 10 6 110
3 11 7 111

combinaisons= 22 4
combinaisons= 23 8 11
Le système octal ( base 8 )

• 8 symboles sont utilisés dans ce système:


{0,1,2,3,4,5,6,7}

• Exemple 1 :

(127)8 1* 82  2 * 81  7 * 80
(127,65)8 1* 8 2  2 * 81  7 * 80  6 * 8  1  5 * 8  2

: Exemple 2
Le nombre (1289) n’existe pas dans la base 8 puisque les symboles 8 et 9
. n’appartiennent pas à la base

12
Le système hexadécimal ( base 16 )
Hexadécimal Décimal
0 0
1 1
• On utilise seize (16) symboles
2 2
différents: 3 3
4 4
5 5
(17)16 1*161  7 *160 6 6
1 0 1
7 7
(AB)16  A *16  B *16 10 *16  11 *1 8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15 13
Résumé

• Dans une base X , on utilise X symboles distincts pour représenter


les nombres.
• La valeur de chaque symbole doit être strictement inférieur à la
base X.
• Chaque nombre dans une base X peut être écrit sous sa forme
polynomiale .

14
3. Conversion d’une base X à la base 10

• Cette conversion est assez simple puisque il suffit de faire le


développement en polynôme de ce nombre dans la base X , et
de faire la somme par la suite.

: Exemple

(1101) 2 1* 23  1* 2 2  0 * 21  1* 2 0 (13)10


(1A7)16 1*16 2  A *161  7 *16 0 1*16 2  10 *161  7 *160 256  160  7 (423)10
(1101,101) 2 1* 23  1* 2 2  0 * 21  1* 2 0  1* 2  1  0 * 2  2  1* 2  3 (13,625)10
(43,2) 5 4 * 51  3 * 50  2 * 5 1 20  3  0,4 (23,4)10

15
Exercice

• Effectuer les transformations suivantes à la base 10 ?


– (123)6=(?)10
– (45,76)8 =(?)10
– (1100,11)2 =(?)10
– (1ABC)16 =(?)10

16
Conversion de la base 10 à la base 2
Le principe consiste à faire des divisions successives du nombre sur
.2 , et prendre le reste des divisions dans l’ordre inverse

35 2
Exemple 1 : (35)10=(?)2 1 17 2
1
8 2
0 4 2
: Après division 0 2 2
on obtient : (35)10=(100011)2 0 1 2
1 0

17
Conversion de la base 10 à la base 2 : cas d’un
nombre réel
• Un nombre réel est constitué de deux parties : la partie entière et la
partie fractionnelle.
• La partie entière est transformée en effectuant des divisions
successives.
• La partie fractionnelle est transformée en effectuant des
multiplications successives par 2 .

Exemple : 35,625=(?)2 25, 1 = 2 * 0,625


P.E= 35 = (100011)2
5, 0 = 2 * 0,25
0, 1 = 2 * 0,5
PF= 0,625 = (?)2

2 )0,101(=)0,625(
Donc 35,625=(100011,101)2
18
• Exemple 2: (0,6)10=(?)2
0,6 * 2 = 1,2
0,2 * 2 = 0,4 )0,1001( =)0,6(
2

0,4 * 2 = 0,8
0,8 * 2 = 1,6
: Remarque
. Le nombre de bits après la virgule va déterminer la précision

: Exercice
: Effectuer les transformations suivantes
) ?(=)23,65(
2

)?(=)18,190(
2

19
Conversion du décimal à une base X

• La conversion se fait en prenant les restes des divisions


successives sur la base X dans le sens inverse.

: Exemple 35 3
3)?( = 35 2 11 3
2
3 3
)1022(=35 0
3 1 3
1 0

• Question : Effectuer les transformations suivantes :


(43)10=(?)2=(?)5 =(?)8 =(?)16
20
43 2
43 5
1 21 2
3 8 5
1 10
2 3 1 5
0 5 2 1 1
1 2 2
0 1 2
5)133(
1 0
2)101011(

43 16
43 8
8 11 2 16
3 5
2 0
5 0

)2B(
8)53(
16
21
Conversion d’une base b1 à une base b2

• Il n’existe pas de méthode pour passer d’une base b1 à une autre


base b2 directement.
• L’idée est de convertir le nombre de la base b1 à la base 10 , en suit
convertir le résultat de la base 10 à la base b2 .

?
b1 b2

Développement
en polynôme Divisions successives

10
22
Exemple : ( 34)5=(?)7

(34) 5 3 * 51  4 * 50 15  4 (19)10 (?)7

19 7
7)25(=10)19(
5 2 7
7)25(=5)34 (
2 0

Exercice : effectuer les transformations suivantes

8 )?(=5)?(=6)43(
16=(?)9)2A(

23
Conversion : binaire  octal

Binaire Octal
En octal chaque, symbole de la base s’écrit sur 3 . 000 0
.bits en binaire 001 1
L’idée de base est de replacer chaque symbole . 010 2
dans la base octal par sa valeur en binaire sur 3 011 3
.bits ( faire des éclatement sur 3 bits ) 100 4
101 5
: Exemples 110 6
2)101 100 011(=8)345( 111 7

2 )110 111 ,101 110(=8)65,76(


2 )100 011 , 101 011(=8)35,34(
: Remarque
le remplacement se fait de droit à gauche pour la partie entière
. et de gauche à droite pour la partie fractionnelle
24
Conversion : Octal  binaire

L’idée de base est de faire des regroupements de 3 bits à partir .


.du poids faible
Par la suite remplacer chaque regroupement par la valeur octal .
. correspondante

: Exemple

8 )31226(=2)110 010 010 001 011(=2)11001010010110(

)624,51(=2)010 101 , 100 010 110( =2)110010100,10101(


8

: Remarque
le regroupement se fait de droit à gauche pour la partie entière
. et de gauche à droite pour la partie fractionnelle
25
Conversion : hexadécimal  binaire
Hexadécimal Décimal
0 0
1 1
2 2
.En Hexa chaque symbole de la base s’écrit sur 4 bits . 3 3

L’idée de base est de replacer chaque symbole . 4


5
4
5
par sa valeur en binaire sur 4 bits ( faire des 6 6
.) éclatement sur 4 bits
7 7
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15
: Exemple
16=(0011 0100 0101 1011)2)345B(

16 = ( 1010 1011 0011 , 0100 1111 0110 ) 2)AB3,4F6(


26
Conversion : binaire hexadécimal

.L’idée de base est de faire des regroupements de 4 bits à partir du poids faible .

. Par la suite remplacer chaque regroupement par la valeur Héxa correspondante

: Exemple
16)32A6(=2)0110 1010 0010 0011(=2)11001010100110(

)A8,194(=2)1000 0100,1010 1001 0001( =2)110010100,10101(


16

27
4. Opérations arithmétiques en binaire
0 0 1 1
+ + + +
0 1 0 1
0 1 1 0 1

1 1
1 1 0 0 0 1 1

+
1 1 0 1 0 0 0 1

1 1 1 0 1 1 1 0

28
Opérations arithmétiques en octal

1 1

5 6 3 4
+
1 5 4
5 8 11 6

En octal 8 s’écrit 10 En octal 11 s’écrit 13

0 3

Le résultat final : (5036)8


29
Opérations arithmétiques en hexadécimal

5 6 8 4
+
A 5 1 7
12 18 11 6

C En hexa 11 s’écrit B
En hexa 18 s’écrit 12
B
2

Le résultat final : (C2B6)16 30


5. Quel est le système utilisé dans les
dispositifs numériques ?

.Les machines numériques utilisent le système binaire .


.Dans le système binaire : uniquement 2 symboles sont utilisés : 0 et 1 .
.C’est facile de représenter ces deux symboles dans les machines numériques .
. Le 0 et le 1 sont représentés par deux tensions .

v5
Tension Binaire Binaire : 1
(logique ) v 2,8
Inutilisée
0V 0
v 0,8
5V 1
Binaire : 0
v0
31
Opérations arithmétiques en CA2
Effectuer les opérations suivantes sur 5 Bits , en utilisant la représentation en CA2

1 0 0 1 0
1 0 0 1 0 +
+ 9+
9+ 0 0 1 1 1
0 0 1 0 0 4-
4+
5+
13 + 1 0 1 0 0 1
1 0 1 1 0

Le résultat est positif Report

10)13 ( =2)01101(
Le résultat est positif
)5 ( =2)00101(
10
1 1 1 0 1 1 1 1 0 1
9- + 9- +
0 0 1 1 1 1 0 0 1 0
4- 9+
13 - 0+
1 1 0 0 1 1 0 0 0 0 0 1

Report Report

: Le résultat est négatif


Résultat = - CA2 (10011)= -( 01101) Le résultat est positif
13 - = 10 )0 ( =2)00000(
La retenue et le débordement
• On dit qu’il y a une retenue si une opération arithmétique
génère un report .
• On dit qu’il y a un débordement (Over Flow ) ou
dépassement de capacité: si le résultat de l’opération sur
n bits et faux .
– Le nombre de bits utilisés est insuffisant pour contenir le résultat
– Autrement dit le résultat dépasse l’intervalle des valeurs sur les
n bits utilisés.
Cas de débordement

0 1 1 0
1 0 0 1 0 1 1 1 0 1
9+ + +
0 0 0 1 0 9-
0 0 0 1 1
8+ 8-
17 + 1 0 0 0 1 17 -
1 1 0 1 0

Négatif
Positif

Nous avons un débordement si la somme de deux nombres positifs •


. donne un nombre négatif
Ou la somme de deux nombres négatifs donne un Nombre positif •
Il y a jamais un débordement si les deux nombres sont de signes •
.différents
3. Le codage BCD (Binary Coded Decimal )

• Pour passer du décimal au binaire , il faut Binaire Décimal


effectuer des divisions successives. Il 0000 0
existe une autre méthode simplifiée pour
0001 1
le passage du décimal au binaire.
0010 2
0011 3
• Le principe consiste à faire des
éclatement sur 4 bits et de remplacer 0100 4
chaque chiffre décimal par sa valeur 0101 5
binaire correspondante . 0110 6
0111 7
• Les combinaisons supérieures à 9 sont 1000 8
interdites 1001 9
Exemple

9 2 1 2 6 5

0001 0010 1001 0101 0110 0010

2 )1001 0010 0001 ( = 129 2 )0010 0110 0101( = 562


Le codage EXCESS3 ( BCD+3 )
Binaire BCD+3 Décimal
0011 3 0
0100 4 1
0101 5 2 9 2 1
0110 6 3
0111 7 4
1000 8 5 0100 0101 1100
1001 9 6
1010 10 7
1011 11 8
1100 12 9
4. 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)2correspond au caractère A
• Le code 97 (01100001) correspond au caractère a
• Le code 58 (00111010 )correspond au caractère :

• Actuellement il existe un autre code sur 16 bits , se code s’appel


UNICODE .
Chapitre 2 :Algèbre de Boole

Définition des variables et fonctions logiques •


. Les opérateurs de base et les portes logiques •
Les lois fondamentales de l’algèbre de Boole •

40
1. Introduction

• Les machines numériques sont constituées d’un ensemble


de circuits électroniques.
• Chaque circuit fournit une fonction logique bien déterminée (
addition, comparaison ,….).

A
F(A,B)
Circuit
B

La fonction F(A,B) peut être : la somme de A et B , ou le


résultat de la comparaison de A et B ou une autre fonction
41
• Pour concevoir et réaliser ce circuit on doit avoir
un modèle mathématique de la fonction réalisée
par ce circuit .

• Ce modèle doit prendre en considération le


système binaire.

• Le modèle mathématique utilisé est celui de


Boole.

42
2. Algèbre de Boole
• George Boole est un mathématicien anglais ( 1815-1864).

• Il a fait des travaux dont les quels les fonctions


( expressions ) sont constitués par des variables qui peuvent
prendre les valeurs ‘OUI’ ou ‘NON’ .

• Ces travaux ont été utilisés pour faire l’étude des systèmes
qui possèdent deux états s’exclus mutuellement :
– Le système peut être uniquement dans deux états E1 et
E2 tel que E1 est l’opposé de E2.
– Le système ne peut pas être dans l’état E1 et E2 en même
temps

• Ces travaux sont bien adaptés au Système binaire ( 0 et 1 ).43


Exemple de systèmes à deux états

• Un interrupteur est ouvert ou non ouvert ( fermé )


• Une lampe est allumée ou non allumée ( éteinte )
• Une porte est ouverte ou non ouverte ( fermée )

• Remarque :
On peut utiliser les conventions suivantes :

OUI  VRAI ( true )


NON  FAUX ( false)

OUI  1 ( Niveau Haut )


NON  0 ( Niveau Bas )
44
3. Définitions et conventions
3.1. Niveau logique : Lorsque on fait l’étude d’un système logique il faut bien
préciser le niveau du travail.

Logique négative Logique positive Niveau


0 1 H ( Hight ) haut
1 0 L ( Low ) bas

: Exemple
: Logique positive
lampe allumée : 1
lampe éteinte : 0
Logique négative
lampe allumée : 0
lampe éteinte : 1
45
3.2. Variable logique ( booléenne )
• Une variable logique ( booléenne ) est une variable qui
peut prendre soit la valeur 0 ou 1 .
• Généralement elle est exprimée par un seul caractère
alphabétique en majuscule ( A , B, S , …)

• Exemple :

 Une lampe : allumée L=1


éteinte L=0

– Premier interrupteur ouvert : I1 =1


fermé : I1 =0

– 2éme interrupteur ouvert : I2=1


fermé : I2=0
46
3.3. Fonction logique
• C’est une fonction qui relie N variables logiques avec
un ensemble d’opérateurs logiques de base.

• Dans l’Algèbre de Boole il existe trois opérateurs de


base : NON , ET , OU.

• La valeur d’une fonction logique est égale à 1 ou 0


selon les valeurs des variables logiques.

• Si une fonction logique possède N variables logiques


 2n combinaisons  la fonction possède 2n valeurs.

• Les 2n combinaisons sont représentées dans une table


qui s’appelle table de vérité ( TV ). 47
Exemple d’une fonction logique
F ( A, B, C )  A.B.C  A.B.C  A.B.C  A.B.C
La fonction possède 3 variables  23 combinaisons

F (0,0,0) 0.0.0  0.0.0  0.0.0  0.0.0 0


F (0,0,1) 0.0.1  0.0.1  0.0.1  0.0.1 1
F C B A
F (0,1,0) 0.1.0  0.1.0  0.1.0  0.1.0 0
0 0 0 0
F (0,1,1) 0.1.1  0.1.1  0.1.1  0.1.1 1
1 1 0 0
F (1,0,0) 1.0.0  1.0.0  1.0.0  1.0.0 0 0 0 1 0
F (1,0,1) 1.0.1  1.0.1  1.0.1  1.0.1 1 1 1 1 0
F (1,1,0) 1.1.0  1.1.0  1.1.0  1.1.0 0 0 0 0 1
1 1 0 1
F (1,1,1) 1.1.1  1.1.1  1.1.1  1.1.1 1
0 0 1 1
1 1 1 1
48
Une table de vérité
4. Opérateurs logiques de base
4.1 NON ( négation )

• NON : est un opérateur unaire ( une seule variable) qui à


pour rôle d’inverser la valeur d’une variable .

F(A)= Non A = A
( lire : A barre )

1 0

0 1
49
4.2 ET ( AND )
• Le ET est un opérateur binaire ( deux variables) , à
pour rôle de réaliser le Produit logique entre deux
variables booléennes.
• Le ET fait la conjonction entre deux variables.


Le ET est défini par : F(A,B)= A . B

A.B B A
0 0 0
0 1 0
0 0 1
1 1 1
50
4.3 OU ( OR )
• Le OU est un opérateur binaire ( deux variables) , à pour
rôle de réaliser la somme logique entre deux variables
logiques.
• Le OU fait la disjonction entre deux variables.
• Le OU est défini par F(A,B)= A + B ( il ne faut pas
confondre avec la somme arithmétique )

A+B B A
0 0 0
1 1 0
1 0 1
1 1 1
51
Remarques
• Dans la définition des opérateurs ET , OU , nous avons
juste donner la définition de base avec deux variables
logiques.

• L’opérateur ET peut réaliser le produit de plusieurs


variables logique ( ex : A . B . C . D ).

• L’opérateur OU peut aussi réaliser la somme logique de


plusieurs variables logiques ( ex : A + B + C +D).

• Dans une expression on peut aussi utiliser les


parenthèses.

52
4.4 Précédence des opérateurs ( priorité des opérateurs )
• Pour évaluer une expression logique ( fonction logique) :
– on commence par évaluer les sous expressions entre les
parenthèses.
– puis le complément ( NON ) ,
– en suite le produit logique ( ET )
– enfin la somme logique ( OU)
Exemple :
F(A, B, C) ( A . B) . ( C  B)  A.B.C
si on veut calculer F(0,1,1) alors :
F(0,1,1) (0.1)(1  1)  0.1.1
F(0,1,1) (0 ) (1 )  0.0.1
F(0,1,1) 1.1  0.0.1
F(0,1,1) 1  0
F(0,1,1) 1
: Exercice
? Trouver la table de vérité de la fonction précédente 53
Solution
Pour trouver la table de vérité , il faut trouver la valeur de la fonction F •
pour chaque combinaisons des trois variables A, B , C
variables  2 3 = 8 combinaisons 3•

F(A, B, C) (A . B) . ( C  B)  A.B.C F C B A


0 0 0 0
F(0,0,0)  ( 0. 0) .(0  0)  0 . 0 .0 0 1 1 0 0
F(0,0,1) ( 0. 0) .(1  0)  0 . 0 .1  1
1 0 1 0
F(0,1,0) ( 0.1) .(0  1)  0 . 1 .0 1
1 1 1 0
F(0,1,1) ( 0.1) .(1  1)  0 . 1 .1  1
0 0 0 1
F(1,0,0) ( 1. 0) .(0  0)  1 . 0 .0 0
1 1 0 1
F(1,0,1) ( 1. 0) .(1  0)  1 . 0 .1 1
F(1,1,0) ( 1.1) .(0  1)  1 . 1 .0 0 0 0 1 1

F(1,1,1) ( 1.1) .(1  1)  1 . 1 .1  0 0 1 1 1


54
4.5 Lois fondamentales de l’Algèbre de Boole

L’opérateur NON•

A A
A  A 1
A. A 0

55
L’opérateur ET•

( A.B ).C  A.( B.C )  A.B.C Associativité


A.B B. A Commutativ ité
A. A  A Idempotence
A.1  A Elément neutre
A.0 0 Elément absorbant

56
L’opérateur OU •

( A  B)  C  A  ( B  C )  A  B  C Associativité
A  B B  A Commutativité
A  A A Idempotence
A  0 A Elément neutre
A  1 1 Elément absorbant

57
Distributivité•

A . ( B  C ) ( A . B )  ( A . C ) Distributivité du ET sur le OU
A  ( B . C ) (A  B).(A  C) Distributivité du OU sur le ET

Autres relations utiles•

A  ( A . B ) A
A. ( A  B) A
(A  B) . (A  B) A
A  A . B A  B

58
5. Dualité de l’algèbre de Boole
• Toute expression logique reste vrais si on remplace le ET
par le OU , le OU par le ET , le 1 par 0 , le 0 par 1.

• Exemple :

A  1 1  A . 0 0
A  A 1  A . A 0

59
6. Théorème de DE-MORGANE

La somme logique complimentée de deux variables est•


.égale au produit des compléments des deux variables

AB A . B
• Le produit logique complimenté de deux variables est
égale au somme logique des compléments des deux
variables.

A.B  A  B 60
6.1 Généralisation du Théorème DE-
MORGANE à N variables

A.B.C......  A  B  C  ..........
A  B  C  ...........  A.B.C......

61
7. Autres opérateurs logiques
7.1 OU exclusif ( XOR)

F ( A, B)  A  B

A  B  A.B  A.B

62
7.2 NAND ( NON ET )

F(A, B) A . B
F ( A, B)  A  B

63
7.3 NOR ( NON OU )

F(A, B)  A  B
F ( A, B )  A  B

64
7.4 NAND et NOR sont des opérateurs
universels

• En utilisant les NAND et les NOR on peut


exprimer n’importe qu’elle expression ( fonction )
logique.

• Pour cela , Il suffit d’exprimer les opérateurs de


base ( NON , ET , OU ) avec des NAND et des
NOR.

65
7.4.1 Réalisation des opérateurs de base
avec des NOR

A A  A A  A
A  B A  B A  B (A  B)  (A  B)
A.B A.B A  B A  B (A  A)  (B  B)

66
7.4.3 Propriétés des opérateurs NAND et
NOR

A  0 1 A  0 A
A  1 A A  1 0
A  B B  A A  B B  A
( A  B)  C  A  ( B  C ) ( A  B)  C  A  ( B  C )

67
8. Portes logiques
Une porte logique est un circuit électronique élémentaire qui
. Permet de réaliser la fonction d’un opérateur logique de base

A A

Inverseur

A A
A.B A+B

B Porte ET B Porte OU
68
A A
A B A B

B Porte NAND B Porte NOR

A
A B

B Porte XOR

: Remarque
Les portes ET , OU , NAND , NOR peuvent avoir plus•
que deux entrées
Il n’existe pas de OU exclusif à plus de deux entrées•
69
Schéma d’un circuit logique ( Logigramme) 8.1

.C’est la traduction de la fonction logique en un schéma électronique •


Le principe consiste à remplacer chaque opérateur logique par la porte•
.logique qui lui correspond

Exemple1
B F
F ( A, B, C )  A.B  B.C

70
Exemple 2

F(A, B, C, D) (A  B ) . ( B  C  D ) .A

A
B

D
71
Exercice 1
• Donner le logigramme des fonctions suivantes :

F(A, B) A.B  A.B


F(A, B, C) (A  B).(A  C).(B  C)
F(A, B, C) (A . B) . ( C  B)  A.B.C

72
Exercice 2 : Donner l’équation de F ?

B
F

D
73
Définition textuelle d’une fonction
logique , table de vérité , formes
algébriques , simplification
algébrique, table de Karnaugh

74
1. Définition textuelle d’une fonction logique

• Généralement la définition du fonctionnement d’un


système est donnée sous un format textuelle .

• Pour faire l’étude et la réalisation d’un tel système on


doit avoir son modèle mathématique (fonction logique).

• Donc il faut tirer ( déduire ) la fonction logique a partir de


la description textuelle.

75
Exemple : définition textuelle du fonctionnement
d’un système

• Une serrure de sécurité s’ouvre en fonction de trois clés.


Le fonctionnement de la serrure est définie comme suite :

– La serrure est ouverte si au moins deux clés sont


utilisées.

– La serrure reste fermée dans les autres cas .

Donner la schéma du circuit qui permet de contrôler


? l’ouverture de la serrure

76
Étapes de conception et de réalisation d’un circuit
numérique

• Pour faire l’étude et la réalisation d’un circuit il faut


suivre le étapes suivantes :

1. Il faut bien comprendre le fonctionnement du système.


2. Il faut définir les variables d’entrée.
3. Il faut définir les variables de sortie.
4. Etablir la table de vérité.
5. Ecrire les équations algébriques des sorties ( à partir de la
table de vérité ).
6. Effectuer des simplifications ( algébrique ou par Karnaugh).
7. Faire le schéma avec un minimum de portes logiques.

77
Si on reprend l’exemple de la serrure :

– Le système possède trois entrées : chaque entrée


représente une clé.
– On va correspondre à chaque clé une variable logique: clé
1  A , la clé 2  B , la clé 3  C
• Si la clé 1 est utilisée alors la variable A=1 sinon A =0
• Si la clé 2 est utilisée alors la variable B=1 sinon B =0
• Si la clé 3 est utilisée alors la variable C=1 sinon C =0

– Le système possède une seule sortie qui correspond à


l’état de la serrure ( ouverte ou fermé ).
– On va correspondre une variable S pour designer la sortie :
• S=1 si la serrure est ouverte ,
• S=0 si elle est fermée

78
S=F(A,B,C)
F(A,B,C)= 1 si au mois deux clés sont introduites
F(A,B,C)=0 si non .

A
S=F(A,B,C)
B Circuit
C

: Remarque
Il est important de préciser aussi le niveau logique avec lequel on travail
.) logique positive ou négative (

79
2. Table de vérité ( Rappel )

• Si une fonction logique possède N variables


logiques  2n combinaisons  la fonction
possède 2n valeurs.

• Les 2n combinaisons sont représentées dans


une table qui s’appelle table de vérité.

80
2. Table de vérité ( Exemple )

S C B A

0 0 0 0 A  B  C : max terme
0 1 0 0 A  B  C : max terme
0 0 1 0 A  B  C : max terme
1 1 1 0 A .B.C : min terme
0 0 0 1 A  B  C : max terme
1 1 0 1 A .B.C : min terme
1 0 1 1
A .B.C : min terme
1 1 1 1 A .B.C : min terme
81
2.3 Extraction de la fonction logique à partir
de la T.V

• F = somme min termes

F ( A, B, C ) A . B . C  A . B . C  A . B . C  A . B . C

F = produit des max termes •

F(A, B, C) ( A  B  C) (A  B  C)(A  B  C) (A  B  C)

82
3. Forme canonique d’une fonction logique

• On appel forme canonique d’une fonction la forme ou


chaque terme de la fonction comportent toutes les
variables.

• Exemple :

F(A, B, C) ABC  A CB  ABC

Il existent plusieurs formes canoniques : les plus utilisées


. sont la première et la deuxième forme
83
3.1 Première forme canonique

• Première forme canonique (forme disjonctive) : somme de


produits
• C’est la somme des min termes.
• Une disjonction de conjonctions.

• Exemple :

F ( A, B, C ) A . B . C  A . B . C  A . B . C  A . B . C

.Cette forme est la forme la plus utilisée•


84
3.2 Deuxième forme canonique
• Deuxième forme canonique (conjonctive): produit de
sommes
• Le produit des max termes
• Conjonction de disjonctions
• Exemple :

F(A, B, C) ( A  B  C) (A  B  C)(A  B  C) (A  B  C)

La première et la deuxième forme canonique sont


. équivalentes

85
Remarque 1
• On peut toujours ramener n’importe qu’elle fonction
logique à l’une des formes canoniques.

• Cela revient à rajouter les variables manquants dans les


termes qui ne contiennent pas toutes les variables ( les
termes non canoniques ).

• Cela est possible en utilisant les règles de l’algèbre de


Boole :
– Multiplier un terme avec une expression qui vaut 1
– Additionner à un terme avec une expression qui vaut 0
– Par la suite faire la distribution

86
Exemple :
1. F(A, B) A  B
A (B  B)  B( A  A )
AB  A B  AB  AB
 AB  A B  AB

2. F(A, B, C) AB  C
 AB(C  C)  C( A  A )
 ABC  ABC  AC  AC
ABC  ABC  AC(B  B)  AC (B  B)
ABC  ABC  ABC  A BC  ABC  A BC
ABC  ABC  A BC  A B C  A B C 87
Remarque 2
• Il existe une autre représentation des formes canoniques
d’une fonction , cette représentation est appelée forme
numérique.
• R : pour indiquer la forme disjonctive
• P : pour indiquer la forme conjonctive.

Exemple : si on prend une fonction avec 3 variables

R( 2,4,6)  (2,4,6) R( 010,100,11 0) ABC  A BC  ABC

P(0,1,3,5,7)  (0,1,3,5,7) P(000,001, 011,101,11 1)


(A  B  C)(A  B  C) (A  B  C ) (A  B  C ) (A  B  C)
88
Remarque 3 : déterminer F
F C B FA

1 0 0 0 0

1 0 1 0 0

1 0 0 1 0

0 1 1 1 0

1 0 0 0 1

0 1 1 0 1

0 1 0 1 1

0 1 1 1 1

F  A.B.C  A.B.C  A.B.C  A.B.C 89


Exercice 1
• Déterminer la première , la deuxième forme canonique et
la fonction inverse à partir de la TV suivante ? Tracer le
logigramme de la fonction ?

F B A
0 0 0
1 1 0
1 0 1
0 1 1

90
Exercice 2

• Faire le même travail avec la T.V suivante :

S C B A
0 0 0 0
1 1 0 0
1 0 1 0
1 1 1 0
0 0 0 1
1 1 0 1
1 0 1 1
1 1 1 1
91
Exercice 3

Un jury composé de 4 membres pose une question à un joueur, qui à


son tour donne une réponse. Chaque membre du jury positionne son
interrupteur à " 1 " lorsqu'il estime que la réponse donnée par le
joueur est juste (avis favorable ) et à " 0 " dans le cas contraire (avis
défavorable ). On traite la réponse de telle façon à positionner :
• Une variable succès (S=1) lorsque la décision de la majorité des
membres de jury est favorable,
• une variable Échec (E=1) lorsque la décision de la majorité des
membres de jury est défavorable
• et une variable Égalité (N=1) lorsqu’il y a autant d'avis favorables que
d'avis défavorables.

Question :
a./ Déduire une table de vérité pour le problème,
b./ Donner les équations de S, E,
c./ En déduire l’équation de N,
92
4. Simplification des fonctions
logiques

93
4. Simplification des fonctions logiques

• L’objectif de la simplification des fonctions logiques est de :


– réduire le nombre de termes dans une fonction
– et de réduire le nombre de variables dans un terme

• Cela afin de réduire le nombre de portes logiques utilisées


 réduire le coût du circuit

• Plusieurs méthodes existent pour la simplification :


– La Méthode algébrique
– Les Méthodes graphiques : ( ex : table de karnaugh )
– Les méthodes programmables
94
5. Méthode algébrique
• Le principe consiste à appliquer les règles de l’algèbre de
Boole afin d’éliminer des variables ou des termes.
• Mais il n’y a pas une démarche bien spécifique.
• Voici quelques règles les plus utilisées :

A . B  A . B B
A  A . B A
A  A . B A  B
( A  B) ( A  B) A
A . ( A  B) A
A . ( A  B) A . B 95
5.1 Règles de simplification
• Règles 1 : regrouper des termes à l’aide des règles
précédentes

• Exemple

ABC  ABC  A BCD AB (C  C)  A BCD


AB  A BCD
A ( B  B (CD))
A ( B  CD)
AB  ACD

96
• Règles 2 : Rajouter un terme déjà existant à une expression

• Exemple :

A B C  ABC  A BC  ABC 
ABC  ABC  ABC  A BC  ABC  ABC 
BC  AC  AB

97
• Règles 3 : il est possible de supprimer un terme
superflu ( un terme en plus ), c’est-à-dire déjà
inclus dans la réunion des autres termes.

• Exemple 1 :

F(A, B, C) A B  BC  AC AB  BC  AC ( B  B)
AB  BC  ACB  A BC
 AB ( 1  C)  BC (1  A)
AB  BC

98
Exemple 2 : il existe aussi la forme conjonctive du terme
superflu

F(A, B, C) (A  B) . (B  C) . (A  C)
(A  B) . (B  C) . (A  C  B.B)
(A  B) . (B  C) . (A  C  B) .(A  C  B)
(A  B) . (A  C  B) . (B  C) .(A  C  B)
(A  B) . (B  C)

99
• Règles 4 : il est préférable de simplifier la forme
canonique ayant le nombre de termes minimum.

• Exemple :

F ( A, B, C ) R ( 2,3,4,5,6,7)
F(A, B, C) R( 0,1)  A . B . C  A . B . C
A . B (C  C)
A . B  A  B
F(A, B, C) F(A, B, C) A  B A  B

100
Exercice

: Démontrer la proposition suivante

A.B  B.C  A.C  A.B.C  A.B.C  A.B.C  A  B  C

: Donner la forme simplifiée de la fonction suivante

F ( A, B, C , D)  ABCD  A BCD  ABC D  ABC D  ABCD

101
Simplification par la table .6
de Karnaugh

102
6.1. Les termes adjacents
: Examinons l’expression suivante•

A.B A.B

Les deux termes possèdent les même variables. La•


.seule différence est l’état de la variable B qui change
: Si on applique les règles de simplification on obtient•

AB  A B  A( B  B )  A

.Ces termes sont dites adjacents•


103
Exemple de termes adjacents

Ces termes sont adjacents


A.B  A.B B
A.B.C  A.B.C  A.C
A.B.C.D  A.B.C.D A.B.D
Ces termes ne sont pas adjacents
A.B  A.B
A.B.C  A.B.C
A.B.C.D  A.B.C.D

104
Description de la table de karnaugh 6.1

.La méthode de Karnaugh se base sur la règle précédente


La méthode consiste a mettre en évidence par une méthode
graphique (un tableaux ) tous les termes qui sont adjacents
.(qui ne différent que par l’état d’une seule variable)
La méthode peut s’appliquer aux fonctions logiques de
.2,3,4,5 et 6 variables
Un tableau de Karnaugh comportent 2n cases ( N est le
.nombre de variables )

105
A AB
B C
1 0 10 11 01 00

0 0

1 1

Tableau à 2 variables Tableaux à 3 variables

106
Tableau à 4 variables

AB
CD
10 11 01 00

00

01

11

10

107
Tableau à 5 variables

AB AB
CD CD
10 11 01 00 10 11 01 00

00 00

01 01

11 11

10 10

U=0 U= 1
108
Dans un tableau de karnaugh , chaque case possède un certain
.nombre de cases adjacentes

AB AB
C CD
10 11 01 00 10 11 01 00
0 00

1 01

11
Les trois cases bleues sont des
cases adjacentes à la case rouge 10

109
6.2 Passage de la table de vérité à la table de Karnaugh

Pour chaque combinaisons qui représente un min terme lui


. correspond une case dans le tableau qui doit être mise à 1

Pour chaque combinaisons qui représente un max terme lui


. correspond une case dans le tableau qui doit être mise à 0

Lorsque on remplis le tableau , on doit soit prendre les


min terme ou les max terme

110
: Exemple

S C B A
0 0 0 0 AB
0 1 0 0 C
10 11 01 00
0 0 1 0
1 0
1 1 1 0
1 1 1 1
0 0 0 1
1 1 0 1
1 0 1 1
1 1 1 1

111
6.3 Passage de la forme canonique à la table de
Karnaugh

• Si la fonction logique est donnée sous la première forme


canonique ( disjonctive), alors sa représentation est
directe : pour chaque terme lui correspond une seule
case qui doit être mise à 1.

• Si la fonction logique est donnée sous la deuxième


forme canonique ( conjonctive), alors sa représentation
est directe : pour chaque terme lui correspond une seule
case qui doit être mise à 0 .

112
Exemple
AB
C
10 11 01 00
F1(A, B, C)  (1,2,5,7)
1 0

1 1 1 1

AB
C
10 11 01 00
F2(A, B, C)  (0,2,3,6) 0
0 0 0
0 1

113
6.4 Méthode de simplification (Exemple : 3 variables )

L’idée de base est d’essayer de regrouper (faire des regroupements ) les


cases adjacentes qui comportent des 1 ( rassembler les termes
.adjacents )
Essayer de faire des regroupements avec le maximum de cases ( 16,8,4
ou 2 )
Dans notre exemple on peut faire uniquement des regroupements de 2
. cases

AB
C
10 11 01 00

0
ABC  ABC  AB
1
1 1 1 1

114
Puisque il existent encore des cases qui sont en dehors d’un
regroupement on refait la même procédure : former des
.regroupements
Une case peut appartenir à plusieurs regroupements

AB
C
10 11 01 00

0 ABC  ABC  AB
1
1 1 1 1 ABC  A BC  AC

115
On s’arrête lorsque il y a plus de 1 en dehors des regroupements
La fonction final est égale à la réunion ( somme ) des termes après
.simplification

AB
C
10 11 01 00

0 ABC  ABC  AB
1
1 1 1 1 ABC  A BC  AC

ABC  ABC BC

F ( A, B, C )  AB  AC  BC
116
Donc , en résumé pour simplifier une fonction par la table de
karnaugh il faut suivre les étapes suivantes :

1. Remplir le tableau à partir de la table de vérité ou à partir


de la forme canonique.
2. Faire des regroupements : des regroupements de
16,8,4,2,1 cases ( Les même termes peuvent participer à
plusieurs regroupements ) .
3. Dans un regroupement :
 Qui contient un seule terme on peut pas éliminer de variables.
 Qui contient deux termes on peut éliminer une variable ( celle qui
change d’état ).
 Qui contient 4 termes on peut éliminer 2 variables.
 Qui contient 8 termes on peut éliminer 3 variables.
 Qui contient 16 termes on peut éliminer 4 variables.
5. L’expression logique finale est la réunion ( la somme ) des
groupements après simplification et élimination des
variables qui changent d’état.
117
Exemple 1 : 3 variables

AB
C
10 11 01 00

1 0

1 1 1 1 1

F ( A, B, C ) C  AB

118
Exemple 2 : 4 variables

AB
CD
10 11 01 00

1 00

1 1 1 1 01

11

1 10

F ( A, B, C , D ) C.D  A.B.C  A.B.C.D


119
Exemple 3 : 4 variables

AB
CD
10 11 01 00

1 1 00

1 1 1 01

1 11

1 1 10

F ( A, B, C , D)  AB  B D  BC D 120
Exemple 4 : 5 variables
AB AB
CD CD
10 11 01 00 10 11 01 00

1 00 1 00

1 1 01 1 1 01

1 1 11 1 1 11

1 10 1 1 10

U=0 U= 1

F(A, B, C, D, U)  A B  A.B.D.U  A.C.D.U  A.B.D.U


121
Exercice
Trouver la forme simplifiée des fonctions à partir des
? deux tableaux

AB
CD
AB 10 11 01 00
C
10 11 01 00 00
1 1 1
1 1 1 0
01

1 1 1 1
11

1 1 1 1 10

122
6.5 Cas d’une fonction non totalement définie

: Examinons l’exemple suivant

Une serrure de sécurité s’ouvre en fonction de quatre clés A, B, C


: D. Le fonctionnement de la serrure est définie comme suite
S(A,B,C,D)= 1 si au moins deux clés sont utilisées
S(A,B,C,D)= 0 sinon

.Les clés A et D ne peuvent pas être utilisées en même temps

On remarque que si la clé A et D sont utilisées en même temps


.l’état du système n’est pas déterminé

Ces cas sont appelés cas impossibles ou interdites  comment


.? représenter ces cas dans la table de vérité

123
S D C B A
Pour les cas impossibles ou interdites
0 0 0 0 0
. il faut mettre un X dans la T.V
0 1 0 0 0
Les cas impossibles sont représentées 0 0 1 0 0
aussi par des X dans la table de karnaugh 1 1 1 0 0
0 0 0 1 0
1 1 0 1 0
AB 1 0 1 1 0
CD 1 1 1 1 0
10 11 01 00
0 0 0 0 1
00 X 1 0 0 1
1
1 0 1 0 1
X X 1 01 X 1 1 0 1
1 0 0 1 1
X X 1 1 11
X 1 0 1 1
1 0 1 1 1
1 1 1 10
X 1 1 1 1124
• Il est possible d’utiliser les X dans des regroupements :
– Soit les prendre comme étant des 1
– Ou les prendre comme étant des 0
• Il ne faut pas former des regroupement qui contient uniquement des X

AB
CD
10 11 01 00

1 00

X X 1 01

X X 1 1 11

1 1 1 10

AB 125
AB
CD
10 11 01 00

1 00

X X 1 01

X X 1 1 11

1 1 1 10

AB  CD

126
AB
CD
10 11 01 00

1 00

X X 1 01

X X 1 1 11

1 1 1 10

AB  CD  BD
127
AB
CD
10 11 01 00

1 00

X X 1 01

X X 1 1 11

1 1 1 10

AB  CD  BD  AC
128
AB
CD
10 11 01 00

1 00

X X 1 01

X X 1 1 11

1 1 1 10

AB  CD  BD  AC  BC
129
Exercice 1

Trouver la fonction logique simplifiée à partir de la table


? suivante

AB
CD
10 11 01 00

X 1 00

1 X 1 01

1 X 1 11

X 1 X 10

130
Chapitre 3 : Les circuits combinatoires

Objectifs
• Apprendre la structure de quelques circuits
combinatoires souvent utilisés ( demi additionneur ,
additionneur complet,……..).

• Apprendre comment utiliser des circuits combinatoires


pour concevoir d’autres circuits plus complexes.

131
1. Les Circuits combinatoires
• Un circuit combinatoire est un circuit numérique dont les
sorties dépendent uniquement des entrées.
• Si=F(Ei)
• Si=F(E1,E2,….,En)

E1 S1
S2
E2 Circuit
..
.. combinatoire
En Sm

Schéma Bloc

C’est possible d’utiliser des circuits combinatoires pour


.réaliser d’autres circuits plus complexes
132
Exemple de Circuits combinatoires

1. Demi Additionneur
2. Additionneur complet
3. Comparateur
4. Multiplexeur
5. Demultiplexeur
6. Encodeur
7. Décodeur

133
2. Demi Additionneur
• Le demi additionneur est un circuit combinatoire qui permet de
réaliser la somme arithmétique de deux nombres A et B chacun sur
un bit.
• A la sortie on va avoir la somme S et la retenue R ( Carry).

A S
B DA
R

Pour trouver la structure ( le schéma ) de ce circuit on doit en


premier dresser sa table de vérité
134
• En binaire l’addition sur un
seul bit se fait de la manière
suivante:

: La table de vérité associée

S R B A : De la table de vérité on trouve

0 0 0 0
R  A.B
1 0 1 0
S  A.B  A.B  A  B
1 0 0 1
0 1 1 1 135
R  A.B
S A  B

A S
B

136
3. L’additionneur complet
• En binaire lorsque on fait une addition, il faut tenir
en compte de la retenue entrante.

r0= 0 r1 r2 r3 r4
ri-1
a1 a2 a3 a4
+ ai
b1 b2 b3 b4
bi +

s1 s2 s3 s4 r4
si ri 137
3.1 Additionneur complet 1 bit
• L’additionneur complet un bit possède 3 entrées :
– ai : le premier nombre sur un bit.
– bi : le deuxième nombre sur un bit.
– ri-1 : la retenue entrante sur un bit.
• Il possède deux sorties :
– Si : la somme
– Ri la retenue sortante

ai Si
bi Additionneur
complet
ri-1 Ri

138
si ri ri-1 bi ai
Table de vérité d’un additionneur 0 0 0 0 0
complet sur 1 bit
1 0 1 0 0
1 0 0 1 0
0 1 1 1 0
1 0 0 0 1
0 1 1 0 1
0 1 0 1 1
1 1 1 1 1

Si  Ai .Bi .Ri  1  Ai .Bi .R i  1  Ai .B i .R i  1  Ai .Bi .Ri  1


Ri  Ai Bi Ri  1  Ai B i Ri  1  Ai Bi R i  1  Ai Bi Ri  1
139
: Si on veut simplifier les équations on obtient

S i  Ai .Bi .Ri  1  Ai .Bi .R i  1  Ai .B i .R i  1  Ai .Bi .Ri  1


S i  Ai .( Bi .Ri  1  Bi .R i  1 )  Ai .( B i .R i  1  Bi .Ri  1 )
S i  Ai ( Bi  Ri  1 )  Ai .( Bi  Ri  1 )
S i  Ai  Bi  Ri  1

Ri  Ai Bi Ri  1  Ai B i Ri  1  Ai Bi R i  1  Ai Bi Ri  1
Ri Ri  1.( Ai .Bi  Ai .B i )  Ai Bi ( R i  1 i Ri  1 )
Ri Ri  1.( Ai  Bi )  Ai Bi

140
3.3 Schéma d’un additionneur complet
R i A i .Bi  R i  1.(Bi  A i )
Si A i  Bi  R i  1

Ai

Bi
Si
Ri-1

Ri

141
3.4 En utilisant des Demi Additionneurs
R i A i .Bi  R i  1.(Bi  A i )
Si A i  Bi  R i  1
Si on pose X A i  Bi et Y A i Bi
On obtient :
R i Y  R i  1.X
Si X  R i  1
et si on pose Z X  R i  1 et T R i  1.X
On obtient :
R i Y  T
Si Z
On remarque que X et Y sont les sorties d’un demi additionneur ayant
comme entrées A et B
On remarque que Z et T sont les sorties d’un demi additionneur ayant
comme entrées X et Ri-1
142
X A i  Bi
Y A i Bi
Z X  R i  1
T R i  1.X
R i Y  T
Si Z
Y
AI
RI
Demi Add
BI
X

Demi Z
Add 143
RI-1
• Circuits logiques
– Synthèse d’un circuit combinatoire
•Synthèse d’un additionneur binaire
•Réalisation au moyen de 2 demi-additionneurs
R a S abR S
a a S ab b R R)ab(
’R
b b R
a.b
a ab
b
abR
S
R
• Réalisation complète R)ab(

• d’un additionneur 1 bit ’R


a.b
• Circuits logiques
– Synthèse d’un circuit combinatoire
–Additionneur à plusieurs bits 4 bits A(A3A2A1A0) B(B3B2B1B0)

A 3 B3 A2 B2 A1 B1 A0 B 0 0

Additionneur a b R a b R a b R a b R
bit 1
R’ S R’ S R’ S R’ S

R S3 S2 S1 S0

A(A3A2A1A0) + B(B3B2B1B0)=RS=(RS3S2S1S0)

145
3.4 Additionneur sur 4 bits
• Un additionneur sur 4 bits est un circuit qui permet de faire l’addition de
deux nombres A et B de 4 bits chacun
– A(a3a2a1a0)
– B(b3b2b1b0)
En plus il tient en compte de la retenu entrante

• En sortie on va avoir le résultat sur 4 bits ainsi que la retenue ( 5 bits en


sortie )

• Donc au total le circuit possède 9 entrées et 5 sorties.

• Avec 9 entrées on a 29=512 combinaisons !!!!!! Comment faire pour


représenter la table de vérité ?????

• Il faut trouver une solution plus facile et plus efficace pour concevoir ce
circuit ?
146
•Lorsque on fait l’addition en binaire , on additionne bit par bit en
commençant à partir du poids fiable et à chaque fois on propage la
retenue sortante au bit du rang supérieur.
L’addition sur un bit peut se faire par un additionneur complet sur 1 bits.

r0= 0 r1 r2 r3
a1 a2 a3 a4
b1 b2 b3 b4 +

r1 s 1 r2 s 2 r3 s 3 r4 s 4

r4 s4 s3 s2 s1 Résultat final
147
3.4.1 Additionneur 4 bits ( schéma )

R0=0
A4 B4 A3 B3 A2 B2 A1 B1
R3 R2 R1

ADD4 ADD3 ADD2 ADD1

R4 S4 S3 S2 S1

148
Circuits logiques
– Synthèse d’un circuit combinatoire
–Additionneur/soustracteur 4 bits
B3 B2 B1 B0
soustraction = 1
addition = 0

A3 A2 A1 A0

Additionneur a b R a b R a b R a b R
bit 1
R’ S R’ S R’ S R’ S

S3 S2 S1 S0
4. Le Comparateur
• C’est un circuit combinatoire qui permet de
comparer entre deux nombres binaire A et B.
• Il possède 2 entrées :
– A : sur un bit
– B : sur un bit

• Il possède 3 sorties A fi
– fe : égalité ( A=B) Comparateur fe
B bit 1
– fi : inférieur ( A < B) fs
– fs : supérieur (A > B)

150
4.1 Comparateur sur un bit

fi fe fs B A
fs  A.B
0 1 0 0 0
fi  AB
1 0 0 1 0
fe  AB  AB  A  B  fs  fi
0 0 1 0 1

0 1 0 1 1

151
Schéma d’un comparateur d’un bit
fs  A.B
fi  AB
fe  fs  fi

A fs

fe

B fi

152
4.2 Comparateur 2 bits

• Il permet de faire la comparaison entre deux nombres A


(a2a1) et B(b2b1) chacun sur deux bits.

A1 fi
Comparateur fe
A2 bits 2
fs
B1

B2

153
fi fe fs B1 B2 A1 A2
A=B si .1
0 1 0 0 0 0 0
A2=B2 et A1=B1 1 0 0 1 0 0 0
1 0 0 0 1 0 0
fe ( A2  B 2).( A1  B1) 1 0 0 1 1 0 0
0 0 1 0 0 1 0
A>B si .2 0 1 0 1 0 1 0
1 0 0 0 1 1 0
A2 > B2 ou (A2=B2 et A1>B1)
1 0 0 1 1 1 0
0 0 1 0 0 0 1
fs  A2.B 2  ( A2  B 2).( A1.B1) 0 0 1 1 0 0 1
0 1 0 0 1 0 1
A<B si .3 1 0 0 1 1 0 1
A2 < B2 ou (A2=B2 et A1<B1) 0 0 1 0 0 1 1
0 0 1 1 0 1 1
0 0 1 0 1 1 1
0 1 0 1 1 1 1
154
4.2.2 comparateur 2 bits avec des comparateurs 1 bit

C’est possible de réaliser un comparateur 2 bits en utilisant des


.comparateurs 1 bit et des portes logiques
Il faut utiliser un comparateur pour comparer les bits du poids faible
.et un autre pour comparer les bits du poids fort
Il faut combiner entre les sorties des deux comparateurs utilisés
.pour réaliser les sorties du comparateur final

a2 b2 a1 b1

Comparateur 1 bit Comparateur 1 bit


fs2 fe2 fi2 fs1 fe1 fi1

155
A=B si .1
A2=B2 et A1=B1

fe ( A2  B2).( A1  B1) fe2.fe1


A>B si .2
A2 > B2 ou (A2=B2 et A1>B1)

fs A2.B2  ( A2  B2).(A1.B1) fs2  fe2.fs1

A<B si .3
A2 < B2 ou (A2=B2 et A1<B1)

fi A2.B2  (A2  B2).(A1.B1) fi2  fe2.fi1


156
a2 b2 a1 b1

Comparateur 1 bit Comparateur 1 bit

fs2 fe2 fi2 fs1 fe1 fi1

fs fe fi
157
4.2.3 Comparateur avec des entrées de
mise en cascade
• On remarque que :
– Si A2 >B2 alors A > B
– Si A2<B2 alors A < B

• Par contre si A2=B2 alors il faut tenir en compte du


résultat de la comparaison des bits du poids faible.

• Pour cela on rajoute au comparateur des entrées qui


nous indiquent le résultat de la comparaison précédente.

• Ces entrées sont appelées des entrées de mise en


cascade.
158
fs fe fs Ei Eg Es B2 A2 A2 B2

0 0 1 X X X A2>B2
Comp )> ( Es
)= ( Eg
1 0 0 X X X A2<B2 fs fe fi )< ( Ei

0 0 1 0 0 1

0 1 0 0 1 0 A2=B1
fs= (A2>B2) ou (A2=B2).Es
fi= ( A2<B2) ou (A2=B2).Ei
1 0 0 1 0 0 fe=(A2=B2).Eg
159
a2 b2 a1 b1

‘0’
Comp Comp
Es Es

Eg Eg ‘1’
fs2 fe2 fi2 fs1 fe1 fi1
Ei Ei

160
161
Circuits logiques
– UAL élémentaire

A A.B Unité logique


B
A+B
Sortie
B

A S
B
R ’R
R ’R
0 Additionneur
F0 A 1
F1 B 2
3
Décodeur 2-4 Unité arithmétique
Unité de commande
5. 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

163
5.1 Multiplexeur 2 1

S C0 V

0 X 0

E1 E0
C0
E0 0 1 Mux 2 1
V

E1 1 1

S V .(C 0 .E 0  C 0 .E1)
164
5.2 Multiplexeur 4 1

S C0 C1

E0 0 0
E3 E2 E1 E0
E1 1 0 C0
C1 Mux 4 1

E2 0 1

E3 1 1
S

S C1.C 0.( E 0)  C1.C 0.( E1)  C1.C 0.( E 2)  C1.C 0.( E 3)

165
5.3 Multiplexeur 81
S C0 C1 C2
E0 0 0 0
E1 1 0 0
E7 E6 E5 E4 E3 E2 E1 E0
E2 0 1 0
C0
E3 1 1 0 C1 Mux 8 1
E4 0 0 1 C2

E5 1 0 1
E6 0 1 1
E7 1 1 1

S C 2.C1.C 0.( E 0)  C 2.C1.C 0( E1)  C 2.C1.C 0( E 2)  C 2.C1.C 0( E 3) 


C 2.C1.C 0( E 4)  C 2.C1.C 0( E 5)  C 2.C1.C 0( E 6)  C 2.C1.C 0( E 7)
166
Exemple : Réalisation d’un additionneur complet
avec des multiplexeurs 81

Nous avons besoin d’utiliser deux multiplexeurs :Le premier pour


.réaliser la fonction de la somme et l’autres pour donner la retenue

ri ri-1 bi ai Si ri-1 bi ai
0 0 0 0
0 0 0 0
1 1 0 0
0 1 0 0
1 0 1 0
0 0 1 0
0 1 1 0
1 1 1 0
1 0 0 1
0 0 0 1
1 1 0 1 0 1 0 1
1 0 1 1 0 0 1 1
1 1 1 1 1 1 1 1
167
Réalisation de la fonction de la somme

S i  A i .B i .R i  1 (0)  A i .Bi .Ri  1 (1)  A i .Bi .R i  1 (1)  A i .Bi .Ri  1 (0)  Ai .B i .R i  1 (1)  Ai .B i .Ri  1 (0)
 Ai .Bi .R i  1 (0)  Ai .Bi .Ri  1 (1)

S C 2.C1.C 0.( E 0)  C 2.C1.C 0( E1)  C 2.C1.C 0( E 2)  C 2.C1.C 0( E 3) 


C 2.C1.C 0( E 4)  C 2.C1.C 0( E 5)  C 2.C1.C 0( E 6)  C 2.C1.C 0( E 7)

: On pose
C2=Ai
C1=Bi
C0=Ri-1
E0=0, E1=1, E2=1, E3=0, E4=1, E5=0, E6=0, E7=1

168
Réalisation de la fonction de la retenue

Ri  Ai B i R i  1 .(0)  Ai B i Ri  1 .(0)  Ai Bi R i  1 .(0)  Ai Bi Ri  1 .(1)  Ai B i R i  1 .(0)  Ai B i Ri  1 .(1)


 Ai Bi R i  1 .(1)  Ai Bi Ri  1 .(1)

S C 2.C1.C 0.( E 0)  C 2.C1.C 0( E1)  C 2.C1.C 0( E 2)  C 2.C1.C 0( E 3) 


C 2.C1.C 0( E 4)  C 2.C1.C 0( E 5)  C 2.C1.C 0( E 6)  C 2.C1.C 0( E 7)

: On pose
C2=Ai
C1=Bi
C0=Ri-1
E0=0, E1=0, E2=0, E3=1, E4=0, E5=1, E6=1, E7=1

169
Réalisation d’un additionneur complet avec des
multiplexeurs 81

’1‘
’1‘
’0‘
’0‘
E7 E6 E5 E4 E3 E2 E1 E0
ri-1 C0 E7 E6 E5 E4 E3 E2 E1 E0
C1 Mux 8 1 ri-1 C0
bi C1 Mux 8 1
C2 bi
C2
ai
ai

Ri
Si
170
6. Demultiplexeurs
• 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.
• Il possède :
– une seule entrée
– 2n sorties
– N entrées de sélection ( commandes)

C0 DeMux 1 4
C1
S3 S2 S1 S0

171
6.1 Demultiplexeur 14
S0 S1 S2 S3 C0 C1
S 0 C1.C 0.( I )
S1 C1.C 0.( I )
i 0 0 0 0 0
S 2 C1.C 0.( I )
0 i 0 0 1 0
S 3 C1.C 0.( I )
0 0 i 0 0 1
I

0 0 0 i 1 1

C0 DeMux 1 4
C1
S3 S2 S1 S0

172
7. 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

Un décodeur 38 173


V
Décodeur 24

S3 S2 S1 S0 B A V
S0
A
S1
0 0 0 0 X X 0 B
S2
0 0 0 1 0 0 1 S3
V
0 0 1 0 1 0 1

0 1 0 0 0 1 1

S 0 ( A.B ).V
1 0 0 0 1 1 1
S1 ( A.B ).V
S 2 ( A.B ).V
174
S 3 ( A.B ).V
Décodeur 38 A
S0
S1
S2
B S3
S4
C S5
S6
S7
S7 S6 S5 S4 S3 S2 S1 S0 C B A

0 0 0 0 0 0 0 1 0 0 0 V

0 0 0 0 0 0 1 0 1 0 0
S 0  A.B.C
0 0 0 0 0 1 0 0 0 1 0
S1  A.B.C
0 0 0 0 1 0 0 0 1 1 0 S 2  A.B.C
0 0 0 1 0 0 0 0 0 0 1 S 3  A.B.C
0 0 1 0 0 0 0 0 1 0 1 S 4  A.B.C
0 1 0 0 0 0 0 0 0 1 1 S 5  A.B.C
1 0 0 0 0 0 0 0 1 1 1 S 6  A.B.C
175
S 7  A.B.C
Décodeur 3 vers 8

4
Une seule sortie à la fois
est 0 et est choisie par le 5
.code abc
6

7
a.b.c = 4
176 c c b b aa
Réalisation d’un additionneur complet
avec des décodeurs binaire 38

S i  A i .Bi .Ri  1  A i .Bi .R i  1  Ai .B i .R i  1  Ai .Bi .Ri  1


1 1 1 0 0 1 0 1 0 1 0 0
Ri  Ai Bi Ri  1  Ai B i Ri  1  Ai Bi R i  1 .  Ai Bi Ri  1
1 1 1 0 1 1 1 0 1 1 1 0

On pose A=Ai , B =Bi , C=Ri-1

S 0  A.B.C , S1  A.B.C , S 2  A.B.C , S 3  A.B.C ,


S 4  A.B.C , S 5  A.B.C , S 6  A.B.C , S 7  A.B.C

Ri  S 3  S 5  S 6  S 7

S i  S1  S 2  S 4  S 7 177
8. 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
x
I1
Encodeur 42 y
I2
I3

178
L’encodeur binaire ( 42)
y x I3 I2 I1 I0

0 0 0 0 0 0 I0
x
I1
0 0 x x x 1 y
I2
I3
1 0 x x 1 0

0 1 x 1 0 0
X  I 0.I1.( I 2  I 3)
1 1 1 0 0 0
Y  I 0.( I1  .I 2.I 3)
179
9. 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

180
Exemple : Transcodeur BCD/EXESS3
T Z Y X D C B A
1 1 0 0 0 0 0 0
0 0 1 0 1 0 0 0
1 0 1 0 0 1 0 0
0 1 1 0 1 1 0 0
1 1 1 0 0 0 1 0
0 0 0 1 1 0 1 0
1 0 0 1 0 1 1 0
0 1 0 1 1 1 1 0
1 1 0 1 0 0 0 1
0 0 1 1 1 0 0 1
x x x x 0 1 0 1
x x x x 1 1 0 1
x x x x 0 0 1 1
x x x x 1 0 1 1
x x x x 0 1 1 1
x x x x 1 1 1 1 181
Additionneur BCD

182
183
184
Chapitre 5 : Les circuits
séquentiels
•Introduction
•Notion d’horloge (système synchrone et système
asynchrone)
•Les bascules
–RS
– RST
–T
– D et D latch
– JK
•Les registres
•Les compteurs/decompteurs
185
[Link]
Un circuit combinatoire est un circuit
numérique dont les sorties dépendent
uniquementS des
f (Eentrées:
)
L’étatdu système ne dépend pas de l’état
interne du système.
Pas de mémoration de l’état du système.

186
[Link] circuits séquentiels
Un circuit séquentiel est un circuit numérique (logique) dont
l’état à l’instant t+1 est une fonction des entrées en même
instant t+1 et de l’état précédente du système ( l’instant t)

S t 1  f ( E , S t )
Circuit
E séquentiel S

S  f (E, S )
187
Exemple d’un circuit séquentiel

Circuit
C séquentiel L

L+ L C

Mémoire L X 0

basculement 1 0 1

basculement 0 1 1

188
[Link]ème synchrone( Notion de
l’horloge)
 Une horloge est une variable logique qui passe
successivement de 0 à 1 et de 1 à 0 d’une façon périodique.
 Cette variable est utilisée souvent comme une entrée des
circuits séquentiels  le circuit est dit synchrone.
 L’horloge est notée par h ou ck ( clock).

1 1 1 1 1 1 1
h 0 0 0 0 0 0 0

E0
Circuit séquentiel S1
E1
synchrone S2
H
189
L’horloge
Niveau Haut: 1

1
0 0

Niveau Bas : 0
Front
Front
descendant La période T
montant
La période T est en
seconde
Fréquence F f 1
T

La fréquence est en hertz


190
Synchronisation sur niveau Haut

Synchronisation sur front montant

Synchronisation sur front descendant

E
191
4. Les systèmes Asynchrones

 Lorsque un circuit séquentiel n’a pas d’horloge


comme variable d’entrée ou si le circuit
fonctionne indépendamment de cette horloge
alors ce circuit est asynchrone.

E0
Circuit séquentiel S1
E1
asynchrone S2
E2

192
[Link] bascules ( flip-flops)
 Les bascules sont les circuits de bases de la logique séquentiel .
 Une bascule peut posséder une horloge (synchrone ) ou non
(asynchrone)
Q Q
 Chaque bascule possède des entrées et deux sorties et .
 Une bascule possède la fonction de mémoration et de
basculement.

E0
E1 Q

…… Une bascule Q  F ( Ei, Q )
E2 Q

Il existe plusieurs types de bascules :T ,RS, RST ,D ,JK


193
5.1 Les bascules RS (Reset,Set)

R Q
Une bascule
S RS
Q

R S Q- Q+

0 0 0 0
R S Q+ Etat mémoire
0 0 1 1
0 0 Q- 0 1 0 1
Remise à 1
0 1 1 0 1 1 1

1 0 0 1 0 0 0
Remise à 0
1 0 1 0
1 1 X
1 1 0 X
État interdite
1 1 1 X 194
Chronogramme d’une bascule RS

mémoire
195
5.3 Les bascules RST

T R S Q+
0 X X Q

R Q 1 0 0 Q
Une bascule
S RST
Q 1 0 1 1
T
1 1 0 0

1 1 1 X

196
5.7 Les bascules J.K en mode
synchrone
Une bascule avec deux entrée J , K et une horloge
( front montant ou descendant)

h J K Q+
0/1 x x Q-
J Q
0 0 Q-
h Bascule JK
0 1 0 Q
K
1 0 1
1 1 Q
197
Chronogramme d’une bascule J.K

0 1 0
J

0 0 0
K

Q
198
Les bascules J.K en mode asynchrone
 Deux entrées Pr ( preset ) et cl ( clear) asynchrone
 Plus prioritaire que l’horloge
 Pr et Cl fonctionne avec la logique negative.

J Pr Q
Sur front montant h Bascule JK
Q
K Cl

J Pr
Q
Sur front descendant h Bascule JK
Q
K Cl 199
Table de transition d’une bascule
JK
 Onconnait les valeurs des sorties , comment
determiner les valeurs des entrées JK ?

K J Q+ Q
futur présent

Remise à 0 ou état mémoire X 0 0 0

Remise à 1 ou basculement X 1 1 0

Remise à 0 ou basculement 1 X 0 1

Remise à 1 ou état mémoire 0 X 1 1

200
5.3 Les bascules T
C’est un cas particulier de la bascule JK
(T=J=K)

Q T Q+
Une bascule
T T
Q 0 Q

1 Q

201
5.4 Les bascules D latch
 C’estune bascule synchrone (utilise une horloge)
sur niveau Haut ou niveau Bas

D
Q h D Q+
Une bascule
D latch Q
h 0 0 Q-

Sur niveau Haut 0 1 Q-

1 0 0
D
Q 1 1 1
Une bascule
D latch Q
h
Si h=1 Q+=D
Sur niveau bas 202
Chronogramme d’une bascule D latch (niveau
haut )

203
5.6 Les bascules D

 C’est une bascule synchronisée sur front montant


ou descendant

Sur front montant


h D Q+

0/1 0 Q- Q
D Une bascule
D
0/1 1 Q- h Q

0 0

1 1
Q
D Une bascule
D
h Q

Sur front descendant 204


Chronogramme d’une bascule D

1
D 0

1
0
Q

205
Exercice
 Réaliserle circuit qui permet de réaliser le cycle
suivant 0,1,2,3 à l’aide de bascules JK?

0
1

3
2

206
Solution

Q0+ Q1+ K0 J0 K1 J1 Q0 Q1

1 0 X 1 X 0 0 0 J0=K0=1
J1=K1=Q0

0 1 1 X X 1 1 0

1 1 X 1 0 X 0 1

0 0 1 X 1 X 1 1

207
Solution (schéma)
5V 5V

J1 Pr Q1 J0 pr Q0
h Bascule JK Bascule JK
K1
Q1 Q0
cl K0
cl

5V

5V 5V
Q1 Q0

208
Les registres

209
1. Définition
• Une bascule est l’élément de base de la logique
séquentielle.
• Une bascule permet de mémoriser un seul bit.
• Un registre est ensemble un ordonné de n bascules.
• Un registre permet de mémoriser ( sauvegarder) une
information sur n bits.
• Exemple :

210
2. Type de registres
• Il existe plusieurs types de registres :
– Registre à entrées parallèles et sorties parallèles
(Registre à chargement parallèle ).
– Registre à entrée série et sortie série
– Registre à entrée série et sortie parallèle.
– Registre à entrée parallèle et sortie série.
– Registre à décalage circulaire.

211
2.1 Registre à entrées parallèles et sorties parallèles
(Registre à chargement parallèle ).

• Il peut charger une information sur N bits en même temps.


• Les n bascules changement d’états en même temps.
• Chaque bascule Bi prend la valeur de l’information i.
• Il possède une entrée de chargement chg ( chg=0  état mémoire,
chg=1 chargement )

212
2.2 Registre à entrée série et sortie série

• L’information est introduite bit par bit ( en série).


• L'ensemble du registre est décalé d'une position ( Bi, Bi+1) et la
bascule B0 reçoit une nouvelle entrée ES.
• Un tel registre est appelé registre à entrée série à gauche et à sortie
série à droite.

213
registre à entrée série à droite et à sortie
série à gauche.

214
Registre à entrée série et sortie parallèle.

215
Registre à entrée parallèle et sortie série.

216
2.5 Registre à décalage circulaire

• C'est un registre qui effectue un décalage vers la gauche en


répercutant la sortie de la derniére bascule vers l'entrée de la
dernière bascule.
• Le décalage peut être un décalage droite ( circulaire droite) ou
gauche ( circulaire gauche)

217

Vous aimerez peut-être aussi