Vous êtes sur la page 1sur 21

Bases des Systmes Numriques

A. Oumnad

Bases des systmes


Numriques

A. Oumnad

Bases des Systmes Numriques

A. Oumnad

Chapitre I -- Systmes de Numration....................................................................................................................... 3


I.1 -- Systme dcimal............................................................................................................................................. 3
I.2 -Systme Octal............................................................................................................................................. 3
I.3 -Systme Hexadcimal ............................................................................................................................... 3
I.4 -Systme Binaire Naturel .......................................................................................................................... 3
I.5 -Changement de base .................................................................................................................................. 4
I.5.1 -- Dcimal Binaire .................................................................................................................................. 4
I.5.2 -- Dcimal Octal ..................................................................................................................................... 4
I.5.3 -- Dcimal Hexadcimal........................................................................................................................ 5
I.5.4 -- Octal binaire....................................................................................................................................... 5
I.5.5 -- Hexadcimal binaire ........................................................................................................................ 5
I.6 -Oprations dans le systme Binaire naturel......................................................................................... 6
I.6.1 -- Reprsentation des nombres ngatifs ............................................................................................... 6
I.6.2 -- La multiplication...................................................................................................................................... 7
Chapitre II -- NOTIONS SUR les CODES ................................................................................................................ 8
II.1 -Codes dcimaux........................................................................................................................................... 8
II.2 -- Codes rflchis ........................................................................................................................................... 9
II.2.1 -- Code de Gray .......................................................................................................................................... 9
Chapitre III -- VARIABLES ET FONCTIONS BOOLEENNE ..............................................................................10
III.1 -Algbre de Boole....................................................................................................................................10
III.2 -Variable boolenne ................................................................................................................................10
III.3 -Fonction boolenne................................................................................................................................10
III.4 -Oprateur Logiques............................................................................................................................... 11
III.4.1 -- Oprateur ET (AND)......................................................................................................................... 11
III.4.2 -- Oprateur OU (OR) .......................................................................................................................... 11
III.4.3 -- Oprateur NON-ET (NAND).......................................................................................................... 11
III.4.4 -- Oprateur OU EXCLUSIF (XOR) .................................................................................................. 11
III.4.5 -- Analogie ............................................................................................................................................... 11
III.5 -Identits remarquables .......................................................................................................................12
III.6 -Thorme de Morgan............................................................................................................................13
III.7 -Forme canonique ....................................................................................................................................13
III.8 -Thorme de la disjonction .................................................................................................................13
III.9 -NAND : Oprateur universel ..............................................................................................................14
III.9.1 -- Rgle des fantmes :.........................................................................................................................15
Chapitre IV -- Simplification des fonctions logique................................................................................................15
IV.1 -Mthode Karnaugh (1953) .......................................................................................................................15
IV.1.1 -- Diagramme de Karnaugh......................................................................................................................15
IV.1.2 -- Remplissage de la table de Karnaugh partir de la table de vrit ........................................16
IV.1.3 -- Remplissage de la table de Karnaugh partir d'une fonction. ..................................................17
IV.1.4 -- Lecture du digramme de Karnaugh ..................................................................................................18
IV.1.5 -- Code Interdit ou quand la valeur compte peu................................................................................19
IV.2 -- Exemple 1 : Convertisseur Binair naturel vers code de Gray.......................................................... 20
IV.3 -- Exemple 2 : Synthse d'un systme logique .......................................................................................21

Bases des Systmes Numriques

A. Oumnad

CHAPITRE I -- SYSTEMES DE NUMERATION


I.1 -- Systme dcimal
Le systme dcimal est le systme base 10. Pour crire un nombre dans ce systme, on a besoin de 10
symboles qu'on a l'habitude d'appeler chiffres. L'criture implique l'application d'un principe de position,
tout chiffre plac gauche d'un autre reprsente des units 10 fois plus fortes que cet autre, cette unit
est dite le poids du chiffre. Le poids du dernier chiffre droite avant la virgule est 100=1, c'est le chiffre
des units. A droite de la virgule, le poids est divis par 10 chaque fois qu'on avance d'un chiffre vers la
droite.
5289.76 = 5.103 + 2.102 + 8.101 + 9.100 + 7.10-1 + 6.10-2 +

I.2 -- Systme Octal


C'est le systme de base 8. L'criture d'un nombre dans ce systme ncessite 8 chiffres, on utilise les
chiffres de 0 7. Dans cette base les poids sont :
...
...

32768
85

4096
84

512
83

64
82

8
81

1
80

2358 = 5.80 + 3.81 + 2.82 = 15710


27438 = 3.80 + 4.81 + 7.82 + 2.83= 150710
Voici quelques oprations dans le systme Octal :
5
7
1535
2743
+4
+6
+2627
+5326
11
15
4364
10271

235
x 3
723

I.3 -- Systme Hexadcimal


C'est le systme de base 16. L'criture d'un nombre dans ce systme ncessite 16 chiffres, on utilise
les chiffres de 0 9 plus les lettres A, B, C, D, E et F.
Hexadcimal
Dcimal

0
0

1
1

2
2

3
3

4
4

5
5

6
6

7
7

8
8

9
9

A
10

B
11

C
12

D
13

E
14

F
15

6EA16 = (10.160 + 14.161 + 6.162 )10 = 177010


A4B9
+3FE6
E49F

I.4 -- Systme Binaire Naturel


C'est le systme base 2. Il utilise deux chiffres 0 et 1.
32
25

16
24

8
23

4
22

2
21

1
20

= (32+8+4+1)10 = 4510

Ce systme est trs utilis car facilement matrialisable. Les deux chiffres 0 et 1 peuvent tre mis en
vidence techniquement par plusieurs faons :

Bases des Systmes Numriques

A. Oumnad

- Passage ou non d'un courant lectrique dans un composant.


- Etat d'un commutateur (transistor ou autre) ouvert ou ferm.
- Valeur d'une tension la sortie d'un composant, ex: +5V = "1" et 0V = "0"
1001112 = (1+2+4+32)10 = 3910.
111112 = (1+2+4+8+16)10 = 3110.

I.5 -- Changement de base


I.5.1 --

Dcimal Binaire

17510 = ?2
On cherche la plus grande puissance de 2 contenues dans 175, c'est 128=27.
175 = 128(27) + 47 , On refait la mme chose avec 47
47 = 32(25)+ 15
, de la mme faon on obtient
15 = 8 + 4 + 2 + 1 , Donc
17510 = 27 + 25 + 23 + 22 + 21 + 20 = 101011112
Cette conversion peut se faire d'une faon systmatique l'aide d'une division succssive par. Le
rsultat en binaire est constitu par les restes successifs des divisions.
175
2
10101111
1 87
2
43
1
2
1 21
2
1 10
2
0
2
5
1
2
2
0 1
2
1
0
34610 = 1010110102
23310 = 111010012
8410 = 10101002
4210 = 1010102
Pour les chiffres droite de la virgule, on procde d'une faon similaire, sachant que les poids droite
de la virgule sont 0.5, 0.25, 0.125 La division en echelle se transforme en une multiplication en chelle qui
s'arrete quand le rsultat est nul. IL arrive qu'on ne tombe jamais sur un rsultat nul et la multiplication ne
s'arrete jamais. Dans ce cas on est libre d'arreter ds qu'on juge que le nombre de chiffres aprs la
virgule est suffisant.
exemple : (175.34)10 = ( ? )2
(175)10 = (10101111)2
0.34*2 = 0.68, 0.68*2 = 1.36, 0.36*2 = 0.72, 0.72*2 = 1.44, 0.44*2 = 0.88
0.34 = 0.01010
((175)10 = (10101111. 01010)2

I.5.2 --

Dcimal Octal

31810 = ?
On cherche la plus grande puissance de 8 (le plus grand poids) contenue dans 318. C'est 64.
On aura donc 31810 = cba8 t.q. 318 = a.1 + b.8 + c.64

318
62

64
4

On cherche combien de fois 318 contient de 64 :


On a donc 318 = 4 * 64 + 62 (c=4)
On refait la mme opration avec 62 On considrant successivement tous les poids infrieurs au poids
max. (64 pour cet exemple). Le poids juste infrieur est 8, On obtient 62 = 7 * 8 + 6
(b=7)

Bases des Systmes Numriques

A. Oumnad

Le poids infrieur est 1. On a donc 6 = 6 * 1 + 0 (a=6).


On s' arrte car le reste est 0.
31810 = 4768
122310 = ?8
1223 = 2 * 512 + 199
199 = 3 * 64 + 7
7 = 0 * 8 +7
7=7*1+0
122310 = 23078

Une deuxime mthode pour convertir un nombre dcimal vers une


base quelconque B consiste faire une division successive par B autant de
fois que cela est ncessaire jusqu' obtenir un quotient nul. On crit alors
les restes o ils ont t obtenus dans l'ordre inverse

I.5.3 --

8
152
72
0

8
19
3

8
2
2

8
0

Dcimal Hexadcimal
1661710 = 40E916

16617 16
9 1038 16
14 64 16
0 4
4
I.5.4 --

1223
42
23
7

500010 = 138816

5000 16
8 312
8
16
0

16
19 16
3 1
1

16
0

Octal binaire

Octal binaire : On crit chaque chiffre octal est crit sur 3 bits
2358 = 010 011 1012
7538 = 111 101 0112
Binaire octal : Le nombre binaire est dcoup en tronon de 3 bits en commenant de la droite (LSB),
et chaque 3bits seront crit en octal.
11001111011002 = 1 100 111 101 1002 = 147548

I.5.5 --

Hexadcimal binaire

Hexadcimal binaire : On crit chaque chiffre hexadcimal sur 4 bits


23516 = 0010 0011 01012
75316 = 0111 0101 00112
897516 = 1000 1001 0111 01012
8E97A16 = 1000 1110 1001 0111 10102
Binaire hexadcimal : Le nombre binaire est dcoup en tronon de 4 bits en commenant de la droite
(LSB), et chaque 4 bits seront crits en hexadcimal.
11001111011002 = 1 1001 1110 11002 = 19EC16
111101111100110112 = 1 1110 1111 1001 10112 = 1EF9B16

Bases des Systmes Numriques

A. Oumnad

I.6 -- Oprations dans le systme Binaire naturel


Les choses se passent exactement comme on a l'habitude de le faire en base 10, seulement ici nous
n'avons que 2 chiffres 0 et 1:
0+0=0
0+1=1
1 + 1 = 0 et on retient 1
1 + 1 + 1 = 1 et on retient 1
101
111
+ 11
+101
1000
1100
Une contrainte trs importante va intervenir ds qu'il s'agit de faire des oprations par des machines
car celles ci travaillent avec des registres de tailles fixes donc traitent des nombres qui ont toujours le
mme nombre de bits. Prenons l'exemple d'une machine qui travaille sur 4 bits, elle peur reprsenter
16=24 nombres diffrents. Deux possibilits s'offrent nous :
Les 16 nombres seront considrs comme des entiers non signs. On aura donc 16 nombres positifs
allant de 0 15
Les 16 nombres seront considrs comme des nombres signs. On aura donc 8 nombres positifs (moiti)
allant de 0 7 et 8 nombres ngatifs allant de -8 -1.

Machine n bits

2n Nombres diffrents

Nombres non signs


n

Nombres signs
n

2 Nombres

2 / 2 Ngatifs

2n / 2 Positifs

0 2n - 1

-1 - 2n / 2

0 2n/2 - 1

Remarquons au passage que 2n/2 = 2n-1

I.6.1 --

Reprsentation des nombres ngatifs

Reprenons l'exemple d'une machine 4 bits, si on ajoute deux nombres et le rsultat est suprieur 15, il
crit normalement sur 5 bits est la machine n'a que 4 bits donc le 5ime sera perdu, et le rsultat sera
diminu de 1610=100002
0101 (5)
0111 (7)
+ 0011 (3)
+1101 (13)
1000 (8)
0100 (4)
On s'aperoit finalement qu'une machine 4 bits travaille modulo 16=24 , c'est dire que pour cette
machine, on a 16 = 0. Donc pour cette machine l'oppos d'un nombre N est -N tel que N + (-N) = 0 = 16 soit
-N = 16 -N.
On peut crire -N = 15+1 -N = 15-N +1 .
L'Opration 15-N s'appelle le complment 1 du nombre N car elle revient complmenter (par rapport
1) un par un tous les bits du nombre N.
Nombre
0101 (5)
1111 (15)
Son complment 1
1010 (10=15-5)
0000 (15-15=0)
Finalement pour obtenir l'oppos d'un nombre N, il suffit de complmenter tous ses bits puis de rajouter 1,
cette opration s'appelle le complment 2 de N.
Si on note N le complment 1 de N on a : -N = N +1
-7 = 7 + 1 = 1001

7 0111
7 1000
+ 1

Bases des Systmes Numriques

A. Oumnad

1001
Une machine 4 bits peut donc reprsenter les nombres suivants
Ngatifs
-1
-2
-3
-4
-5
-6
-7
-8

1111
1110
1101
1100
1011
1010
1001
1000

Positifs
0
1
2
3
4
5
6
7

0000
0001
0010
0011
0100
0101
0110
0111

Remarquons que pour les nombres positifs, le MSB est gal 0 et pour les nombres ngatifs le MSB est
gal 1. C'est ainsi qu'on peut tester si le rsultat d'une opration est juste. La rgle est simple :
- la somme de 2 nombres positifs doit donner un nombre positif
- la somme de 2 nombres ngatifs doit donner un nombre ngatif
L'erreur se produit quand il y a dbordement, c.a.d quand le rsultat dpasse le nombre maximum que la
machine peut reprsenter soit +7 pour les nombres positifs ou -8 pour les nombres ngatifs. Une erreur
peut se produire quand on ajoute des nombres de mme signe. Il y a erreur quand le signe du rsultat est
diffrent de celui des deux oprandes
0011 (3)
+0100 (4)
0111 (7)

I.6.2 --

0101 (5)
+0110 (6)
erreur

0010 (2) 1110 (-2) 1011 (-5)


+1001 (-7) +1101 (-3) +1100 (-4)
1011 (-5) 1011 (-5) erreur

La multiplication

Regardons d'abord comment on fait une multiplication en base 2 sur un aspect mathmatique pur sans
limitation sur le nombre de bits. Remarquons au passage qu'ici on considre que tous les nombres sont
positifs car le concept de reprsentation des nombres ngatifs par le complment 2 n'est valable que si
on travaille avec un nombre de bit fixe.
1011 (11)
*1101 (13)
1011
1011
1011 .
10001111 (143)
Regardons maintenant comment on doit procder si on travaille avec des nombres signs sur un nombre
de bit fixe :
On commence procder de la mme faon sauf que l'addition doit se faire sur 4 bits seulement, les
bits de gauches seront ignors.
On vrifiera que le rsultat est juste en vrifiant les rgles suivantes :
Le produit de deux nombres de mme signe doit tre positif
Le produit de deux nombres de signes diffrents doit tre ngatif

Bases des Systmes Numriques

0010
*0011
0010
0 010
0110

A. Oumnad

1110 (-2)
* 1101 (-3)

(2)
(3)

1110
11 10
111 0
0110 (6)

(6)

1110
*0100

(-2)
(4)

1110
1000

0010
*0101
0010
00 10

(-8)

1010

(2)
(5)

(-6:erreur)

CHAPITRE II --NOTIONS SUR LES CODES


Les systmes utiliss prcdemment constituent des systmes naturels ou codes naturels ou encore codes
pondrs. Ils sont caractriss par le fait que le poids du chiffre de rang i est B fois celui du rang i-1, B
tant la base du systme.
Il existe d'autres codes qui possdent des avantages particuliers pour des utilisations particulires, on
peut citer :
- L'utilisation d'un code particulier peut rendre le traitement d'un message plus au moins conomique du
point de vue temps de traitement ou encombrement en mmoire ou encore en nombre de composant
ncessaire pur effectuer le traitement.
- Dans de nombreux cas on peut amliorer l'efficacit d'un systme de communication en utilisant des
codes dtecteurs d'erreurs ou encore des codes correcteurs d'erreurs ...

II.1 -- Codes dcimaux


Dans la vie courante le systme de numration le plus frquent tant le dcimal, il est souvent utile de
garder d'un nombre une reprsentation dcimale, tout en travaillant en binaire. On ralise ce tour de force
simplement en convertissant chaque chiffre de la reprsentation dcimale en un des nombreux codes
binaires. Les chiffre utiliss varient de 0 9, nous auront besoin d'au moins quatre bits par chiffre. Voici
quelques exemples de codes dcimaux rsums dans le tableaux suivant:

0
1
2
3
4
5
6
7
8
9

BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

Exces 3
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100

Aiken
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111

Johnson
00000
00001
00011
00111
01111
11111
11110
11100
11000
10000

Biquinaire
01 00001
01 00010
01 00100
01 01000
01 10000
10 00001
10 00010
10 00100
10 01000
10 10000

2 parmi 5
11000
00011
00101
00110
01001
01010
01100
10001
10010
10100

Le plus courant est le code DCB (Dcimal cod en binaire), en anglais BCD (Binary Coded decimal), chaque
chiffre du systme dcimal est cod en binaire naturel sur 4 bits.

7956
9801

Dcimal

Binaire (naturel)
1111100010100
10011001001001

BCD
0111 1001 0101 0110
1001 1000 0000 0001

Bases des Systmes Numriques

A. Oumnad

Ce systme est trs utilis pour les systmes d'affichage sur afficheurs 7 segments. Pour afficher le
nombre 9801 par exemple, au lieu d'utiliser son code binaire naturel, on utilise le code BCD et chaque
afficheur reoit les 4 bits correspondant un chiffre

1001

1000

0000

0001

fig. : affiche du code BCD

Le code Exces 3 ou excdent 3 est obtenu en dcalant le binaire


naturel de 3 lignes vers le haut. Ce code est intressant pour effectuer
des soustractions car le complment 9 d'un chiffre s'obtient en
inversant chaque bit. On ramne la soustraction une addition. (Je trouve
que ce code est inutilement compliqu, alors que la soustraction l'aide de
la reprsentation des nombres ngatifs par le complment deux est bien
plus simple)

II.2 --

Codes rflchis

On dit qu'un code est continu au sens large si dans la table de vrit qui
le dfinit, les tats successifs sont adjacents, cest dire que quand on
passe de l'un l'autre, il y a un seul chiffre qui change.
Un code est continu au sens stricte si en plus le premier et le dernier
tat sont adjacents.
Un code rflchi est un code naturel dont on a renvers le sens de
variation par endroits afin de le rendre continu. On renverse une priode
sur deux en commenant par la deuxime. Le tableau ci-dessous illustre
le code ternaire (base 3) rflchi.

II.2.1 -- Code de Gray


Binaire
decim naturel

dcba

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Code de Gray
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
1
1
1
1
0
0
0
0

B
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0

A
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

Dcimal Ternaire
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2

000
001
002
010
011
012
020
021
022
100
101
102
110
111
112
120
121
122
200
201
202
210
211
212
220
221
222

Ternaire
reflchi
0 0
0 1
0 2
1 2
1 1
1 0
2 0
2 1
2 2
2 2
2 1
2 0
1 0
1 1
1 2
0 2
0 1
0 0
0 0
0 1
0 2
1 2
1 1
1 0
2 0
2 1
2 2

Le code de Gray est le code binaire rflchi, c'est un cas trs important
des codes continu. Il est trs frquemment utilis notamment sur les tables
de Karnaugh pour simplifier les fonctions logiques. Remarquons que le code
de Gray est continu au sens stricte, 0 est adjacent avec 15
Comme on le voit sur la figure, la table de Karnaugh est une table de
vrit reprsente d'une faon particulire. Les adresses des cases sont
reprsentes en code de Gray de sorte ce que toutes les cases qui ont un
cot commun soient adjacentes. Les cases sur les extrmits opposes sont
aussi adjacentes, on peut vrifier les adjacentes suivantes : 0-3, 7-4, 8-11,
15-12, 0-15, 1-14, 2-13, 3-12.
BA
La table de Karnaugh peut tre
utilise pour fabriquer des codes
continus au sens large ou au sens
stricte.

DC

00

01

00

01
11

10

15

11

6
9

10

5
10

14

3
4
11

13

12

Bases des Systmes Numriques


BA
DC

00

01
0

00

11

10

15

BA
DC

00

11

10

15

10
14

11

13

01

12

11
1

5
10

14

10
2

13

10

10
2

00
01

01

11

A. Oumnad

3
4
11

A
B
C
D

0
0
0
0

1
0
0
0

1
1
0
0

0
1
0
0

0
1
1
0

0
1
1
1

0
1
0
1

1
1
0
1

1
1
1
1

1
1
1
0

1
0
1
0

1
0
1
1

1
0
0
1

0
0
0
1

0
0
1
1

A
B
C
D

0
0
0
0

1
0
0
0

1
1
0
0

0
1
0
0

0
1
1
0

0
1
1
1

0
1
0
1

1
1
0
1

1
0
0
1

0
0
0
1

0
0
1
1

0
0
1
0

1
0
1
0

1
1
1
0

1
1
1
1

0
0
1
0
1
0
1
1

12

CHAPITRE III --VARIABLES ET FONCTIONS BOOLEENNE


III.1 --

Algbre de Boole

C'est l'algbre des grandeurs qui ne peuvent


prendre que deux valeurs, 0 ou 1. L'algbre de
Boole est bien adapte l'tude des systmes
qui ne peuvent occuper que deux tats. La
correspondance entre l'tat du systme et la
valeur 0 ou 1 est conventionnelle :

0
Interrupteur

0
Lampe
1

III.2 --

Variable boolenne

C'est une grandeur qui ne peut prendre que deux valeurs 0 ou 1.

III.3 --

Fonction boolenne

C'est une fonction de une ou plusieurs variables boolennes, ne pouvant prendre elle-mme qu'une des
deux valeurs 0 ou 1. Pour la dfinir, il faut prciser sa valeur pour toutes les combinaisons possible. Cela
peut se faire de plusieurs faons :

Par la donne d'une figure illustrant le fonctionnement d'un systme. Cela ne peut se faire que dans les
cas simples.

K1

K2
L
L= f(K1,K2)

Par une dfinition crite ou cahier des charges :


La lampe L s'allume lorsque les interrupteurs K1 et K2 sont ferms tous les deux. Elle est teinte
dans tous les autres cas.

Par la donne de la table de vrit

Bases des Systmes Numriques


K1

K2
0

III.4 --

11

Le doublet des deux variables (K1,K2) peut prendre 22 valeurs


distinctes. Dans le cas gnral de n variables, il y aura 2n
configurations possibles
Les variables K1 et K2 sont dites les entres du systme, L est dite
la sortie du systme.

A. Oumnad

Oprateur Logiques

On peut montrer que toute fonction boolenne peut se synthtiser partir d'un nombre trs rduit
de fonctions de deux variables ou l'extension plusieurs variables de ces mmes fonctions. Ces
fonctions sont souvent appeles Oprateurs.

III.4.1 --

Oprateur ET (AND)

A.B

III.4.2 --

B
0

A.B est vrai si et seulement si A est vraie et B est vraie

A
A +B

A+B est vraie si au moins une des deux variables A ou B est vraie

Oprateur NON-ET (NAND)

A. B

A .B

C'est le complment de l'oprateur ET. C'est l'oprateur le plus


couramment utilis dans la pratique.

Oprateur OU EXCLUSIF (XOR)

AB

III.4.5 --

A+B

III.4.4 --

A .B

Oprateur OU (OR)

III.4.3 --

Analogie

A
B

A + B

AB est vraie si une des deux variables A ou B est vraie mais


pas les deux la fois.

Bases des Systmes Numriques

A. Oumnad

12

A
A

B
L

Le schma ci-dessus met en vidence l'analogie entre la mise en parallle ou en srie de contacteurs
lectriques et les oprateurs logiques AND et OR.
Pour le schma de gauche, les deux contacteurs sont en srie, on a L = A . B
Pour le schma de droite, les deux contacteurs sont en parallle, on a L = A + B

III.5 --

Identits remarquables
A+0=A
A+1=1
A+A=1

A.0=0
A.1=A
A.A=0

IDEMPOTANCE
A+A=A
A.A=A

COMMUTATIVITE
A+B=B+A
A .B=B. A

ASSOCIATIVITE
(A + B)+C = A+(B+C)
(A . B) . C = A .(B .C)

ABSORPTION
A.(A+B) = A
en effet A.(A+B) = AA + AB = A + AB = A.(1+B) = A

DISTRIBUTIVITE

est distributive par rapport +


est distributive par rapport
A.(B+C) = AB + AC
A + B.C = (A+B) . (A+C)

(A + B) . (A + C) = A.(A+C)+B.(A+C)
= A + BA + BC
= A . (1 + B) + BC
= A + BC

Bases des Systmes Numriques

A. Oumnad

13

AUTRES IDENTITES
A.B + A.B = A
(A+B).(A+B)=A
En effet : A.B + A.B = A.(B+B) = A . 1 = A
(A+B).(A+B) = A+(B.B) =A + 0 = A
A + AB = A + B
En effet : A + AB = (A + A) . (A + B) = 1 . (A + B) = A + B

III.6 --

Thorme de Morgan

Rappelons une fois de plus la table de vrit des oprateurs


ET et OU. Ces tables peuvent se lire d'une faon diffrente de
ce que nous avons l'habitude de faire :
A+B est fausse si et seulement si A et fausse et B est fausse
A.B est fausse si et seulement si A et fausse ou B est fausse
Ces deux phrases peuvent se traduire algbriquement par :

A+B

A.B

A + B = A. B
A. B = A + B
III.7 --

Forme canonique

Soit la fonction S dfinie par la table de vrit ci-contre :


Cette table de vrit peut scrire de la faon algbrique suivante :
S(A,B,C) = ABC + ABC + ABC + ABC + ABC
A droite du signe =, on a ce qu'on peut appeler une expression logique, c'est
un peut l'quivalent des polynmes qu'on a l'habitude dcrire.
Il y a plusieurs faons diffrentes mais quivalentes pour reprsenter la
fonction S. On peut vrifier sur la table qu'on a aussi S = BC + AB + AC + AC.
La premire expression de S est particulire, en effet, dans chaque
monme, figurent toutes les variables. Chaque monme s'appelle Minterme de
la fonction et la somme des mintermes s'appelle forme canonique somme.
La forme canonique produit revient crire l'expression de S :
S(A,B,C)=ABC + ABC + ABC

S( A , B, C) = ABC + ABC + ABC


S(A,B,C)=(A+B+C) . (A+B+C) . (A+B+C)

III.8 --

Thorme de la disjonction
A.B = 0 A B = A + B

En effet, la forme canonique somme de l'oprateur OU est :


A+B = AB + AB + AB = AB + AB = A B si A.B=0

CBA
000
001
010
011
100
101
110
111

S(A,B,C)
0
0
0
1
1
1
1
1

Bases des Systmes Numriques

III.9 --

A. Oumnad

14

NAND : Oprateur universel

D'aprs la forme canonique, Nous pouvons exprimer toute fonction l'aide de 3 oprateurs, AND, OR
et INVERT (complmenteur). Voyons comment on peut faire pour n'utiliser que l'oprateur NAND pour
exprimer ces fonctions.
INVERT :
A
A
A
A
1

AND
A
B

A.B

OR
A
A+B
B

Mthode pratique :
Si on crit la forme canonique d'une fonction deux variables, on obtient une expression de la forme
: AB + CD + ... dont le schma est le suivant :

A
B

AB + CD

C
D
Synthtisons chaque oprateur avec des NAND
A
B
AB + CD
C
D

Deux inverseurs qui se suivent peuvent bien sur tre


supprims, on obtient le schma suivant qui revient finalement
remplacer les AND et les OR par des NAND. Ceci n'est
videment pas possible dans toutes les situations, la rgle
suivante, dite rgles des fantmes en prcise les conditions.

A
B
AB + CD
C
D

Bases des Systmes Numriques

III.9.1 --

A. Oumnad

15

Rgle des fantmes :

Un schma AND-OR peut se transformer en un schma NAND condition qu'en suivant n'importe quel
chemin entre une entre et une sortie, on rencontre alternativement un AND et un OR. Le premier tant
obligatoirement un AND et le dernier obligatoirement un OR. Si cette condition n'est pas vrifie, on
peut y remdier en intercalant des oprateurs A.A ou A+A aux endroits adquats. Ceux ci ne changent
rien au fonctionnement d'origine. On les appelle les oprateurs fantmes

Exemple : Pour tre le plus gnral possible, on va prendre une expression qui n'est mme pas sous forme

canonique :

F=([(A+B).C]. (DE)+G).H
A
B
C
D
E
F

Les oprateurs en trait dcoup sont les oprateurs fantmes, ils sont rajouts pour respecter la rgle.
Tous les oprateurs sont ensuite transforms en NAND.
A
B
C
D
E
F

CHAPITRE IV -- SIMPLIFICATION DES FONCTIONS LOGIQUE


IV.1 --

Mthode Karnaugh (1953)

Il s'agit de chercher la fonction la plus simple d'une fonction boolenne. Ceci bien sur dans le but d'avoir
une ralisation avec un nombre minimum d'oprateurs.
Plusieurs mthodes existent, la plus simple est la mthode de Karnaugh (1953)

IV.1.1 -- Diagramme de Karnaugh


C'est la table de vrit dispose d'une manire particulire. La voici pour 2, 3 puis 4 variables:
CD
B 0 1
BC
A
A
00 01 11 10
00 01 11 10
AB
0
0
00
1

01
11
10

Bases des Systmes Numriques

A. Oumnad

16

Chaque case correspond une ligne de la table de vrit, Les "coordonns de la case reprsente l'adresse
de la case. Elles sont reprsentes en code de Gray. Deux cases sont appeles adjacentes dans le diagramme
de Karnaugh si elles ont un cot commun.
Sur le diagramme si contre, les cases K et L, M et N, P et Q, Q et R sont
respectivement adjacentes. La proprit caractristique du diagramme de
Karnaugh est que les adresse de deux cases adjacentes sont des nombres
adjacents, quand on passe le l'un l'autre il n'y a qu'un bit qui change :
K0001
P1100
M1111
Q1000
L0101
Q1000
N1110
R1001
Remarquons que les cases P et N ainsi que K et R ont des adresses adjacentes :
P1100
K0001
N1110
R1001

CD

00 01 11 10
K
00

AB

01
11 P
10 Q

M N
R

On gnralise la notion d'adjacence au niveau du diagramme en disant que deux cases sont
adjacentes quand leurs adresses le sont. Ainsi les cases de lextrmit droite sont adjacentes celles
de lextrmit gauche et les case de lextrmit suprieure sont adjacentes celles de lextrmit
infrieure.
Cela se passe comme si on enroulait la feuille de papier sur laquelle est dessin le diagramme de
Karnaugh d'abord horizontalement puis verticalement.

P
Q

IV.1.2 -- Remplissage de la table de Karnaugh partir de la table de vrit


Cela ne pose aucun problme condition de ne pas changer le "poids logique" de chaque variable en
passant de la table de vrit la table de Karnaugh. Les tableaux ci-dessous montrent la correspondance
entre les lignes de la table de vrit et les cases de la table de Karnaugh selon la disposition des variables
ABCD dans les cases adresses.
D

10

11

12

13

14

15

00

01

11

10

\CD

12

AB

00

Bases des Systmes Numriques

A. Oumnad
8

11

10

00

01

11

10

00

12

01

13

11

15

11

10

14

10

15

14

01

10

14

11

11

15

10

13

00

01

11

10

00

01

11

12

13

DC

\BA

10

17

\DC

BA

Voici diffrentes dispositions de la table de Karnaugh de la fonction F


CD
AB\

00

01

11

10

DC\BA

00

01

11

10

DC
BA\

00

01

11

10

00

00

00

01

01

01

11

11

11

10

10

10

IV.1.3 -- Remplissage de la table de Karnaugh partir d'une fonction.


Cela ne pose aucun problme si la fonction est dfinie par sa forme canonique, il suffit alors de placer
des 1 dans les cases correspondantes aux monmes ou la fonction est vraie et des 0 ailleurs. Pour une
fonction de 4 variables, chaque monme contient les 4 variables (complmentes ou non).
Dans le cas d'une fonction reprsente sous forme non canonique, le nombre de 1 correspondant
chaque monme dpend du nombre de variable figurant dans le monme, ou plus prcisment du
complment du nombre de variable du monme par rapport au nombre de variable de la fonction.
Soit la fonction suivante : G(A,B,C,D)=ABCD + BCD + AC + B
11
10
CD 00 01
AB
Pour le monme ABCD correspond un 1 dans la case ABCD=0110
Le monme BCD est vrai pour BCD=011, A=0 et BCD=011,A=1 . Il y
00
1
1
1
1
aura donc un 1 dans la case ABCD=0011 et un autre dans la case
01
0
0
0
1
ABCD=1011.
11
0
0
1
1
De la mme faon, pour le monme AC, il y aura un 1 dans toutes les
10
1
1
1
1
case ou on a AC=11 soit ABCD=1010 ou 1011 ou 1110 ou 1111.
Pour le monme B, il y aura un 1 partout o on a B=0.

On remarque donc que si n est le nombre de variables de la fonction est m est le nombre de variable
qui constituent un monme, le nombre de 1 correspondant a ce monme dans le diagramme de Karnaugh
est de 2n-m.

Bases des Systmes Numriques

A. Oumnad

18

IV.1.4 -- Lecture du digramme de Karnaugh


Soit la fonction H dfinie par la table ci-contre. Nous savon que
01
11
10
CD 00
AB
plusieurs 1 peuvent correspondre un seul monme, mais ce n'est
pas toujours facile de trouver quel est ce monme. Commenons
00
0
0
0
0
par crire un monme complet pour chaque 1 :
01
0
1
1
0
H = ABCD + ABCD
11
0
0
0
0
Cette expression peut tre simplifie
10
0
0
0
0
H = ABD.(C+C) = ABD
Nous nous baserons donc sur la rgle XY+XY=X pour faire les simplifications. C'est la variable qui
change quand on passe d'un monme l'autre qui ne figure pas dans le monme rsultant.

Sur le diagramme cela se concrtise comme suit :


Deux cases adjacentes groupes donne un rectangle deux cases auquel correspond un monme de 3
variables
CD
00 01 11 10
AB
00 1 1

00 01 11 10

00 01 11 10

00 01 11 10
1

01

11

10

ABC

ABD

ACD

BCD

Deux rectangles deux cases peuvent leur tour tre adjacents, ils seront groups en un rectangle
de 4 cases auquel correspond un monme 2 variables.
CD
00 01 11 10
AB
00
1 1
01

00 01 11 10

00 01 11 10

11
10

ABD+ABD

= ACD + ACD =

AD

De la mme manire, 2 rectangles de 4 cases peuvent leur tour tre adjacents, ils seront groups en
un rectangle de 8 cases auquel correspond un monme une variable.
CD
00 01 11 10
00 01 11 10
00 01 11 10
00 01 11 10
AB
00
01
11

10

AC+AC

AD+AD

AB+AB

Bases des Systmes Numriques

A. Oumnad

19

CD
De la mme manire, 2 rectangles de 8 cases peuvent leur tour tre AB
00 01 11 10
groups en un rectangle de 16 cases, dans ce cas la fonction est toujours
00 1 1 1 1
vraie, fonction = 1 et on n'a mme pas besoin de dresser un diagramme de
01
1
Karnaugh. .
11
Reprenons la fonction G cite prcdemment et partons du diagramme de
1 1
Karnaugh pour arriver l'expression logique la plus simple. On essaye de faire les
10 1 1
1 1
plus grand rectangle possible car on sait maintenant que plus le rectangle, plus le
monme qui lui correspond est 'petit' . L'expression la plus simple de la fonction G est donc : G = B + AC +
CD

Rgle de groupement :
Pour obtenir l'expression la plus simple d'une fonction boolenne donne par son diagramme de
Karnaugh, il faut respecter les points suivants :
Tous les 1 doivent tre entours
Les 0 ne doivent pas tre entour
Il faut faire les plus grands groupements possibles
Les x peuvent tre entour ou non selon le besoin
Les 1 et les x peuvent tre entour plusieurs fois
On s'arrete ds que tous les 1 sont entours

IV.1.5 -- Code Interdit ou quand la valeur compte peu


Etudions le cas suivant : On dsire maintenir la temprature d'une salle de travail entre 17C et 20C.
Nous nous procurons deux capteurs de temprature ayant chacun une sortie logique que nous appellerons
C17 et C20 . Chaque capteur fonctionne de la manire suivante :
C17 = 0 si la temprature est < T17
,
C17 = 1 si la temprature est > T17
C20 = 0 si la temprature est < T20
,
C20 = 1 si la temprature est > T20
On va donc essayer de construire un systme logique qui dlivre une alarme S chaque fois que la
temprature sort de l'intervalle [17,20]. Ce qui revient chercher la fonction S des deux variables C17
et C20 , S = f(C17 ,C20 ).
Construisons la table de vrit
TC
Cette table de vrit n'est pas complte car avec deux variables on
doit avoir 4 lignes dans la table de vrit. Il manque la ligne C17 C20 = 01
C 17 C 20 S qui correspond une situation o la temprature est infrieure 17C
et en mme temps suprieure 17 C, chose videmment impossible,
1
1 1 d'o le nom de code interdit. Pour ce qui concerne la sortie S
20
correspondant C17 C20 = 01, on peut mettre ce qu'on veut du moment
1
0 0 que cette situation ne se prsentera pas de toute faon. On met alors
17
0
0 1 un x ou tout autre symbole pour prciser que la valeur de la fonction
cet endroit ne compte pas, on peut prendre S=0 ou S=1 indiffremment.
Dans la table de Karnaugh, les x peuvent
20
tre entour ou non selon les besoins. Si un x est entour, cela veut dire q'on
0 1
17
a choisi la valeur 1 pour la fonction. S'il n'est pas entour, cela veut dire q'on
a choisi la valeur 0. Les x serons entour chaque fois que cela peut servir
0 1 x
agrandir un groupement contenant des 1. Il est vident qu'il ne faut pas
constituer des groupements ne contenants que des x. On obtient :
1 0

S = C17 + C20

Bases des Systmes Numriques

A. Oumnad

C17

C17

C20

C20
IV.2 --

20

Exemple 1 : Convertisseur Binair naturel vers code de Gray


On voit sur la table de vrit que G3=D.

G3

G2

G1

G0

11

10

BA

00

00

01
0

01

DC

0
1

11
0

10
0

0
1

00 01
0 0

G2=CD+CD=CD
BA
DC

00 01 11 10

00 0

01 0

11 0

10 0

G0=AB+AB=AB

11 10
1 1

G1=BC+BC=BC

A
B

G0

G1

G2
G3

Bases des Systmes Numriques

IV.3 --

A. Oumnad

21

Exemple 2 : Synthse d'un systme logique

Pour transporter le sable d'une


position A vers une position B, on
utilise le systme suivant;
chariot
Un chariot peut se dplacer sur un A
B
rail de chemin de fer sou l'action d'un
moteur lectrique M (M=0 moteur
raret , M=1 moteur en marche). Le
Vue de dessus
dplacement du chariot se fait
toujours dans le mme sens. Deux
capteurs
A et B permettent de
dterminer la position du chariot (A=1
chariot en position A, A=0 le
Tr
trape de replissage
chariot n'est pas en position A, le
capteur B fonctionne de la mme faon
P
que A) .
Un capteur P plac sur le chariot
permet de savoir si le chariot est plein
Tv
ou vide, (P=1 chariot plain, P=0
trape de
chariot vide).
vidage
Le chariot peut tre remplit
Vue de profil
l'aide d'une trappe qu'on peut
actionner avec la commande Tr (Tr=1 trappe ouverte, Tr=0 trappe ferme). Par abus de langage,
cette trappe sera apelle trappe Tr.
Le chariot peut vid l'aide d'une trappe qu'on peut actionner par la commande Tv (Tv = 1 trappe
ouverte, Tv = 0 trappe ferme). Par abus de langage, cette trappe sera apelle trappe Tv.
Le fonctionnement se fait de la manire suivante :
Le chariot vide arrive en A (A=1, P=0), le moteur M s'arrte, la trappe de remplissage Tr s'ouvre, Un
fois le chariot plein, Tr se ferme et le chariot dmarre. Quand le chariot arrive en B, il sarrette et la
trappe Tv s'ouvre. Quand le chariot est vide, la trappe Tv se ferme et le chariot dmarre. Quand il arrive
en A le cycle recommence identique lui mme.
Faire l'tude du systme qui permet de gnrer les commandes M, Tr et Tv partir des entre A, B et
P.
A

Tr

Tv

Obsevation

Vide, se dplace vers A, trapes fermes

Plein, se dplace vers B, trapes fermes

Vide en B, il faut dmarrer

Plein en B, il faut s'arreter et vider

Vide en A il faut remplir

Plein en A, il faut partir, trapes fermes

Ipossible, ne peut tre en A et en B

Ipossible, ne peut tre en A et en B

BP
A

00 01 11 10

BP
A

00 01 11 10

M=BP + AP

BP
A

00 01 11 10

0 0

1 0

Tr = AP

Tv = BP

Vous aimerez peut-être aussi