You are on page 1of 58

Cours de systmes logiques

Mady Guillemot INSA GE


1

Introduction
Systmes logiques au cur des systmes lectroniques

de traitement de linformation

Algbre de Boole - Mady Guillemot INSA GE

Introduction
Tches principales des systmes logiques :
Acquisition et communication de donnes numriques
Oprations et traitements sur des donnes, des signaux

Contrle, gestion et commande des processus

Entres

Systme logique de traitement

Algbre de Boole - Mady Guillemot INSA GE

Sorties

Objectifs pdagogiques
Comprendre les concepts de la logique de base Algbre de Boole, oprateurs de base, proprits, tudier les mthodes de dveloppement et danalyse des systmes combinatoires et squentiels
Boutons paliers
1 2 3 4

Systme logique de commande dun montecharge

Monte Descente

Moteur

Mmoire position cabine


Algbre de Boole - Mady Guillemot INSA GE

Plan du cours
1re partie : Mady Guillemot (8h) 6h : Algbre de Boole, oprateurs de base, proprits, 2h : Codes ou diffrentes manires de transcrire une information 2e partie : Lionel Petit (10h) Analyse et dveloppement de systmes combinatoires et squentiels

Algbre de Boole - Mady Guillemot INSA GE

Algbre de Boole
George Boole, mathmaticien anglais (1815-1864) Variable logique : 2 valeurs possibles 0 et 1 Information vraie : 1 Information fausse : 0

3 oprateurs de base : ET, OU, Complment

Algbre de Boole - Mady Guillemot INSA GE

ET Logique ou AND
Soient 2 variables logiques, a et b S = a.b = ab
ET logique ou produit logique ou intersection logique

Algbre de Boole - Mady Guillemot INSA GE

OU Logique ou OR
Soient 2 variables logiques, a et b S=a+b
OU logique ou somme logique ou runion logique

OU inclusif

Algbre de Boole - Mady Guillemot INSA GE

Complment Logique ou NOT


Soit 1 variable logique, a S=a
Complment logique ou Non logique ou inversion logique

Algbre de Boole - Mady Guillemot INSA GE

quations boolennes
quation dune fonction boolenne :
Runion de toutes les combinaisons de variables sous leur

aspect direct ou complment qui rendent la fonction gale 1

Exemples dapplication

Algbre de Boole - Mady Guillemot INSA GE

10

Application 1
Hg = A.B.C

Hm = A.B.C
Hp = A.B.C

Algbre de Boole - Mady Guillemot INSA GE

11

Application 2
A B

M
Systme logique

Entres : A, B, C
A, B, C=1 signifie Oui A, B, C=0 signifie Non

Sorties : M, U
M=1 sil y a une majorit de Oui M=o sinon

U=1 sil y a unanimit pour le Oui

Algbre de Boole - Mady Guillemot INSA GE

12

Proprits des oprateurs de base


Commutativit
a + b = b+a a.b = b.a

Associativit
a + b + c = a+ (b+c) = (a+b) + c
a.b.c = a.(b.c) = (a.b).c

Distributivit
a. (b+c) = a.b + a.c

a + b.c = (a + b). (a + c)

(./+) (+/.)
13

Algbre de Boole - Mady Guillemot INSA GE

Proprits des oprateurs de base


Existence dlments neutres
a+0=a a.1 = a

0 est lment neutre pour le + 1 est lment neutre pour le .

Existence dlments absorbants


a+1=1
a.0 = 0

1 est lment absorbant pour le + 0 est lment absorbant pour le .

Complment
a + a = 1 et a . a = 0 a=a

Involution
Algbre de Boole - Mady Guillemot INSA GE

14

Rgles de calcul et thormes


Idempotence
a + a + a +a + + a = a
a.a.a.aa=a

Thormes de De Morgan (Complments du ET et du OU)


a+b=a.b

a.b=a+b

Algbre de Boole - Mady Guillemot INSA GE

15

Rgles de calcul et thormes


Absorption
a+a.b=a a . (a + b) = a

Allgement
a+a.b=a+b a . (a + b) = a . b

Algbre de Boole - Mady Guillemot INSA GE

16

Rgles de calcul et thormes


Notion de consensus (Tyson, 1965)
ab+ac=ab+ac+bc
b c est le consensus construit sur a et a (a +b) . (a + c) = (a +b) . (a + c) . (b + c) b + c est le consensus construit sur a et a

Notion de dualit
ET et OU jouent le mme rle lun vis--vis de lautre

P * = fonction duale de P
ET devient OU OU devient ET

(P*)* = P Involution Fin 1er Cours (Anne 10-11 3GE et DUT+3)


17

Algbre de Boole - Mady Guillemot INSA GE

Autres oprateurs logiques


Somme disjonctive ou XOR

a+b=ab+ab

Somme disjonctive complmente ou XNOR


a+b=ab+ab

Algbre de Boole - Mady Guillemot INSA GE

18

Proprits somme disjonctive


Commutativit a+b=b+a Associativit a + b + c = (a + b) + c = a + (b + c) Pas d idempotence a+a=aa+aa=0=a Pas de distributivit du + / . a + b c = (a + b) (a + c)

Algbre de Boole - Mady Guillemot INSA GE

19

Proprits somme disjonctive


Distributivit du . / + a (b + c) = a b + a c

Somme disjonctive complmente : Commutativit Associativit

Algbre de Boole - Mady Guillemot INSA GE

20

Autres oprateurs logiques


NAND ou Not AND ( Fonction de SHEFFER)

a b= ab=a+b

a b=ab=ab

NOR ou Not OR ( Fonction de PIERCE)


a b=a+b=a b
a b=a+b=a+b

Algbre de Boole - Mady Guillemot INSA GE

21

Proprits NAND et NOR


Commutativit a b=b a a b=b a

Pas dassociativit
a b c = (a b) c = a (b c) a b c = (a b) c = a (b c)
pas de mise en cascade pour augmenter le nbre dentres

Pas d idempotence
a a=a=a
a a=a=a

Algbre de Boole - Mady Guillemot INSA GE

22

Oprateur complet
Oprateur complet
permettant la ralisation des fonctions de base (ET, OU,

Non)

NAND et NOR oprateurs complets +(.)

Nand (Nand)

et

.(+)

Nor (Nor)

Algbre de Boole - Mady Guillemot INSA GE

23

Autre oprateur logique


Implication note : Implication du langage courant a b a b a b + a b + a b =1 0 0 1 a+b=1 0 1 1 1 0 0 1 1 1
Relie uniquement 2 variables
Algbre de Boole - Mady Guillemot INSA GE

24

Autre oprateur logique


a

b quivalent
a+b=1

ou
a+b=b

ou
ab=a

Dans un diagramme dEuler-Venn, a est inclus dans b


Algbre de Boole - Mady Guillemot INSA GE

25

Proprits de limplication
Rflexive

a
b) et (b a) (a = b)

Anti-symtrique
(a ((a

Transitive
b) et (b c)) (a c)

Distributive / elle-mme, au OU et au ET Pas commutative, pas associative, pas idempotente


Algbre de Boole - Mady Guillemot INSA GE

26

Symboles portes logiques


NON ET
OU NAND NOR XOR

XNOR
Algbre de Boole - Mady Guillemot INSA GE

28

Logique contacts
Le schma est toujours dessin au repos.

On associe une variable boolenne directe un contact non

sollicit et ouvert. On associe une variable boolenne complmente un contact non sollicit et ferm. Un ET logique se traduit par des contacts en srie. Un OU logique se traduit par des contacts en parallle.

Algbre de Boole - Mady Guillemot INSA GE

29

Fonctions boolennes compltes


Soit F, une fonction boolenne de n variables Fonction complte Minterm, mi : une quelconque des intersections des n

variables et de leur ngation

Ex : 2 variables a et b 4 minterms : a b, a b, a b , a b

Maxterm, Mi : une quelconque des runions des n

variables et de leur ngation

Ex : 2 variables a et b 4 maxterms : a + b, a + b, a + b, a + b
Algbre de Boole - Mady Guillemot INSA GE

Fin 2e Cours (Anne 09-10 3GE)

30

Proprits des mi et des Mi


Leur nombre : Pour n variables, 2n minterms et 2n maxterms Indexation (de 0 et 2n 1) Chiffre 1 associ 1 variable directe Chiffre 0 associ 1 variable complmente Conversion en dcimal du nombre binaire obtenu
Ex : Si F, fonction de 3 variables a, b et c a b c = m6 si a, poids fort et c, poids faible

Algbre de Boole - Mady Guillemot INSA GE

31

Thormes sur les mi et les Mi


Pour n variables, i compris entre 0 et 2n 1
Somme de tous les mi = 1 Produit de tous les Mi = 0

mi . mj = 0
Mi + Mj =1 mi = M2n-1-i et Mi = m2n-1-i

Algbre de Boole - Mady Guillemot INSA GE

32

Formes canoniques
Forme canonique disjonctive (1re forme canonique) Fonction mise sous la forme dune runion de mi

(+(.))

Ex : Fabc= R(0, 3, 7)

Forme canonique conjonctive (2e forme canonique) Fonction mise sous la forme dune intersection de Mi

(.(+))

Ex : Gabc = (2, 4, 6, 7)

Algbre de Boole - Mady Guillemot INSA GE

33

Formes canoniques
Deux thormes : Toute fonction boolenne complte de n variables peut tre mise sous la forme dune seule runion de minterms.
Toute fonction boolenne complte de n variables peut tre mise

sous la forme dune seule intersection de maxterms.

Passage dune forme l autre


Proprit dinvolution du complment ( F ) = F

F + F = 1 et F . F =0

Algbre de Boole - Mady Guillemot INSA GE

34

Fonctions boolennes incompltes


Equation fonction boolenne = Runion de toutes les combinaisons de variables qui rendent la fonction gale 1 Conditions indiffrentes =
Combinaisons de variables dentre de la fonction qui ne

peuvent jamais se produire ou qui nappartiennent pas au code utilis Notation : Fabc = R(4, 5, (0, 1, 2, 3))

F + F = 1 et F . F ={}
Algbre de Boole - Mady Guillemot INSA GE

35

Fonctions boolennes
Diffrentes reprsentations possibles :
Table de vrit avec en entres, les 2n combinaisons des n

variables dentre et en sortie, la valeur de la fonction


Formes canoniques disjonctive et conjonctive

Diagramme d Euler-Venn
Reprsentations tabulaires (Karnaugh, Quine Mac Cluskey,)

Algbre de Boole - Mady Guillemot INSA GE

36

Rduction des fonctions boolennes


Impliquants de F : F= A+B+C++N, avec A, B,,N produits de variables Minimiser une fonction Chercher le nombre minimal dimpliquants permettant de raliser F Expressions minimales de F Solutions minimales ou bases premires

Algbre de Boole - Mady Guillemot INSA GE

37

Utilisation du diagramme de Karnaugh


Il permet de dterminer les quations minimales de F
Sous la 1re forme canonique F=R(mi) en plaant F dans le

diagramme Sous la 2e forme canonique F=I(Mi) en plaant F dans le diagramme

Dans la mthode de Karnaugh, on place les fonctions

sous leur premire forme canonique.

Algbre de Boole - Mady Guillemot INSA GE

38

Diagramme de Karnaugh
F = fonction de n variables

Tableau contenant 2n cases (= combinaisons) Indexation des cases suivant Code Gray Chaque combinaison ne diffre de celles de ses 2 voisines que par 1 variable Elles sont dites adjacentes La 1re est aussi adjacente la dernire

Algbre de Boole - Mady Guillemot INSA GE

39

Code Gray
3e var 2e var 1re var

0
0

0
0

0
1

Plan miroir pour construire combinaisons avec 2 variables

0
0 1 1 1 1

1
1 1 1 0 0

1
0 0 1 1 0

Plan miroir pour construire combinaisons avec 3 variables

Algbre de Boole - Mady Guillemot INSA GE

40

Diagramme de Karnaugh
Exemple : Fabcd = R(1, 3, 6, 8, 11)
cd ab c

00
00 01

01
X

11
X

10
X

11 10 X

Algbre de Boole - Mady Guillemot INSA GE

41

Codes
Un code est un ensemble de symboles permettant : La transcription La transmission dun certain nombre d informations. Exemples de codes : Les alphabets Le code de la route Les systmes de numration (base 2, base 10,) Le code ASCII (7 bits, tendu 8 bits), le Morse Le code Unicode (16 bits) Les codes MPEG (son, image anime et vido)

Algbre de Boole - Mady Guillemot INSA GE

48

Codes
Diffrents codes pour diffrents usages :
Crypter un message
Dtecter et/ou corriger des erreurs Comprimer un message

Oprations :
Codage Dcodage

Transcodage

Algbre de Boole - Mady Guillemot INSA GE

49

Codes
Termes employs :
Alphabet : ensemble des symboles Mot : combinaison de symboles

Remarques : Plus il y a de symboles, plus chaque symbole contient de linformation. Plus le nombre de symboles est petit, plus longue sera la transmission.

Ex : en dcimal, 10 symboles : 0,1,..,9


en binaire, 2 symboles : 0,1 10 en dcimal= 1010 en binaire
Algbre de Boole - Mady Guillemot INSA GE

50

Codes pondrs
Dfinition :
On associe chaque digit ai

un poids not Pi tel que la somme des ai.Pi soit gale au nombre dcimal de dpart. Code 8421 : code binaire naturel Code BCD : chaque symbole dcimal est remplac par son quivalent en binaire naturel sur 4 bits

Pi

8421

5321

5211

5421

7421

0
1 2 3 4

0000
0001 0010 0011 0100

0000
0001 0010 0100 0101

0000
0001 0100 0110 0111

0000
0001 0010 0011 0100

0000
0001 0010 0011 0100

5
6

0101
0110

1000
1001

1000
1001

1000
1001

0101
0110

7
8 9

0111
1000 1001

1010
1100 1101

1011
1110 1111

1010
1011 1100

1000
1001 1010
51

Algbre de Boole - Mady Guillemot INSA GE

Codes dtecteurs et/ou correcteurs derreurs


Objectif : permettre la correction derreur aprs la

transmission dune information Principe de dtection derreur :


Rajout dune information supplmentaire redondante Information calcule partir de celle contenue dans le mot

coder Augmentation du nombre de digits du mot coder par des bits de contrle

Information qui pourra servir localiser lerreur et

donc la corriger
Algbre de Boole - Mady Guillemot INSA GE

53

Contrle de parit
Mthode la plus simple de dtection et de correction
Ajout dun bit supplmentaire au mot coder pour assurer au

nouveau mot une certaine parit :

Paire : nombre total de 1 pair Impaire : nombre total de 1 impair

A la rception, contrle de parit du mot pour voir sil y a eu erreur

lors de la transmission Exemple :

Code 2 parmi 5 bas sur le code 7421 pour les 4 premiers bits (sauf pour le 0 cod 1100) et le 5e est calcul pour quil y ait 2 bits 1 dans le mot de 5 bits Dtection derreurs simples, pas multiples et pas de possibilit de localisation
Algbre de Boole - Mady Guillemot INSA GE

55

Exemple dun code 2 parmi 5


Chiffres dcimaux 0

Message mi
7
1

Contrle

4
1

2
0

1
0

k
0

1
2

0
0

0
0

0
1

1
0

1
1

3
4 5 6 7

0
0 0 0 1

0
1 1 1 0

1
0 0 1 0

1
0 1 0 0

0
1 0 0 1

8
9

1
1

0
0

0
1

1
0

0
0
56

Algbre de Boole - Mady Guillemot INSA GE

Correction derreurs simples


Calcul des parits longitudinale et transversale lmission Contrles des parits longitudinale et transversale la

rception Localisation de lerreur lintersection de la ligne et de la colonne o les contrles de parit sont mauvais
Dcimal 5 3 8 7 Contrle kTe Donnes 0101 0011 1001 1000 0111 Contrle kLe 0 0 0 1 1 kTr Message reu 010 011 100 100 011 10 10 10 01 11

kLr 0 1 0 0 0 1
57

01000

Algbre de Boole - Mady Guillemot INSA GE

Codes linaires
Codes linaires :
Codes dtecteurs correcteurs derreurs pour lesquels les bits

du mot cod sont des combinaisons linaires des bits du mot initial

Mot initial ou message initial :


[M]=[mn mn-1 mn-2m1]

Mot de n bits Contenant linformation, les donnes utiles Considr comme un vecteur ligne de composantes mi

Mot auquel on va adjoindre des bits de contrle

Algbre de Boole - Mady Guillemot INSA GE

58

Codes linaires
Mot cod :
[B]=[b1 b2 .....bm] Mot de m bits

Considr comme un vecteur ligne de m composantes


Calcul partir des bits du mot initial par la relation :

[B]=[M].[G] o les bi =

m
j 1

j m

.g ji

[G] = matrice gnratrice du code

Taille de [G] = (n,m) soit n lignes, m colonnes

Algbre de Boole - Mady Guillemot INSA GE

59

Codage en blocs
Mot cod de m bits compos de 2 blocs distincts :

1 bloc constitu par le mot initial de n bits 1 bloc constitu par les p bits de contrle avec m=n+p

Mot initial

[M]=[mn mn-1 mn-2 . m2 m1]


Mot cod

[B]=[b1 b2 .bn-2 bn-1 bn bn+1bm-1 bm]


=[mn mn-1 mn-2 . m2 m1 k1 k2 . kp-1 kp]

Algbre de Boole - Mady Guillemot INSA GE

60

Codage en blocs
Bits de contrle
Calculs partir des bits du mot initial Redondance de linformation

Dans certains codes cycliques, bits de message et bits de

contrle sont mlangs

Algbre de Boole - Mady Guillemot INSA GE

61

Oprateurs utiliss
[B]=[M].[G] o les bi =

m
j 1

j m

.g ji

Variables boolennes : 2 valeurs 0 ou 1 j m mj Somme des termes de lquation bi= j 1 2 valeurs 0 ou 1 2 oprations : La somme modulo 2 Le produit modulo 2

.g ji

Algbre de Boole - Mady Guillemot INSA GE

64

Oprateurs utiliss dans les codes linaires


Somme modulo 2 note +
Equivalente la somme

Produit modulo 2 not .


Equivalent au produit

disjonctive

logique

a 0 0 1 1

b 0 1 0 1

a+b 0 1 1 0
Algbre de Boole - Mady Guillemot INSA GE

a 0 0 1 1

b 0 1 0 1

a.b 0 0 0 1
65

Oprateurs utiliss dans les codes linaires


Proprits de ces oprateurs Commutativit : a+b=b+a et a.b=b.a Associativit : a+b+c=(a+b)+c=a+(b+c) et a.b.c=(a.b).c=a.(b.c) Distributivit du ./+ : a.(b+c)=a.b + a.c a+a = 0 (a est son propre oppos) 0 lment neutre pour le + : a+0 = a 1 lment neutre pour le . : a.1 = a a+1 = a Si c = a+b, alors a = b+c et b = a+c
Algbre de Boole - Mady Guillemot INSA GE

66

Codage linaire en blocs : Ct mission


mj [B]=[M].[G] o les bi = j 1
j m

.g ji

[M] = message ou mot initial, vecteur de dim. (1, n) [B] = mot cod, vecteur de dim. (1,m) [G] = matrice gnratrice du code, de dim. (n,m)

Dans [B], message initial inchang


[G] = [I, A] avec I matrice identit et A matrice permettant le calcul

des bits de contrle


[B] = [M][I,A]=[MI,MA]=[M,K] ki =

m
j 1

j m

.aij
Algbre de Boole - Mady Guillemot INSA GE

67

Codage linaire en blocs : Ct rception


Comment sont calculs les bits de contrle ?
[H] = matrice de contrle

[H] = [At,I] construite partir de [G] [S] = syndrome [S] =[H] . [B]t , les k sont calculs pour que [S] soit nul

A lmission, on calcule les bits de contrle avec [G] pour que le syndrome soit nul et on les insre dans le mot initial de manire fabriquer le mot cod. A la rception, on calcule le syndrome sur le message reu. Sil est diffrent de 0, il y a eu erreur lors de la transmission.

Algbre de Boole - Mady Guillemot INSA GE

68

Performance des codes linaires


Distance de Hamming, d :
Nombre minimum de bits diffrents entre 2 mots cods Nombre de vecteurs lignes linairement indpendants dans la matrice [H] Pour vrifier leur indpendance, on en fait la somme :

Si elle est gale au vecteur nul ou un des vecteurs de dpart, ils sont linairement

dpendants

Sinon ils sont linairement indpendants

Nombre derreurs corriges, nc

d = 2 nc + 1 si d impaire

d = 2 (nc + 1) si d paire

Nombre derreurs dtectes, nd

d = nc + nd + 1
Algbre de Boole - Mady Guillemot INSA GE

69