le principal objectif de ce cours est de permettre à l ... · ecritures canoniques d'une...

37
Le principal objectif de ce cours est de permettre à l’étudiant d’acquérir des connaissances de base de l’électronique numérique. Il permet à l’étudiant de comprendre le fonctionnement de circuits logiques combinatoires et séquentiels qui sont à la base de l’architecture des ordinateurs. 1

Upload: lythuan

Post on 16-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Le principal objectif de ce cours est de permettre à l’étudiant d’acquérir des connaissances de base de l’électronique numérique. Il permet à

l’étudiant de comprendre le fonctionnement de circuits logiques combinatoires et séquentiels qui sont à la base de l’architecture des

ordinateurs.

1

Descriptif et contenu� Systèmes binaires et algèbre de Boole� Portes: ET, OU inclusif/ exclusif , porte NON , NON ET et NON OU, Porte à

Trois Etats� Théorèmes de Morgan� Résumé des identités booléennes de base� Ecritures canoniques d'une fonction logique (Somme canonique de produits,

Produit canonique de sommes)� Simplification de l'écriture des fonctions logiques (Simplification algébrique,

Tableaux de Karnaugh)Tableaux de Karnaugh)� Addition binaire (Demi additionneur, Additionneur, Addition en parallèle,

Addition séquentielle)� Soustraction (Demi soustracteur, Additionneur-soustracteur, Comparaison)� Contrôle de parité� Décodage (Décodeur DCB-décimal)� Multiplexage (Démultiplexeur, Multiplexeur, Conversion parallèle-série)� Encodage� Unité arithmétique et logique� Logique séquentielle asynchrone et synchrone� Bascules: RST ou RS Clock, JK, D et T� Registres: mémorisation, décalage� Compteurs : asynchrones, synchrones

2

CHAPITRE I : CHAPITRE I :

Algèbre Booléenne et simplification logique

3

INTRODUCTION :� L’algèbre de Boole doit son nom au mathématicien Anglais

Georges BOOLE (1815 – 1864).� Cette algèbre a été mise en place pour formaliser les règles

de la logique des propositions.� Elle a été publiée en 1847. L’algèbre booléenne permet

d'utiliser des techniques algébriques pour traiter lesd'utiliser des techniques algébriques pour traiter lesexpressions à deux valeurs de la logique des propositions.

� Aujourd'hui, l'algèbre de Boole trouve de nombreusesapplications en informatique et dans la conception descircuits électroniques.

� L'algèbre de Boole des fonctions logiques permet demodéliser des raisonnements logiques, en exprimant un« état » en fonction de conditions.

4

Exemple :

� Communication = Émetteur ET Récepteur

� Communication est « VRAI » Si Émetteur actif ETRécepteur actif (c'est une fonction logique dépendantdes variables Émetteur et Récepteur)

INTRODUCTION :

des variables Émetteur et Récepteur)

� Décrocher = ( Décision de répondre ET Sonnerie ) OUdécision d'appeler

� Décrocher est « VRAI » Si on entend la sonnerie ETque l'on décide de répondre OU si l'on décided'appeler.

5

II. CONCEPTS DE BASE1. Prédicat

� On appelle prédicat ou proposition logique une« phrase », qui peut être soit vraie, soit fausse.

Exemples :Exemples :

� (P1) Il neige,

� (P2) La température du four est supérieure à 400°

� Par convention on notera vrai = 1 et faux = 0.

� 0 et 1 sont des notations facilitant la lisibilité mais nedésignant pas les réels 0 et 1 !

6

� On appelle algèbre de Boole, un quadruplet (B, NON ,ET ,OU ) composé d'un ensemble B = {0, 1} , d'unopérateur unaire NON ∈ B B appelé complémentation,de deux opérateurs binaires ET ,OU ∈ BxB B appelés

II. CONCEPTS DE BASE2. Définition

de deux opérateurs binaires ET ,OU ∈ BxB B appelésrespectivement multiplication logique et additionlogique.

� Nous pouvons définir les opérateurs : NON, ET, OU

7

� ✔NON ou complémentation logique ( NOT a, ).

Cet opérateur est défini par la table de vérité suivante :

a NOT a

0

II. CONCEPTS DE BASE2. Définition

a

� ✔ ET ou multiplication logique ( a AND b, a.b).

Cet opérateur est défini par la table de vérité suivante :

0

1

a b a.b

0 0

0 1

1 0

1 1 8

✔OU ou addition logique ( a OR b, a+b ). Cet opérateur est défini par la table de vérité suivante :

II. CONCEPTS DE BASE2. Définition

a b a+ba b a+b

0 0

0 1

1 0

1 1

9

� Une algèbre de Boole vérifie les axiomes suivants :

II. CONCEPTS DE BASE3. Propriétés de base

10

� Une algèbre de Boole vérifie les théorèmes suivants :

II. CONCEPTS DE BASE4. Théorèmes

11

✔OU exclusif ( a XOR b, a⊕b), il correspond à l'équation suivante :

a⊕b =

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

. .a b a b+

a⊕b =

� Cet opérateur est défini par la table de vérité suivante :

. .a b a b+

a b a⊕⊕⊕⊕b

0 0

0 1

1 0

1 1

12

� L'opérateur OU exclusif vérifie les propriétés suivantes :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

13

✔NON ET ou NAND ( a NANDb ), il correspond à l'équation suivante :

� a NANDb =

Cet opérateur est défini par la table de vérité suivante :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

.a b

� Cet opérateur est défini par la table de vérité suivante :

a b a NANDb

0 0

0 1

1 0

1 1

14

✔NON ET ou NAND

Remarques :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

15

✔NON OU ou NOR ( a NORb ), il correspond à l'équation suivante :

� a NORb =

Cet opérateur est défini par la table de vérité suivante :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

a b+

� Cet opérateur est défini par la table de vérité suivante :

a b a NORb

0 0

0 1

1 0

1 1

16

✔NON OU ou NOR

Remarques :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

17

✔Implique (a⇒b), il correspond à l'équation suivante :

a⇒b =

� Cet opérateur est défini par la table de vérité suivante :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

a b+⇒

a b a⇒⇒⇒⇒b

0 0

0 1

1 0

1 1

18

✔Equivalent ( a⇔b ), il correspond à l'équation suivante :

a⇔b =

� Cet opérateur est défini par la table de vérité suivante :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

. .a b a b a b aXORb+ = ⊕ =⇔

a b a⇔⇔⇔⇔b

0 0

0 1

1 0

1 1

19

✔Inhibe ( a|b), il correspond à l'équation suivante :

a|b =

� Cet opérateur est défini par la table de vérité suivante :

II. CONCEPTS DE BASE5. Opérateurs ou fonction complémentaires

a b+

� Cet opérateur est défini par la table de vérité suivante :

a b a|b

0 0

0 1

1 0

1 1

20

III. FONCTIONS BOOLÉENNES1. Définition

� Soit une algèbre de Boole constituée du quadruplet (B, NON ,ET ,OU ) où B est l'ensemble B = {0, 1}.

� Soit Bn = {(a1 ,a2 ,...... ,an) ∣ ai ∈B} avec ∣Bn∣ = 2n∣ i ∈ ∣ ∣

� On appelle fonction booléenne de n variables, toute application de Bn dans B.

� Exemple : f (x, y, z) = . ( )x z x y z+ +

21

III. FONCTIONS BOOLÉENNES2. Table de vérité

� Une fonction booléenne de n variables est entièrement définie par la liste de ses valeurs. On donne donc la valeur de la fonction pour chaque combinaison des n variables booléennes. On obtient ainsi la table de variables booléennes. On obtient ainsi la table de vérité de la fonction.

� La table de vérité d'une fonction de n variables est composée de n + 1 colonnes et de 2n lignes.

� 2 variables ==> 3 colonnes et 4 lignes

� 3 variables ==> … colonnes et … lignes

� 4 variables ==> … colonnes et … lignes22

III. FONCTIONS BOOLÉENNES2. Table de vérité

Exemple :

La fonction f (x, y, z) = peut-être définie par la table de vérité ci-dessous :

X y z f (x, y, z)X y z f (x, y, z)

23

III. FONCTIONS BOOLÉENNES3. Formes canoniques d’une fonction booléenne

3.1 Fonction booléenne

� Soit (B, NON ,ET ,OU ) une algèbre de Boole.

� Une fonction booléenne f de n variables booléennes � Une fonction booléenne f de n variables booléennes Bn dans B est une application qui a tout n-uplet de B fait correspondre un élément B construit à l’aide des opérations booléennes

� Exemple :

f(a, b, c)=

g(a, b, c, d)=

a a b b c+ +

abc ab dc b+ + +

24

III. FONCTIONS BOOLÉENNES3. Formes canoniques d’une fonction booléenne

� 3.2 Mintermes et maxtermes� Un « minterme » de n variables est un produit comportant n facteurs,

chaque facteur correspondant à une variable donnée ou à son complémentaire.

� Un « maxterme » de n variables booléennes est une somme comportant n termes, chaque terme correspondant à une variable

� Un « maxterme » de n variables booléennes est une somme comportant n termes, chaque terme correspondant à une variable donnée ou à son complémentaire.

Exemple : � Soit a, b, c et d quatre variables booléennes.� , et sont trois mintermes construit à partir des variables

a, b, c et d.� , et sont trois maxtermes construit à partir

des variables a, b, c et d.Remarque : A partir de n variables booléennes on peut élaborer 2n

mintermes et 2n maxtermes

abcd abcda bcd

a b c d+ + + a b c d+ + + a b c d+ + +

25

III. FONCTIONS BOOLÉENNES3. Formes canoniques d’une fonction booléenne

3.3 Forme canoniques disjonctive et conjonctive d’une fonction booléenne

� Soit f une fonction booléenne de Bn dans B.

� Il est possible d’écrire f de façon unique sous la forme d’une somme de mintermes.

� Cette somme est appelée « forme disjonctive : SDP» de f .� Cette somme est appelée « forme disjonctive : SDP» de f .

� De façon analogue, il est possible d’écrire f sous la forme d’un produit de maxtermes. Ce produit est appelé « forme conjonctive : PDS » de f.

Exemple :

� Considérons la fonction booléenne : =

� On a :

26

a b

( , , )f a b c =ab .1

= .( )ab c c+

= abc abc+

(1 est un élément neutre de la multiplication)

(principe du tiers exclus)

(distributivité)

� Une fonction étant, en générale, définie par sa table de vérité non partirons de la forme canonique disjonctive de la fonction booléenne pour en établir une forme simplifiée. On obtient ainsi un polynôme contenant

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES1. Définition

simplifiée. On obtient ainsi un polynôme contenant un minimum de variable.

1. Simplification par calcul� En utilisant les axiomes et les théorèmes de l'algèbre

de Boole, nous pouvons obtenir la forme simplifiée d'une fonction booléenne. Cette méthode, utilisable dans des cas simples, est fastidieuse et hasardeuse.

27

2.1 Définition

� Un tableau de Karnaugh est une table de vérité dans lequel chaque case représente un Minterme. Les cases du tableau sont ordonnées suivant un code binaire réfléchi (le code GRAY (ci-dessous)) de tel sorte que

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES2. Simplification par tableau de Karnaugh

un code binaire réfléchi (le code GRAY (ci-dessous)) de tel sorte que pour passer d'une case à une autre seule une variable change d'état.

Exemple :� Tableau de Karnaugh à 4 variables

28

Exemple :

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES2. Simplification par tableau de Karnaugh

Exemple :Tableau de Karnaugh à 4 variables

29

2.2 Méthodologie

a) Remplissage du tableau✔ Ecrire 1 dans chaque case (Minterme) correspondant

à une valeur vraie de la fonction booléenne.

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES2. Simplification par tableau de Karnaugh

à une valeur vraie de la fonction booléenne.✔ Ecrire 0 dans chaque case (Minterme)

correspondant à une valeur fausse de la fonction booléenne.✔ Ecrire X dans chaque case (Minterme)

correspondant à une valeur non définie de la fonction booléenne.

30

2.2 Méthodologie

b) Regroupement

✔ Regrouper les cases adjacentes contenant des 1 ou des X par puissances de 2 en formant les plus grands groupes possibles.

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES2. Simplification par tableau de Karnaugh

✔ Vérifier que :

• Chaque case contenant un 1 appartient au moins à un regroupement,

• Chaque groupe est de taille maximale (1, 2, 4, 8, 16, ... 2n cases),

• Aucune case contenant un 0 n'est incluse dans un regroupement.

✔ Le terme correspondant à chaque groupe est le produit des variables qui restent inchangées sur l'ensemble des cases constituant le regroupement. On appelle ce terme un impliquant premier

31

2.2 Méthodologie

c) Fonction booléenne simplifiée

� La fonction booléenne simplifiée est la somme de tous les impliquants premiers.

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES2. Simplification par tableau de Karnaugh

Remarque :

La méthode de simplification par tableau de Karnaugh reste limitée aux fonctions booléennes ne comportant pas plus de 5 à 6 variables.

32

Exemple 1 :Diagramme de Karnaugh d’une SDP non standard

� Soit la fonction dont la forme canonique disjonctive est égale à

� Nous pouvons établir le tableau de Karnaugh suivant :

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES2. Simplification par tableau de Karnaugh

( , , ) . ( )f x y z x y x y z= + +

( , , )f x y z xyz xyz xyz xyz xyz= + + + ++

� D'où la forme simplifiée de la fonction

33

( , , )f a b c xz y= +

Exemple 2 :Diagramme de Karnaugh d’une PDS non standard

� Soit la fonction PDS minimisé g suivante

� La combinaison des valeurs binaires sont :

IV. SIMPLIFICATION DES FONCTIONS BOOLÉENNES2. Simplification par tableau de Karnaugh

( , , , ) ( ).( ).( )g A B C D C D A B D A B C= + + + + +

� La combinaison des valeurs binaires sont :

� (x+x+0+0)(0+0+x+0)(1+0+0+x)

34

00 01 11 10

00 0 0

01 0

11 0

10 0 0

CDAB �PDS standard ?

�SDP standard ?�SDP minimisé ?

Applications

EXERCICE 1: Deux fonctions sont équivalentes si elles ont la même forme

canonique ; démontrer les équivalences suivantes :1 ( )( )

2 ( )( )( ) ( )( )

T a b a c ac ab

T a b a c b c a b a c

≡ + + ≡ +

= + + + ≡ + +

EXERCICE 2:

Ecrire les tables de vérités des fonctions suivantes :

Montrer qu’elles permettent de comparer a et b

35

, ,ab ab ab ab+

V. SCHÉMATISATION DES OPÉRATEURS LOGIQUES1. Notation Française

36

V. SCHÉMATISATION DES OPÉRATEURS LOGIQUES2. Notation Américaine

37