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 1 16 24 0 8 23 1 4 22 1 2 21 0 1 20 1 = (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 --

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

Dcimal Octal

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)

318 62

64 4

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

I.5.3 --

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

1223 42 23 7

8 152 72 0 8 19 3 8 2 2 8 0

Dcimal Hexadcimal
1661710 = 40E916

500010 = 138816

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

5000 16 8 312 8 16 0

16 19 16 3 1 1

16 0

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 Nombres non signs 2 Nombres 0 2n - 1


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

2n Nombres diffrents Nombres signs 2n / 2 Positifs 0 2n/2 - 1

2 / 2 Ngatifs -1 - 2n / 2

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 0 1 2 3 4 5 6 7 Positifs 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) 0101 (5) +0110 (6) erreur 0010 (2) 1110 (-2) 1011 (-5) +1001 (-7) +1101 (-3) +1100 (-4) 1011 (-5) 1011 (-5) erreur

I.6.2 --

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

A. Oumnad

0010 *0011 0010 0 010 0110

(2) (3)

1110 (-2) * 1101 (-3) 1110 11 10 111 0 0110 (6)

1110 *0100 1110 1000

(-2) (4) (-8)

0010 *0101 0010 00 10 1010

(2) (5)

(6)

(-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: 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

0 1 2 3 4 5 6 7 8 9

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. Dcimal Binaire (naturel) 1111100010100 10011001001001 BCD 0111 1001 0101 0110 1001 1000 0000 0001

7956 9801

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
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 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 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 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 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)

fig. : affiche du code BCD

II.2 --

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.

Codes rflchis

II.2.1 -- Code de Gray


Binaire decim naturel 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

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

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

11

10
3 4

00 01 11 10
8 15 7

0 6 9 14

1 5 10

11 13 12

Bases des Systmes Numriques


BA DC 00 01 11 10 BA DC 00 01 11 10 7 8 15 9 14 7 8 15 00 0 6 9 14 01 1 5 10 13

A. Oumnad

10

00 0

01 1 6

11 2 5 10 13 11 2

10 3 4 11 12 10 3 4 11 12

A B C D A B C D

0 0 0 0 0 0 0 0

1 0 0 0 1 0 0 0

1 1 0 0 1 1 0 0

0 1 0 0 0 1 0 0

0 1 1 0 0 1 1 0

0 1 1 1 0 1 1 1

0 1 0 1 0 1 0 1

1 1 0 1 1 1 0 1

1 1 1 1 1 0 0 1

1 1 1 0 0 0 0 1

1 0 1 0 0 0 1 1

1 0 1 1 0 0 1 0

1 0 0 1 1 0 1 0

0 0 0 1 1 1 1 0

0 0 1 1 1 1 1 1

0 0 1 0 1 0 1 1

CHAPITRE III --VARIABLES ET FONCTIONS BOOLEENNE


III.1 -Algbre de Boole
0 Interrupteur 1

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 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 0 0 1 1 K2 0 1 0 1 L 0 0 0 1

A. Oumnad

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.

III.4 --

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 -A 0 0 1 1

Oprateur ET (AND)
B 0 1 0 1 A.B 0 0 0 1

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

III.4.2 -A 0 0 1 1

Oprateur OU (OR)
B 0 1 0 1 A+B 0 1 1 1

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

III.4.3 -A 0 0 1 1

Oprateur NON-ET (NAND)


B 0 1 0 1

A. B
1 1 1 0

A B A .B
C'est le complment de l'oprateur ET. C'est l'oprateur le plus couramment utilis dans la pratique.

III.4.4 -A 0 0 1 1

Oprateur OU EXCLUSIF (XOR)


B 0 1 0 1 AB 0 1 1 0

A B A + B
AB est vraie si une des deux variables A ou B est vraie mais pas les deux la fois.

III.4.5 --

Analogie

Bases des Systmes Numriques

A. Oumnad

12

A A B L 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
A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 1 A.B 0 0 0 1

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
III.7 -Forme canonique
CBA 000 001 010 011 100 101 110 111 S(A,B,C) 0 0 0 1 1 1 1 1

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

Bases des Systmes Numriques

A. Oumnad

14

III.9 --

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 C D
Synthtisons chaque oprateur avec des NAND
A B

AB + CD

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

A. Oumnad

15

III.9.1 --

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

canonique :

Exemple : Pour tre le plus gnral possible, on va prendre une expression qui n'est mme pas sous forme
F=([(A+B).C]. (DE)+G).H
A B C D E F G 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 G F

CHAPITRE IV -- SIMPLIFICATION DES FONCTIONS LOGIQUE


IV.1 -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)

Mthode 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 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 AB

00 01 11 10 K 00 01 11 P 10 Q L 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 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 1 1 C 0 0 0 0 1 1 1 1 0 0 B 0 0 1 1 0 0 1 1 0 0 A 0 1 0 1 0 1 0 1 0 1 F 0 0 0 0 1 1 1 1 0 0 AB 10 11 12 13 14 15 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 0 1

\CD

00 0

01 8

11 12

10 4

00

Bases des Systmes Numriques 01 11 10 2 3 1 00 0 4 12 10 11 9 01 1 5 13 14 15 13 11 3 7 15 6 7 5 10 2 6 14

A. Oumnad 10 8 00 0 1 3 2 9 01 4 5 7 6 11 11 12 13 15 14 10 10 8 9 11 10

17

BA

\DC
11

DC

\BA
11

00 01 10

00 01

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


CD AB\

00 0 0 0 0

01 0 0 0 0

11 0 0 1 1

10 1 1 1 1

DC\BA

00 0 1 0 0

01 0 1 1 0

11 0 1 1 0

10 0 1 0 0

DC BA\

00 0 0 0 0

01 1 1 1 1

11 0 1 1 0

10 0 0 0 0

00 01 11 10

00 01 11 10

00 01 11 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 01 11 10 00 01 11 10 1 1 1 1 1 00 01 11 10 00 01 11 10 1

ABC

ACD

ABD

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 11 10 1 1 00 01 11 10 1 1 1 1 00 01 11 10 1 1 1 1

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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

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

20

C17 C20
IV.2 -D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C17 C20

Exemple 1 : Convertisseur Binair naturel vers code de Gray


B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 G3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 G2 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 G1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 G0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 On voit sur la table de vrit que G3=D.
BA DC

00 0 1 0 1

00 01 11 10

01 0 1 0 1

11 0 1 0 1

10 0 1 0 1

00 01 0 0 1 1 0 1 1 0

11 10 1 1 0 0 1 0 0 1

G2=CD+CD=CD
BA DC

G1=BC+BC=BC

00 01 11 10 1 1 1 1 0 0 0 0 1 1 1 1

00 0 01 0 11 0 10 0

A B C D

G0 G1 G2 G3

G0=AB+AB=AB

Bases des Systmes Numriques

A. Oumnad

21

IV.3 --

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 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 P 0 1 0 1 0 1 0 1 M 1 1 1 0 0 1 x x
BP A

Tr 0 0 0 0 1 0 x x

Tv 0 0 0 1 0 0 x x
BP A

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
00 01 11 10
0 1 0 0 0 x 0 x BP A

00 01 11 10
1 0 1 1 0 0 1 x

00 01 11 10
0 0 1 x 0 x

0 1

0 1

0 0 1 0

M=BP + AP

Tr = AP

Tv = BP