60
ÉCOLE SUPÉRIEURE ET D'APPLICATION DES TRANSMISSIONS Direction générale de la formation COURS PAR CORRESPONDANCE Édition Mars 2004 Adresse du site C.P.C : www.esat.terre.defense.gouv.fr/servicesf/cpc/default.htm Cours Par Correspondance préparatoire à l'EA2/FS du BSTAT DOMAINE SIC LOGIQUE

préparatoire à l'EA2/FS du BSTAT DOMAINE SIC LOGIQUEgdedel95.free.fr/EPMI/Ressources Technum/logique.pdf · Une table de vérité nous fait connaître la réaction d'un circuit

  • Upload
    lamanh

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

ÉCOLE SUPÉRIEURE ET D'APPLICATION DES TRANSMISSIONS Direction générale de la formation COURS PAR CORRESPONDANCE

Adresse du site C.P

Cours Par Correspondance préparatoire à l'EA2/FS du BSTAT DOMAINE SIC LOGIQUE

Édition Mars 2004

.C : www.esat.terre.defense.gouv.fr/servicesf/cpc/default.htm

Logique

TABLE des MATIERES I - ALGEBRE DE BOOLE ...................................................................................................................................2

1. RAPPELS SUR LA NUMERATION.............................................................................................................................2 2. NOTIONS D'ALGEBRE DE BOOLE...........................................................................................................................5

II - CODAGE - DECODAGE.............................................................................................................................7

1. GENERALITES.......................................................................................................................................................7 2. PRESENTATION DES DIFFERENTS CODES ...............................................................................................................7 3. LES TRANSCODEURS.............................................................................................................................................9

III - INTRODUCTION A LA LOGIQUE ........................................................................................................10

1. GENERALITES.....................................................................................................................................................10 2. LE SIGNAL LOGIQUE ...........................................................................................................................................11 3. LES CIRCUITS ET LES FONCTIONS LOGIQUES .......................................................................................................13

IV - OPERATEURS LOGIQUES COMBINATOIRES .................................................................................15

1. OPERATEURS LOGIQUES ELEMENTAIRES NON, ET, OU.....................................................................................15 2. OPERATEURS LOGIQUES COMPLETS....................................................................................................................18 3. OPERATEURS COMPLEXES DE LA LOGIQUE COMBINATOIRE ................................................................................20 4. PROPRIETES DES OPERATEURS LOGIQUES ...........................................................................................................23

V - FONCTIONS LOGIQUES.........................................................................................................................25

1. THEOREMES DE DE MORGAN .............................................................................................................................25 2. REPRESENTATIONS DES FONCTIONS LOGIQUES...................................................................................................25 3. METHODE DU DIAGRAMME DE KARNAUGH....................................................................................................27

VI - MULTIPLEXAGE - DEMULTIPLEXAGE ............................................................................................33

1. LES MULTIPLEXEURS..........................................................................................................................................33 2. LES DECODEURS / DEMULTIPLEXEURS................................................................................................................35

VII - COMPARATEURS - ADDITIONNEURS ...............................................................................................38

1. LES COMPARATEURS ..........................................................................................................................................38 2. LES ADDITIONNEURS..........................................................................................................................................40

VIII - LES BISTABLES....................................................................................................................................44

1. RAPPELS SUR LA LOGIQUE SEQUENTIELLE..........................................................................................................44 2. LES BISTABLES ASYNCHRONES...........................................................................................................................45 3. LES BISTABLES SYNCHRONES.............................................................................................................................47 4. LES ENTREES DE FORÇAGE .................................................................................................................................50 5. LES MODES DE BASCULEMENT DES BISTABLES ...................................................................................................51 6. TABLE DE TRANSITION DES BISTABLES...............................................................................................................52

IX - LES REGISTRES A DECALAGE............................................................................................................53

1. DEFINITION ........................................................................................................................................................53 2. PARTICULARITES DES REGISTRES A DECALAGE ..................................................................................................54 3. CONVERSION SERIE-PARALLELE.........................................................................................................................55

X - LES COMPTEURS.....................................................................................................................................56

1. COMPTEURS ASYNCHRONES...............................................................................................................................56 2. COMPTEURS SYNCHRONES .................................................................................................................................57

1

Logique

I - Algèbre de BOOLE 1. Rappels sur la numération 1.1. Bases de la numération De nombreux systèmes de numération sont utilisés dans le monde en technologie numérique. Les plus connus sont le décimal, le binaire, l'octal et l'hexadécimal. De toute évidence, c'est le système décimal que vous connaissez le mieux puisque vous l'utilisez tous les jours. Le système décimal comprend 10 nombres ou symboles qui sont 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; en utilisant ces symboles comme chiffres dans un nombre, on parvient à exprimer n'importe quelle grandeur. Le système décimal, appelé aussi système à base 10, s'est imposé tout naturellement à l'homme puisque ce dernier possède 10 doigts. Le système binaire : Malheureusement, le système décimal est difficile à adapter aux mécanismes numériques. Par exemple, il est très difficile de concevoir un équipement électronique qui puisse fonctionner avec 10 niveaux de tension différents (un pour chaque caractère décimal 0 à 9). Par contre il est très facile d'imaginer un système électronique simple et précis qui fonctionne seulement avec 2 niveaux de tension. C'est pour cette raison que presque tous les systèmes numériques ont recours au système binaire (base 2). Dans le système binaire, il n'y a que 2 symboles ou chiffres possibles : 0 ou 1, appelés bits. Bien que cette base ne contienne que 2 éléments, elle peut tout à fait représenter n'importe quelle grandeur exprimée dans le système décimal ou tout autre système de numérotation. Chaque chiffre binaire est affecté d'un poids qui est une puissance positive de 2. 2 2 2 2 2 2 2 2 2 2 poids des rangs

Poids fort Poids faible

9 8 7 6 5 4 3 2 1 0

1 0 1 0 1 0 1 0 1 02

Remarque préalable : (L'indice placé en dessous du nombre veut dire que ce nombre est représenté dans la base 2 si l'indice est 2, dans la base 10 si l'indice est 10, etc...).

2

Logique Exemple : Prenons comme exemple le nombre 1010 2

Ainsi, pour trouver l'équivalent décimal du nombre 1010 , il suffit de faire la somme des produits de chaque chiffre (0 ou 1) par le poids de son rang.

2

1010 1 2 0 2 1 2 0 2 8 0 2 0 102

3 2 1 010= + + + = + + + =( * ) ( * ) ( * ) ( * ))

Donc, en généralisant, pour passer un nombre A d'une base binaire à une base décimale on appliquera la formule suivante : soit le nombre binaire. A an2 2= ( ) a a a ........a an-1 n-2 n-3 1 0

On a A an10

02= 2 + a 2 + a 2 + a 2 +........+a 2 + ann-1

n-1n-2

n-2n-3

n-31

10

Le système hexadécimal : Le système hexadécimal a comme base 16, ce qui implique 16 symboles de chiffres possibles, qui, dans ce cas, sont les dix chiffres 0 à 9 plus les majuscules A, B, C, D, E et F. Ce système permet d'écrire un nombre binaire qui contient un grand nombre de bits de façon plus compacte. Comme vous allez voir ci-dessous, il suffit de 1 seul chiffre en hexadécimal pour représenter 4 bits binaires. Le tableau ci-dessous expose les rapports entre les systèmes hexadécimal, décimal et binaire.

Hexadécimal Décimal Binaire0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 A 10 1010 B 11 1011 C 12 1100 D 13 1101 E 14 1110 F 15 1111

3

Logique 1.2. Méthodes de changement de base 1.2.1. De décimal à binaire La méthode qui convient le mieux pour convertir un chiffre décimal en binaire est celle de la division successive par 2. Cette méthode de conversion recourt à la répétition de la division par 2 du nombre décimal à convertir et au report des restes pour chaque division jusqu'à ce que le quotient soit 0. Notez que le nombre binaire résultant s'obtient en écrivant le premier reste à la position du bit de poids le plus faible et le dernier reste à la position du bit de poids le plus fort. Exemple : Convertir le nombre 25 en binaire. 10

252

12

6

3

1

0

= +

= +

= +

= +

= +

reste de 1

122

reste de 0

62

reste de 0

32

reste de 1

12

reste de 1

Poids fort Poids faible 25 1 0 0 110 2= 1

1.2.2. D'hexadécimal à binaire Le système de numérotation hexadécimal se veut une façon abrégée de représenter les nombres binaires. La conversion d'un nombre hexadécimal en un nombre binaire ne pose vraiment pas de problèmes, puisque chaque chiffre hexadécimal est remplacé par son équivalent binaire de 4 bits. Exemple : Convertir le nombre en binaire. 169F2

2

16

101001111100 = 0010 1111 1001

2 F 9 9F2 =

4

Logique 2. Notions d'algèbre de Boole 2.1. Présentation de l'algèbre de Boole L'algèbre de BOOLE a été développée afin de pouvoir utiliser les variables BINAIRES (ou variables Booléennes) qui sont des variables susceptibles de prendre 2 valeurs "0" ou "1" à l'exclusion de toute autre. L'algèbre de BOOLE est donc la base de la logique. On ne trouve dans cette algèbre que trois opérations élémentaires : a) L'addition logique, dite aussi opération OU. Le symbole habituel de cette opération est le signe (+). b) La multiplication logique, dite aussi opération ET. Son symbole habituel est le signe de la multiplication (.). c) La complémentation ou l'inverse logique, dite aussi opération NON. Son symbole habituel est une barre de surlignement ( ). 2.2. Table de vérité De nombreux circuits logiques possèdent plusieurs entrées mais seulement une sortie. Une table de vérité nous fait connaître la réaction d'un circuit logique (sa valeur de sortie) aux diverses combinaisons de niveaux logiques appliqués aux entrées. La figure ci-dessous nous montre des tables de vérité à deux, trois et quatre colonnes.

A B C X 0 0 0 ? 0 0 1 ? 0 1 0 ? 0 1 1 ? 1 0 0 ? 1 0 1 ? 1 1 0 ? 1 1 1 ?

Sortie Entrées A B X 0 0 ? 0 1 ? 1 0 ? 1 1 ?

A B C D X 0 0 0 0 ? 0 0 0 1 ? 0 0 1 0 ? 0 0 1 1 ? 0 1 0 0 ? 0 1 0 1 ? 0 1 1 0 ? 0 1 1 1 ? 1 0 0 0 ? 1 0 0 1 ? 1 0 1 0 ? 1 0 1 1 ? 1 1 0 0 ? 1 1 0 1 ? 1 1 1 0 ? 1 1 1 1 ?

5

Logique Dans chacune de ces tables, toutes les combinaisons possibles de 0 et de 1 pour les entrées (A, B, C, D) apparaissent à gauche, tandis que le niveau logique de la sortie X résultant, est donné à droite. Pour le moment, il n'y a que des "?" dans ces colonnes car les valeurs de sortie sont différentes pour chaque type de circuit. Pour construire toutes les combinaisons des variables binaires composant un système, il est souhaitable de procéder à un remplissage automatique de la table de vérité. On affecte pour cela un poids binaire croissant à chaque variable binaire de la droite vers la gauche (de 20 à 2n-1 où n représente le nombre total de variables binaires). La construction automatique s’obtient en intercalant successivement pour chaque colonne un nombre de 0 logique, puis de 1 logique égal au poids binaire associé à la colonne désignée.

6

Logique II - Codage - Décodage

II - Codage - Décodage 1. Généralités En logique, on ne s’intéresse qu’au codage des nombres; nombres que l’on représente à l’aide de variables binaires ne pouvant prendre que 2 valeurs, 0 ou 1. On va ainsi chercher à exprimer des nombres par des séries de 0 et de 1 qui seront des équivalents binaires de ces nombres, exploitables avec un calculateur numérique : ceci porte le nom de codage. Cependant le choix de la série binaire qui représentera un nombre n’est pas fixé a priori ; elle peut prendre une forme quelconque. Dans ce chapitre, certains des codages binaires les plus usuels sont présentés. On mettra en avant les différences entre ces codages et leur utilité. 2. Présentation des différents codes 2.1. Code binaire naturel

Ce codage consiste en une représentation de chaque nombre décimal par sa valeur en binaire naturel. C’est un codage simple mais peu pratique car le nombre de bits nécessaires pour exprimer les nombres augmente très rapidement.

2.2. Code DCBN (Décimal Codé Binaire Naturel)

Ce codage consiste à représenter chaque chiffre décimal par son équivalent binaire naturel. Chaque chiffre est ainsi représenté sur 4 bits. Exemple : le codage du nombre 32 se fera de la manière suivante. 3 ∧ 0011 2 ∧ 0010 (32) ∧ 00110010

Décimal Code 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001

Décimal Code 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

7

Logique II - Codage - Décodage 2.3. Code Excédent 3

Ce codage est un dérivé du précédent en cela que les chiffres décimaux sont codés séparément et sur 4 bits. Cependant le code binaire de chaque chiffre est décalé de 3 par rapport au code binaire naturel. Ainsi le décimal 0 est représenté par le codage binaire 0011 (égal à 3 en binaire naturel). Exemple : le codage du nombre 32 se fera de la manière suivante. 3 ∧ 0110 2 ∧ 0101 (32) ∧ 01100101

Le point remarquable de ce codage est la symétrie qui apparaît par rapport au centre du tableau. Pour obtenir le complément à 9 de chaque chiffre du tableau, il suffit de changer les 0 en 1 et les 1 en 0 dans son codage. Exemple : 2 ∧ 0101 7 ∧ 1010 où 7 est le complément à 9 de 2. Cette propriété est très intéressante pour faire des soustractions de nombres où l’on a besoin d’obtenir les compléments à 9 de certains chiffres. Avec ce type de codage la conversion se fait aisément. 2.4. Code Gray (ou binaire réfléchi)

Décimal Code 0 0011 1 0100 2 0101 3 0110 4 0111 5 1000 6 1001 7 1010 8 1011 9 1100

Décimal Code 0 0 0 0 01 0 0 0 1 2 0 0 1 13 0 0 1 0 4 0 1 1 05 0 1 1 1 6 0 1 0 17 0 1 0 0 8 1 1 0 09 1 1 0 1

10 1 1 1 111 1 1 1 0 12 1 0 1 013 1 0 1 1 14 1 0 0 115 1 0 0 0 ..... ...........

Ce code a les mêmes propriétés que le codage binaire naturel à savoir qu’on ne code pas chaque chiffre séparément mais le nombre en entier. Cependant la construction du code est différente puisque ici on a une construction automatique selon des symétries comme indiqué dans le tableau ci-contre. L’intérêt de ce code est que l’on a un seul changement de digit lorsque l’on passe d’un nombre au nombre immédiatement supérieur. On dira que 2 nombres consécutifs sont adjacents. Cette propriété sera utilisée en particulier pour construire les tableaux de Karnaugh.

8

Logique II - Codage - Décodage 3. Les transcodeurs Définition : un transcodeur est un opérateur qui permet de passer d’un code à l’autre. Cette opération s’appelle le transcodage. Exemple : construction d’un transcodeur permettant de passer du code DCBN au code Excédent 3. Ce transcodeur possède 4 entrées (a, b, c, d) relatives aux 4 digits du code DCBN et 4 sorties (α, β, γ, δ) relatives aux 4 digits du code Excédent 3. Table de vérité :

a b c d α β γ δ 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 2 0 0 1 0 0 1 0 1 3 0 0 1 1 0 1 1 0 4 0 1 0 0 0 1 1 1 5 0 1 0 1 1 0 0 0 6 0 1 1 0 1 0 0 1 7 0 1 1 1 1 0 1 0 8 1 0 0 0 1 0 1 1 9 1 0 0 1 1 1 0 0

Dans ce cas, les combinaisons relatives aux équivalents décimaux 10 à 15 sont impossibles à réaliser. A partir de cette table de vérité, il faudra définir les équations logiques de α, β, γ et δ en fonction des variables a, b, c et d.

9

-Logique III - Introduction à la logique

III - Introduction à la logique 1. Généralités 1.1. Définitions * Proposition : on appelle proposition un assemblage de signes alphabétiques (mots) ou de signes numériques (chiffres) qui possèdent un sens (phrase grammaticalement correcte). Exemple : "Jean lit un roman" "U = RI" "3 + 4 = 7" * Logique : la logique est l'art d'émettre des pensées claires, d'enchaîner les propositions de façon claire. Exemple : Pierre est dans la maison si le temps n'est pas beau 1.2. Axiomes de base La logique est construite sur 3 axiomes (propositions non démontrées).

• Axiome 1 : Toute proposition est soit Vraie soit Fausse • Axiome 2 : A toute proposition P correspond une proposition négative de P

notée P qui est : * fausse si P est vraie * vraie si P est fausse

• Axiome 3 : Etant données 2 propositions P et Q, il existe une proposition appelée conjonction de P et Q notée P.Q qui est :

* vraie si P et Q sont vraies * fausse dans tous les autres cas

Proposition 2 Proposition 1

1.3. Table de vérité Définition : on appelle Table de vérité d'une proposition un tableau explicitant l'exactitude de cette proposition dans tous les cas d'hypothèses possibles.

10

-Logique III - Introduction à la logique Exemples : A B C A.B.C

0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

P Q P.Q 0 0 0 0 1 0 1 0 0 1 1 1

Remarque : pour 2 propositions on a combinaisons 22 pour 3 propositions on a combinaisons 32 pour n propositions on a combinaisons n2 2. Le signal logique 2.1. Définition En logique on appelle SIGNAL LOGIQUE toute grandeur physique ne pouvant prendre que 2 états distincts et 2 seulement : - présence du signal - absence du signal Exemple : pour la logique informatique qui nous intéresse plus particulièrement, on utilise : - la différence de potentiel - le courant électrique Un tel signal est dit "grandeur (ou variable) binaire" On utilise arbitrairement les symboles : - "0" = absence du signal - "1" = présence du signal Si la notion de "variable binaire" est suffisante pour fonder la notion de signal sur le plan théorique, il n'en est pas de même sur le plan pratique où la distinction entre 2 états dépend de la sensibilité des méthodes de détection de ces 2 états. On introduit donc le principe de Fourchette.

11

-Logique III - Introduction à la logique 2.2. Cas d'une différence de potentiel La d.d.p. est soumise à des fluctuations éventuelles dues aux bruits externes par induction sur les lignes ainsi que par les parasites, et aux bruits internes par dispersion de caractéristiques dans le cas de transistors.

A cause de toutes ces perturbations, on a défini pour les circuits logiques des fourchettes de valeurs et non des valeurs fixes pour permettre d'absorber ces perturbations sans pour autant toucher à l'intégrité du système logique.

Fourchette niveau bas

Fourchette niveau haut

Niveau logique 0

Niveau logique 1

5 V

0 V En résumé, il ne faut pas forcément que la tension soit de 5 V pour avoir un niveau logique égal à 1 et 0V pour avoir un niveau logique 0. Ces fourchettes sont données par le constructeur du circuit numérique que vous employez. Ces fourchettes de tension qui permettent de réduire l'influence des perturbations sont aussi appelées : marges d'immunité aux bruits. 2.3. Logiques positive et négative Lorsque l’on parle de présence ou d'absence de signal, il faut distinguer si l'on travaille en logique positive ou en logique négative. Logique positive : On dit que l'on travaille en logique positive lorsque, pour passer de l'état "0" à l'état "1", la grandeur logique croît en valeur algébrique. Logique négative : On dit que l'on travaille en logique négative lorsque, pour passer de l'état "0" à l'état "1", la grandeur logique décroît en valeur algébrique.

12

-Logique III - Introduction à la logique 3. Les circuits et les fonctions logiques 3.1. Généralités On appelle CIRCUIT LOGIQUE ou PORTE ou OPERATEUR ("Gate" pour les anglo-saxons) un dispositif à une ou plusieurs entrées et une seule sortie sur laquelle un signal sera présent si et seulement si une certaine combinaison de signaux est appliquée à l'entrée.

e1 e2 e3

en

Un circuit logique est représenté de façon théorique par une FONCTION LOGIQUE "F", des VARIABLES LOGIQUES (e1, e2, e3,.......,en), et S le résultat. Exemple : S = F (e1, e2, e3, ......., en) 3.2. Logique combinatoire et séquentielle Les fonctions logiques (et les circuits) peuvent se classer en deux catégories : - Les fonctions COMBINATOIRES (Fc) - Les fonctions SEQUENTIELLES (Fs) Circuits combinatoires : Un circuit de logique combinatoire est un dispositif pour lequel, à chaque combinaison de signaux appliquée à l'entrée, correspond toujours un signal de sortie déterminé et ceci quel que soit l'ordre dans lequel on applique les combinaisons de signaux de l'entrée. Un tel fonctionnement est indépendant du temps. S = Fc (e1, e2, e3, ......., en)

Fc

circuit logique

S

e1 e2 e3

en

S

13

-Logique III - Introduction à la logique Circuits séquentiels : Il existe des circuits plus compliqués pour lesquels l'état du signal de sortie est fonction : - non seulement de la combinaison des signaux appliqués à l'entrée. - mais aussi de l'état antérieur de cette sortie. A un même ensemble des états des variables d'entrée ne correspond pas obligatoirement un même état de la variable de sortie. Le passé de la sortie intervient dans cette détermination. Le nom séquentiel vient du fait que l'état de la sortie dépend de son état initial et de l'ordre dans lequel se succèdent les états des entrées. Il s'agit donc d'une suite ordonnée ou séquence des états d'entrée. e1(t)

e2(t) e3(t) en(t)

Fs

S(t) S (t)= Fs (e1(t), e2(t), e3(t), ......., en(t), H(t)) où H(t) représente l'histoire passée du circuit. L'état d'une fonction logique à l'instant (t) est entièrement déterminé par la connaissance de son état à l'instant (t-1) et de la valeur présente à l'instant (t) des entrées.

14

-Logique III - Introduction à la logique

IV - Opérateurs logiques combinatoires

1. Opérateurs logiques élémentaires NON, ET, OU Rappel : un opérateur (ou circuit, ou porte) logique est un dispositif à une ou plusieurs entrées et une seule sortie sur laquelle un signal sera présent si et seulement si une certaine combinaison de signaux est appliquée à l'entrée (cf Figure IV.1).

ENTREES SORTIE

e1 e2 e3 s e4

en

Figure IV. 1 Tous les systèmes numériques sont construits en utilisant seulement trois portes logiques fondamentales : la porte ET, la porte OU et la porte NON. Ils sont dits fondamentaux car ils permettent à eux seuls de définir toute fonction logique de variables logiques. 1.1. L'opérateur NON La porte NON est également appelée “Inverseur”. Une porte NON ou Inverseur est, contrairement aux opérations ET et OU, une porte ne possédant qu'une seule entrée et une seule sortie (cf Figure IV.1.1.a ).

A 0

1A

0

1

0

1X

Un petit rond indique toujours une inversion

Figure IV.1.1.a

X A A X 0 1 1 0

Figure IV.1.1.c Figure IV.1.1.b Si une variable A est soumise à une opération NON, le résultat X est donné par l'expression suivante :

X A= où le trait de surlignement sur la variable A représente l'opération NON. Cette expression se lit "X égale à NON A" ou "X égale l'inverse de A" ou encore "X est le complément de A". La table de vérité de la figure IV.1.1.b décrit clairement cette opération.

15

-Logique III - Introduction à la logique L'opération NON porte également le nom d'inversion ou de complémentation. On peut voir à la figure IV.1.1.a le symbole d'un circuit NON. Par ailleurs, la figure IV.1.1.c nous montre comment un INVERSEUR change le signal d'entrée : chaque point de l'onde A est inversé. 1.2. L'opérateur ET La porte ET est également appelée la porte "tout ou rien". Le schéma de la figure IV.1.2.a illustre le principe de la porte ET. La lampe ( X ) ne s'allume que si les deux interrupteurs (A et B) sont fermés. La figure IV.1.2.b représente toutes les combinaisons possibles pour les états des interrupteurs A et B. Cette table de vérité indique que la sortie ( X ) est validée quand, et seulement quand, les deux entrées sont fermées. B

X

-+

A

A B X ouvert ouvert non fermé ouvert non ouvert fermé non fermé fermé oui

Figure IV.1.2.b Figure IV.1.2.a Si deux variables logiques A et B sont combinées par la multiplication logique (opération ET ), le résultat X s'exprime symboliquement ainsi : X = A . B Dans cette expression, le signe " . " représente l'opération booléenne ET, dont les règles d'opération sont données dans la table de vérité de la figure IV.1.2.c.

X = A . B

Porte ET

A A B X= A.B 0 0 0 0 1 0 1 0 0 1 1 1

B

Figure IV.1.2.c Figure IV.1.2.d L'opération ET suit les mêmes règles que la multiplication ordinaire, mais les variables ne peuvent prendre que les valeurs "0" et "1". Dans l'opération ET la réponse est 1 si et seulement si toutes les entrées sont "1", et elle est "0" dans tous les autres cas.

16

-Logique III - Introduction à la logique 1.3. L'opérateur OU La porte OU est également appelée porte "un ou tout". Son principe est illustré sur la figure IV.1.3.a. La lampe X sera allumée si l'un ou l'autre des interrupteurs A et B est fermé, ou si l'un et l'autre sont fermés. Elle ne s'allume pas si les deux interrupteurs (A et B) sont ouverts. Toutes les combinaisons possibles des deux interrupteurs sont représentées sur la table de vérité de la figure IV.1.3.b. La sortie du circuit OU sera validée quand l'un ou l'autre, ou les deux interrupteurs d'entrées sont fermés.

X

A

B

+ -

Figure IV.1.3.a

A B X

ouvert ouvert non fermé ouvert oui ouvert fermé oui fermé fermé oui

Figure IV.1.3.b Soit deux variables logiques indépendantes, A et B. Quand on combine A et B au moyen de l'addition logique, le résultat X est exprimé par :

X = A + B Dans cette équation, le signe "+" n'indique pas une addition ordinaire, mais plutôt l'addition logique (opération OU) dont les règles sont définies dans la table de vérité ci-dessous :

Porte OU

X = A + B A A B X= A +B 0 0 0 0 1 1 1 0 1 1 1 1

B

Figure IV.1.3.c Figure IV.1.3.d En analysant cette table de vérité (Figure IV.1.3.c), nous pouvons conclure que l'opération OU donne la valeur "1" quand une variable quelconque d'entrée est à "1". En électronique numérique, une porte OU est un circuit ayant au moins deux entrées et dont la sortie est égale à la somme logique (OU) des entrées. La symbolique d'une porte OU à deux entrées est présenté en figure IV.1.3.d.

17

-Logique III - Introduction à la logique 2. Opérateurs logiques complets Les portes ET, OU et NON sont les plus fondamentales. A partir de ces portes, il est possible de constituer quatre autres portes très utiles : la porte NON ET, la porte NON OU (respectivement noté en anglais NAND et NOR). 2.1.Opérateur NON ET ( ou NAND ) Soit le symbole logique représenté sur la figure IV.2.1.a : une porte ET connectée à un inverseur. Les entrées A et B sont multipliées logiquement pour former l'expression booléenne A .B qui est ensuite inversée par la porte NON.

B

A . B

Porte ET Porte Inverseuse

X A B= . A

Figure IV.2.1.a ET NON ET

X A B= . A A B A.B X A B= . 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0

B

Porte NON ET

Figure IV.2.1.c Figure IV.2.1.b La table de vérité de la figure IV.2.1.c montre que la sortie d'une porte NON ET est exactement l'inverse de celle de la porte ET pour toutes les conditions d'entrées possibles. La figure IV.2.1.b représente le symbole logique de la porte NON ET. La fonction NON ET, traditionnellement, constitue la porte universelle des circuits numériques et la porte correspondante est très largement utilisée dans la plupart des systèmes numériques. L'opérateur NAND est un opérateur complet :

Porte NON ET Porte NON ET

X A A= =.1A

1 Opérateur NON :

18

-Logique III - Introduction à la logique

A

B

X A B A B A B= = + = +.

1

A B. X A B A B A B= = =. . . .1

A

1 Opérateur OU :

B 1

A Opérateur ET :

B 2.2. Opérateur NON OU (ou NOR) Soit le diagramme logique représenté en figure IV.2.2.a où un inverseur a été connecté à la sortie d'une porte OU. L'expression Booléenne de l'entrée de l'inverseur est A + B. L'inverseur complémente alors les termes additionnés logiquement (la notation est celle d'une barre au dessus de l'expression Booléenne initiale) ce qui donne l'expression A B+ . C'est la représentation d'une fonction NON-OU. La fonction NON-OU peut être symbolisée par une porte NON-OU présentée en figure IV.2.2.b.

A + B

Porte OU

X A B= +

B

A

Porte Inverseuse

Figure IV.2.2.a La figure IV.2.2.c représente la table de vérité correspondante qui détaille le fonctionnement de la porte NON-OU. Cette table montre que la sortie vaut "1" si et seulement si toutes les entrées valent "0". A B A+B X A B= + 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0

X A B= + A

B

Porte NON-OU Figure IV.2.2.c Figure IV.2.2.b

19

-Logique III - Introduction à la logique Montrons que l'opérateur NON-OU (ou NOR) est un opérateur complet :

X A A= + =0 A Opérateur NON :

0

X A B A B A B= + = =. .

A

Porte NON-OU

B

A 0 Opérateur ET :

0

B

A B+ X A B A B A B= + + = + = +0

0

A Opérateur OU :

B 3. Opérateurs complexes de la logique combinatoire 3.1. Opérateur OU-EXCLUSIF La porte OU-EXCLUSIF est souvent appelée la porte "un mais pas tous ". L'expression OU-EXCLUSIF est souvent abrégée en XOR. La figure IV.4.1.b représente la table de vérité de la fonction XOR. La porte XOR n'est validée que si les deux entrées comportent un nombre impair de "1" et ce quel que soit le nombre d'entrées de la porte logique. La porte XOR est un circuit logique dont la sortie est à "1" si et seulement si une et une seule des entrées est égale à "1". L'expression Booléenne correspondante à la porte XOR est la suivante :

X A B A B A B= + = ⊕. . Le symbole normalisé d'une porte XOR est représenté en figure IV.4.1.a. L'expression Booléenne écrite précédemment avec un signe ⊕ est une expression XOR simplifiée. On dit que les entrées A et B sont additionnées logiquement de manière exclusive.

X A B= ⊕ A

B

A B X A B= ⊕ 0 0 0 0 1 1 1 0 1 1 1 0

Porte OU-EXCUSIF

Figure IV.4.1.b Figure IV.4.1.a

20

-Logique III - Introduction à la logique 3.2. Opérateur Identité C'est un circuit logique dont la sortie est à "1" si et seulement si toutes les entrées sont à "0", ou toutes à "1". Cette fonction logique est le complémentaire de la fonction OU-EXCLUSIF. L'expression Booléenne est la suivante :

X A B A B= +. . Le symbole de cette fonction est représenté en figure IV.4.2.b.

A B X A B= ⊕ 0 0 1 0 1 0 1 0 0 1 1 1

X A B= ⊕ A

B

Porte IDENTITE

Figure IV.4.2.a Figure IV.4.2.b L'opérateur identité, noté I, est le complément de l'opérateur OU-EXCLUSIF. Ainsi les circuits OU-EXCLUSIF et Identité permettent de comparer 2 bits : si A = B alors X⊕ = 0 et XΙ = 1 si A ≠ B alors X⊕ = 1 et XΙ = 0

21

-Logique III - Introduction à la logique

22

A B X0 0 1 0 1 1 1 0 1 1 1 0

A B X0 0 1 0 1 0 1 0 0 1 1 0

A B X0 0 1 0 1 0 1 0 0 1 1 1

A B X0 0 0 0 1 1 1 0 1 1 1 0

A X0 1 1 0

OPERATEURS LOGIQUES COMBINATOIRES

A B X0 0 0 0 1 0 1 0 0 1 1 1

A B X 0 0 0 0 1 1 1 0 1 1 1 1

A X

B

A X

B

A

B

X A

B

X

NON OU (OR)

ET (AND)

NON-ET (NAND)

NON-OU (NOR)

OU EXCLUSIF (XOR)

IDENTITE

PROPRIETES

Commutatif Associatif Distributif

Élément neutre: "1".

Commutatif Commutatif Commutatif Associatif

X A B A B= +. . X A B A B= +. . X A B= +X A= X A B= . X A B= + X A B= . FONCTION

SYMBOLE

TABLE DE

VERITE

A X

B

A X

B

A X

Commutatif Associatif Distributif

Élément neutre: "0".

-Logique IV - Opérateurs Logiques combinatoires

4. Propriétés des opérateurs logiques 4.1. Opérateurs OU, ET 1) Commutatifs :

a b c a c b c b ab c a c b c b a

+ + = + + = + += = a. . . . . .

2) Associatifs : Opérateur OU :

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

a b c

a b

c

a+ba+b+c

a

bc

b+c a+b+c

Opérateur ET :

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

a

bc

a.(b.c)a

b

c

(a.b).c

c C a a.b.c b

3) Distributifs l'un par rapport à l'autre :

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

ab

ca

a.b

a.c

a.b+a.ca

c b

b+c

a.(b+c)

23

-Logique IV - Opérateurs Logiques combinatoires

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

ab

ca

a+b

a+c

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

c b

b.c

a+(b.c) Vérifions que l'opérateur OU est distributif par rapport à l'opérateur ET :

a b c bc a+bc a+b a+c (a+b)(a+c)

0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1

Démonstration algébrique :

( )( )a b a c aa ac ba bc+ + = + + +

= a + ac + ab + bc = a(1 + b + c) + bcor (1 + b + c) = 1 et a.1 = a

(a + b)(a + c) = a + bc

4) Éléments neutres :

0 est élément neutre pour OU : a + 0 = a

1 est élément neutre pour ET : a . 1 = a

4.2. Autres Opérateurs

OU exclusif est commutatif et associatif

Les opérateurs NAND (ET) et NOR (OU) sont commutatifs mais non associatifs

24

Logique VI - Multiplexage - Démultiplexage

V - Fonctions logiques

1. Théorèmes de De Morgan Ces théorèmes ne seront pas démontrés dans ce cours mais peuvent être vérifiés par les tables de vérité. Le complément d'une somme logique de plusieurs termes est égal au produit logique des compléments de chacun des termes.

a b a+ = . b

De même le complément d'un produit logique de plusieurs termes est égal à la somme logique des compléments de chacun des termes.

a a. b + b=

Ceci se généralise pour un nombre n de variables : ( .....) ....

( . . . ......) ....

a b c d a

a a

+ + + + =

=

. b . c . d

b c d + b + c + d

L'utilité de ces théorèmes est la simplification des fonctions logiques. Pour des fonctions logiques compliquées, ces théorèmes se révèlent d'un emploi fastidieux et on recourt à une autre méthode, celle du tableau de KARNAUGH, qui sera vue par la suite. 2. Représentations des fonctions logiques 2.1. Rappels Une fonction logique (appelée encore booléenne) est une combinaison de variables logiques reliées entre elles par les opérations (+) et ( . ) (addition et produit logique). Exemple : F a .= b + c . d + b - Les seules opérations autorisées sur ces variables sont ET, OU, NON. - Une telle fonction ne peut prendre que les valeurs "0" et "1".

25

Logique VI - Multiplexage - Démultiplexage 2.2. Représentation canonique d'une fonction Somme canonique : Une fonction est sous forme SOMME CANONIQUE si toutes les variables (sous la forme vraie ou inverse a a ) figurent dans chaque terme une fois et une seule, et que dans chacun des termes elles sont toutes reliées entre elles par l'opération ET (.). Exemple : F a b= + c a . b . c . d. . F n'est pas sous forme canonique car la variable (ou d d ) ne figure pas dans le 1° terme. Produit canonique : Une fonction est sous forme de PRODUIT CANONIQUE si toutes les variables (sous la forme vraie ou inverse a a ) figurent dans chaque terme une fois et une seule, et que dans chacun des facteurs elles sont toutes reliées entre elles par l'opération OU (+). Exemple : F fonction de quatre variables a , b, c, d F c d= + +(a + b . (a + b + c + d)) Mise sous forme de produit canonique : F fonction de 2 variables et b a F a . b

F a b b

car a b a b b a a

= +

= + +

+ = + = +

( a

. (a + b . ( a

. (a + b

)

( ) ) )

( ) ) . 0 =

D'après les propriétés des somme et produit logiques, on obtient alors F sous forme de produit canonique. La somme et le produit canonique sont parfois appelés "FORMES NORMALES" de la fonction. Les formes CANONIQUES ou NORMALES sont fondamentales car elles sont uniques pour une fonction donnée. La forme canonique n'est pas la forme la plus simple d'une fonction, mais elle seule permettra une simplification systématique par élimination des termes superflus.

26

Logique VI - Multiplexage - Démultiplexage 3. Méthode du diagramme de KARNAUGH Cette méthode est très importante car elle permet de simplifier une fonction logique, ce qui permet, lors de la réalisation pratique de cette fonction, de minimiser le nombre de composants à employer. 3.1. Diagramme de KARNAUGH Le diagramme de KARNAUGH est une autre représentation d'une fonction logique définie par sa table de vérité. Cette représentation présente des caractéristiques intéressantes. * Fonction à une variable = F a=

a

1 0

0 1a F 0 1 1 0

Table de vérité Diagramme de KARNAUGH À chaque ligne de la table de vérité

figure une des valeurs possibles de la variable et la valeur correspondante de la fonction.

Dans chaque carré du diagramme de KARNAUGH on porte la valeur de la fonction correspondant à la valeur de la variable.

* Fonction à 2 variables = F a b= + a b F=a+b 0 0 0 0 1 1 1 0 1 1 1 1

1

1

ab 0

01 0

2 0

1 3 1 1

Table de vérité Diagramme de KARNAUGH La case n°0 correspond à la combinaison 00 représentation binaire de a b. La case n°1 correspond à la combinaison 01 représentation binaire de a b. La case n°2 correspond à la combinaison 10 représentation binaire de a b. La case n°3 correspond à la combinaison 11 représentation binaire de a b.

27

Logique VI - Multiplexage - Démultiplexage * Fonction à 3 variables

10

11

00

01

0 1 b c

a

Carré correspondant à 001 représentation binaire de

a b c. .

- Remarquer l'ordre des variables b et c 00/01/11/10 qui correspond à un code Gray sur 2 bits. - En allant de haut en bas, entre 2 cases successives seule 1 variable change (soit b, soit c): 00 01 11 10 01 11 10 00 * Fonction à 4 variables

2 6 10

3 7 11

1 5 9

0 4 12

14

15

13

8

10 11 01 00

10

11

01

00

c d

a b Le numéro attribué à chaque case correspond à la traduction en décimal du nombre binaire qui représente la combinaison des variables correspondant à cette case. Cette valeur est communément appelée minterme.

28

Logique VI - Multiplexage - Démultiplexage Remarquer à nouveau l'ordre des variables ab et cd : en allant de haut en bas ou de gauche à droite, entre 2 cases adjacentes, seule 1 variable (a ou b, c ou d) change. (Les indices de lignes et de colonnes du tableau suivent le code Gray binaire). Ceci nous permet de donner la définition des cases dites adjacentes dans un tableau de KARNAUGH :

Deux cases sont dites adjacentes si l'on passe de l'une à l'autre par changement d'une seule variable.

3.2. Simplification des fonctions à l'aide du diagramme de Karnaugh Prenons l'exemple de la fonction F suivante : F a b c d a b c d= +. . . . . . On peut simplifier F en mettant en facteur le terme b c d. . . Ainsi on obtient l'expression suivante : F b c d a a b c d= + =. . .( ) . . Cette simplification se fait de façon assez simple car l'expression n'est pas très compliquée. On peut obtenir le même résultat en employant la méthode des regroupements des 1 dans le tableau de KARNAUGH.

0 0 0 0

0 0 0 0

0 0 0 0

1 1 0 0

2 6 10

3 7 11

1 5 9

0 4 12

14

15

13

8

10 11 01 00

10

11

01

00

c d

a b Ainsi on voit que lorsque l’on regroupe les 1 du tableau ci-dessus on obtient la même expression que celle trouvée par la factorisation.

29

Logique VI - Multiplexage - Démultiplexage C'est sur ce principe que repose la méthode de KARNAUGH : la simplification des fonctions logiques est obtenue par le regroupement des 1 figurant dans les cases adjacentes. Si l'expression d'une fonction, dans un diagramme de KARNAUGH, entraîne la mise en place de 1 dans deux cases adjacentes (c'est à dire dans 2 cases pour lesquelles une seule variable change d'état ) cette variable peut être omise car la fonction reste vraie quel que soit l'état de cette variable. De même que nous avons des regroupements de 2 cases, nous pourrons avoir des groupes adjacents de 4 cases, de 8 cases, ... de 2n cases. Toute autre forme de regroupement est interdite.

dbaF1 ..= F b c d2 = . . F a c3 = . F b d4 = . F b c5 = . F d6 =

F d7 = F a

F a

8

8

=

= F9 1=

abcd

00

01

11

10

00 01 11 10ab ab

cd 00

01

11

10

1101 1000cd 00

1 101

1 111

10 1 1

00 01 11 10

1

1

11

1 1 1 1100 1

0 0

00

0 0

11 11 111 1 1 1

1 1 11 111 1 1 1

111 1 11

ab cd

00

01

11

10

00 01 11 10ab

cd 00

01

11

10

00 01 11 10ab

cd 00

01

11

10

00 01 11 10

1 1 111 1

11

111 1 1 1

ab cd

00

01

11

10

00 01 11 10ab

cd 00

01

11

10

00 01 11 10ab

cd 00

01

11

10

00 01 11 10

30

Logique VI - Multiplexage - Démultiplexage Remarque : Si au lieu de faire des groupements de 1, on fait des groupements de 0 on obtient F (voir F8). Ceci peut être très utile lorsque le tableau de Karnaugh contient plus de 0 que de 1. Ainsi la fonction F sera plus facile à déterminer et l’on déduira ensuite la fonction F. Exemples de plusieurs groupes :

1 0 1 0

1 0 1 1

1 0 1 1

0 1 0 1

cd ab

00

01

11

10

00 01 11 10

F a b d b d a b a d= + + +. . . . . (1) (2) (3) (4)

Lorsque le tableau de KARNAUGH est rempli, il faut chercher à faire des groupements adjacents avec un maximum de cases. On voit sur cet exemple que des 1 peuvent appartenir à plusieurs regroupements. L'expression logique de la fonction est donnée par la somme des monômes représentant ces groupements. Remarque 1 : Pour pouvoir appliquer cette méthode, il est nécessaire de mettre la fonction logique sous sa forme normale (somme canonique). Remarque 2 : S'il existe des états indéterminés en entrée, on peut leur donner la valeur 0 ou 1 selon les cas, ce qui permet une simplification maximale de la fonction. Dans le tableau on marquera ces cas indéterminés par le symbole Ø. On cherchera ensuite à inclure certains de ces symboles dans les regroupements de 1 si besoin est. Remarque 3 : Les tableaux de Karnaugh ne peuvent être utilisés que lorsqu’on travaille avec un nombre de variables inférieur à 6. Au-delà, d’autres méthodes sont employées qui ne seront pas explicitées ici. 3.3. Conclusion

Méthode de conception de circuits à logique combinatoire : 1° étape : description sous forme logique du problème à résoudre (description des entrées-sorties).

31

Logique VI - Multiplexage - Démultiplexage 2° étape : génération des expressions booléennes correspondant aux fonctions logiques désirées, connues par les valeurs d'entrée et les valeurs de sortie des variables. 3° étape : simplification de ces expressions pour l'obtention du circuit le plus simple. 4° étape : éventuellement, recherche d'expressions permettant de réaliser les circuits correspondants avec un jeu donné d'opérateurs. Remarques La 1° étape se résume dans la table de vérité qui donne l'état de la ou des sorties en fonction des entrées. À partir de la table de vérité on obtient les expressions logiques, soit directement, soit avec le tableau de KARNAUGH.

L'application des théorèmes de DE MORGAN aux expressions simplifiées permet d'obtenir les circuits correspondant à des opérateurs donnés.

32

Logique VI - Multiplexage - Démultiplexage

VI - Multiplexage - Démultiplexage

1. Les multiplexeurs Le multiplexeur est un des circuits les plus utilisés en logique combinatoire. On l’appelle également sélecteur de données car il sert à choisir une variable logique parmi 2n. Validation E0

2n voies vers 1

E1 E2

entrées . . . . . . . .

.

.

S sortie

E2

n-1

............... An-1 A1 A0

adresse Equation : S = Ei si An-1......A1A0 = i • Un multiplexeur permet de sélectionner une donnée de 1 bit parmi 2n données de 1 bit. • Chaque entrée est repérée par une adresse codée sur n bits. • L’entrée validation permet de valider ou d’inhiber le boitier. Elle est souvent active à 0. Exemple : multiplexeur à 4 entrées.

Val

Mux 4 ∧ 1

Table de vérité : E0 Val A1 A0 S 1 X X 0 0 0 0 E0

0 0 1 E1

0 1 0 E2

0 1 1 E3

E1

S E2

E3

A1 A0

33

Logique VI - Multiplexage - Démultiplexage Remarque : Il existe des multiplexeurs de 2, 4, 8 ou 16 entrées. Réalisation d’une fonction logique quelconque : Les multiplexeurs sont très importants car ils permettent de réaliser n’importe quelle fonction logique avec un seul boîtier logique ou éventuellement 2 boîtiers. L’équation logique d’un multiplexeur à 4 entrées peut s’exprimer de la manière suivante : Y A A E A A E A A E A A E= + + +1 0 0 1 0 1 1 0 2 1 0 3 Si on souhaite réaliser la fonction : F ABC ABC AB= + + on peut identifier les 2 relations de la manière suivante : A1 = A A0 = B E0 = C E1 = C E2 = 0 E3 = 1 On construit donc la fonction F avec 1 multiplexeur à 4 entrées et 1 inverseur :

Mux 4 ∧ 1

+ 5V

C F Exemple : F(D, C, B, A) = 1 pour 0, 2, 4, 8, 11, 15 A B

= 0 pour 1, 6, 7, 9, 12, 14 On choisit arbitrairement les 3 bits de poids faibles A, B et C comme bits d’adressage du multiplexeur. Pour chaque combinaison CBA on pourra sélectionner 2 combinaisons de 4 variables qui sont : DCBA et D CBA. pour CBA = 000 on sélectionne les combinaisons 0 (D = 0) et 8 (D = 1) CBA = 001 on sélectionne les combinaisons 1 (D = 0) et 9 (D = 1) CBA = n on sélectionne les combinaisons n (D = 0) et n+8 (D = 1) A chaque adresse on va donc sélectionner une entrée du multiplexeur. La valeur à donner à cette entrée dépend de la variable D.

34

Logique VI - Multiplexage - Démultiplexage On peut construire le tableau suivant :

adresse CBA

combinaisons DCBA

DF DF entrée Ei

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

On déduit de ce tableau le schéma de réalisation de la fonction F avec un multiplexeur à 8 entrées et un inverseur :

Mux 8 → 1

AAA2 1 0

67

543210

D +5V

F C B A Remarque : Il est possible de réaliser n’importe quelle fonction logique de n+1 variables avec un multiplexeur à 2n entrées (avec n < 5) et éventuellement un inverseur. 2. Les décodeurs / démultiplexeurs Le démultiplexeur suit le principe inverse du multiplexeur : l’entrée unique est dirigée sur la sortie correspondant à l’adresse appliquée. Exemple : démultiplexeur à 4 voies.

35

Logique VI - Multiplexage - Démultiplexage

Val Val

Démux 1 ∧ 4

Démux 1 ∧ 4

Table de vérité : S0S0

S1S1 Val A1 A0 S0 S1 S2 S3

1 X X 0 0 0 0 0 0 0 E 0 0 0 0 0 1 0 E 0 0 0 1 0 0 0 E 0 0 1 1 0 0 0 E

E E S2S2

S3S3

A1A1 A0A0

Le démultiplexeur correspond surtout à une définition théorique. En pratique on utilise plutôt les décodeurs qui suivent le même principe que les démultiplexeurs. Pour les décodeurs, la sortie activée prend la valeur 0 tandis que les sorties non activées sont à l’état 1. Exemple : décodeur à 4 voies.

Val

Démux 1 ∧ 4

Table de vérité :

S0 Val A1 A0 S0 S1 S2 S3

1 X X 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0

S1A1

S2A0

S3

Réalisation d’une fonction logique quelconque : Comme pour les multiplexeurs, il est possible de réaliser n’importe quelle fonction logique avec un décodeur et des portes NAND. Exemple : on veut réaliser la fonction logique F CBA CBA CBA CBA= + + + . on peut écrire cette fonction de la façon suivante : F = m1 + m3 + m4 + m7 où les mi représentent les mintermes des combinaisons d’entrées qui donnent F = 1. Avec un décodeur à 3 entrées d’adressage on peut sélectionner 7 sorties à l’état bas. Pour chaque combinaison d’entrée, une seule sortie passe à 0, les autres restent à 1. La fonction est donc réalisée si on relie les sorties désirées à une porte NAND.

36

Logique VI - Multiplexage - Démultiplexage F = m1 + m3 + m4 + m7 = m m m m1 3 4 7. . . = S S S S1 3 4 7. . . Val

Décodeur 1 ∧ 8

S0 S1

F

C S2 B S3 A S4

S6 S7 Ainsi, lorsque l’un des mintermes de mise à 1 de la fonction est fourni en combinaison d’entrée du décodeur, la sortie correspondante passe à 0 (toutes les autres sont à 1) et on obtient un 1 en sortie de la NAND. Si un autre minterme est fourni en entrée, la fonction reste à 0 car la sortie correspondante n’est pas reliée à la NAND.

37

Logique VII - Comparateurs - Additionneurs

VII - Comparateurs - Additionneurs 1. Les comparateurs Ces circuits donnent aux machines automatiques la possibilité de prendre des décisions en fonction de la réponse donnée à une question spécifique. Il existe 2 types de comparateur : Le code considéré coïncide avec un code donné ou il ne coïncide pas : travail en identification. Le code considéré est supérieur ou inférieur à un code donné : travail en comparaison. 1.1. Circuits d’identification Pour comparer 2 nombres codés a et b, le circuit identificateur aura pour équation : Table de vérité :

a b S 0 0 1 0 1 0 1 0 0 1 1 1

S ab ab= +

Cette fonction correspond à l’inverse de a ⊕ b. Elle peut donc également s’écrire de la façon suivante : (a = b) = a b ab ab⊕ = + 1.2. Circuits de comparaison Pour comparer 2 nombres a et b on peut utiliser 2 inégalités différentes : S = (a > b) = ab S’ = (a < b) = ab La fonction différent peut donc s’écrire : F = S + S’ = ab + ab = a ⊕ b 1.3. Un boitier comparateur : le 7485 Le 7485 est un comparateur de 2 mots A et B de 4 bits. Les sorties indiquent si A<B, A=B ou A>B. Dans le schéma suivant, les bits A3 et B3 sont les bits de poids forts et les bits A0 et B0 les bits de poids faibles.

38

Logique VII - Comparateurs - Additionneurs B3 B2 B1 B0 A3 A2 A1 A0

7485

(A>B)in(A>B)out (A=B)out (A=B)in (A<B)out (A<B)in Les sorties ( A<B, A=B, A>B )out indiquent l’état de la comparaison en fonction des entrées Ai, Bi et ( A<B, A=B, A>B )in. Les entrées ( A<B, A=B, A>B )in apportent des informations résultant de comparaisons effectuées sur des tranches de bits moins significatives. Ceci est très utile pour la mise en cascade de comparateurs afin de comparer des mots de plus de 4 bits. Exemple : comparaison de 2 mots de 4 bits.

0 1 1 1 1 0 1 0

7485

1 0 0 1

0 0 Pour une comparaison sur 4 bits, on ne considère pas le résultat sur des bits inférieurs. Pour cela on met donc (A=B)in = 1. On considère en fait que tout ce qui est antérieur aux bits que l’on compare est égal et par conséquent non significatif pour une comparaison.

On peut définir les équations de sortie de la manière suivante : (A=B)out = (A3=B3).(A2=B2).(A1=B1).(A0=B0).(A=B)in

(A>B)out = (A3>B3) + (A3=B3).(A2>B2) + (A3=B3).(A2=B2).(A1>B1) + (A3=B3).(A2=B2).(A1=B1).(A0>B0) + (A3=B3).(A2=B2).(A1=B1).(A0=B0).(A>B)in

(A<B)out = idem en remplaçant > par < Mise en cascade :

1234A>B A=B A<B

> = <

A3-0

> = <

> = <

> = <

> = <

> = <

> = <

> = <

B15-12 A15-12 A11-8B11-8 B7-4 A7-4 B3-0

0 1 0

39

Logique VII - Comparateurs - Additionneurs Remarques : 1) On ne peut comparer que les amplitudes par cette méthode. Si on utilise des nombres signés, le bit de signe doit être traité séparément. 2) Les temps de propagation du signal augmentent rapidement avec le nombre de bits à comparer lorsque l’on met les boitiers en cascade. 2. Les additionneurs 2.1. Additionneur binaire élémentaire R S Règles d’addition binaire : 0 + 0 = 0 0 0 + 1 = 0 1 1 + 0 = 0 1 1 + 1 = 1 0 Le but est de réaliser un circuit effectuant la somme de 2 digits binaires en fournissant le digit somme S et le digit report R. Table de vérité :

a b R S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

R = ab S ab ab a b= + = ⊕

a

S Réalisation : 1) b

R 2) autre solution avec des NAND

(1) b

a S

R

40

Logique VII - Comparateurs - Additionneurs Remarques : - La porte (1) permet de minimiser le nombre de cellules NAND nécessaires à la réalisation de ces fonctions. - Ce système est un demi additionneur car il ne tient pas compte de la retenue de l’étape précédente. 2.2. Additionneur binaire complet On tient compte dans ce cas de la retenue. Exemple :

R R R R R R5 4 3 2 1 0

1 0 0 1 01 0 0 1 1

1 0 0 1 0 1

1 0 0 1 0 0

+

Rn (digit retenue) a b S

On doit construire la fonction ayant a, b, Rn en entrées et S, Rn+1 en sortie.

Rn a b Rn+1 S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1

a b

RnRn+1

S

Diagrammes de Karnaugh :

Rn ab

0

1

00 01 11 10

1

1 1 1

Rn+1Rn a

b 0

1

00 01 11 10

1

1 1

1

S

Rn+1 = aRn + bRn + ab S = R ab ab R ab abn n( ) ( )+ + + Rn+1 = Rn (a + b) + ab S = R a b R a bn n( ) ( )⊕ + ⊕ S = Rn a b⊕ ⊕( )

41

Logique VII - Comparateurs - Additionneurs Remarque : Une analyse intuitive du fonctionnement de cet additionneur permet de minimiser le nombre de composants et par suite d’obtenir un circuit à réponse rapide. En effet pour réaliser une fonction logique particulière, l’association de portes logiques la plus simple ne correspond pas toujours au schéma logique le plus simple. Ainsi on peut simplifier la fonction Rn+1 de la manière suivante : Rn+1 = R ab R b R ab R abn n n n+ + +a Rn+1 = ab R R R ab abn n n( ) (+ + + ) Rn+1 = ab R a bn+ ⊕( ) Cette réalisation est donc préférable car elle utilise le terme (a⊕b) qui est déjà construit pour réaliser la fonction S. Réalisation :

a b

S

Rn+1

Rn

Ce schéma justifie l’appellation de “demi-additionneur” employée pour désigner l’additionneur binaire élémentaire. On remarque en effet qu’il faut 2 additionneurs élémentaires pour former un additionneur complet. 2.3. Modes d’utilisation des additionneurs On peut distinguer 2 types de montage pour additionner des mots de n bits : le montage série et le montage parallèle. Montage série : Dans ce cas on utilise un seul additionneur complet qui effectue l’addition de chaque bit amené en série. Le résultat de l’addition sur chaque bit est ensuite mémorisé dans des registres. La retenue quant à elle est directement rebouclée sur l’additionneur. Il faudra donc initialiser l’entrée Rn avec un 0 pour l’addition du premier bit.

42

Logique VII - Comparateurs - Additionneurs

An Bn

RnRn+1

S

Mots séries

Mémorisation

Montage parallèle : Dans ce cas on utilise autant d’additionneurs complets qu’il y a de bits dans les 2 mots à additionner. On peut donc additionner des mots en parallèle. An Bn A1 B1 A0 B0

RnRn+1 R1R2 R0 = 0 Remarque :

Sn S1 S0

Le fonctionnement est plus rapide pour le montage en parallèle mais il nécessite également plus de matériel.

43

Logique VIII - Les bistables

VIII - Les bistables

1. Rappels sur la logique séquentielle Jusqu’à présent nous n’avons étudié que des circuits logiques combinatoires, c’est à dire dont la réponse ne dépend pas du temps. Nous allons maintenant nous intéresser aux circuits séquentiels et pour cela définir quelques termes relatifs à ce type de logique. • Circuit combinatoire : la sortie ne dépend pas du temps. Une combinaison d’entrée donne

toujours la même réponse en sortie du circuit.

e1 e2 e3

en

Fc S = Fc (e1, e2, e3, ......., en)

• Circuit séquentiel : la sortie dépend des entrées et de l’état antérieur de la sortie du circuit. Pour une même combinaison d’entrée on peut avoir des sorties différentes à des instants différents.

e1(t) e2(t) e3(t) en(t)

S (t)= Fs (e1(t), e2(t), e3(t), ......., en(t), S(t-1)) Fs

• Circuit séquentiel asynchrone : les entrées peuvent varier à des instants quelconques et feront évoluer directement la sortie du circuit.

• Circuit séquentiel synchrone : le changement d’état de la sortie ne peut se produire qu’à des

instants déterminés par une entrée horloge H.

S (t)= Fs (H(t), e1(t), e2(t), ......., en(t), S(t-1)) Fs

H(t) e1(t) e2(t) en(t)

• Chronogramme : c’est un schéma qui représente les valeurs successives (0 ou 1) des variables logiques en fonction du temps.

S

temps

44

Logique VIII - Les bistables 2. Les bistables asynchrones 2.1. Le bistable RS C’est le circuit le plus simple. Son rôle consiste à noter la présence d’une information fugitive et à la conserver lorsque l’information disparaît.

RSQ R

QS

L’entrée R correspond à l’entrée reset ( mise à 0 de la sortie Q). L’entrée S correspond à l’entrée set (mise à 1 de la sortie Q). La sortie Q est le complément de la sortie Q. Il existe 2 manières de réaliser cette fonction. Méthode 1 : Réalisation avec des NOR.

S

R Q

Q Cas 1 : Si R = S = 0 et Q = 0 On a alors Q = 1 ce qui implique Q = 0 Le système est stable et les sorties sont complémentaires. Si on prend Q = 1 comme condition initiale on obtient Q = 1 et Q = 0 Cas 2 : Si R = 0 et S = 1 On a alors Q = 0 (car S = 1) ce qui implique Q = 1 Le système est stable et les sorties sont complémentaires. Cas 3 : Si R = 1 et S = 0 On a alors Q = 0 (car R = 1) ce qui implique Q = 1 Le système est stable et les sorties sont complémentaires. Cas 4 : Si R = 1 et S = 1 On a alors Q = 0 (car S = 1) et Q = 0 (car R = 1) Le système est stable mais les sorties ne sont pas complémentaires.

45

Logique VIII - Les bistables On peut donc déduire de l’étude précédente la table de vérité de la bascule RS :

R S Q Q 0 0 Q0 Q0 0 1 1 0 1 0 0 1 1 1

Le cas où l’on tente de forcer la bascule en set et en reset en même temps est considéré comme étant interdit bien que le système soit stable. En effet, les sorties n’étant pas complémentées, cela n’a aucune utilité pratique. En pratique, il faudra donc mettre en œuvre un dispositif qui empêche l’activation simultanée du set et du reset. Méthode 2 : Réalisation avec des NAND. Remarque : pour ce type de réalisation, les entrées set et reset sont actives à 0 contrairement à la méthode précédente. En faisant la même étude que précédemment on peut déduire la table de vérité suivante :

S R

Q Q 0 0 0 1 1 0 1 0 0 1

1

1

Q0 Q0

S

R

Q

Q S

RSQ

Q

R

On retrouve le cas interdit lorsque les entrées set et reset sont activées en même temps. Exemple : Réponse d’une bascule RS .

S

R

Q

temps temps

temps

46

Logique VIII - Les bistables 2.2. Le bistable JK Ce bistable est réalisé à partir d’un bistable RS pour lequel on définit R = KQ et S = J Q

R

S

RS

Q K J Q On peut élaborer la table de vérité de ce bistable à partir de celle du bistable RS. Cas 1 : Si Jn = Kn , on obtient Rn = Sn = 0 d’où Qn+1 = QnCas 2 : Si Jn = 0 et Kn = 1, on obtient Rn = Qn et Sn = 0 pour Qn = 0 on a Qn+1 = 0 pour Qn = 1 on a Qn+1 = 0 Cas 3 : Si Jn = 1 et Kn = 0, on obtient Rn = 0 et Sn = Qn pour Qn = 0 on a Qn+1 = 1 pour Qn = 1 on a Qn+1 = 1 Cas 4 : Si Jn = Kn = 1, on obtient Rn = Qn et Sn = Qn pour Qn = 0 on a Qn+1 = 1 pour Qn = 1 on a Qn+1 = 0 La table de vérité du bistable JK est la suivante :

J

K

Q Q

0

0

Q0 Q0 0 1 0 1 1 0 1 0

1

1 Q0

Q0

Remarque : A noter que pour ce bistable il n’y a plus de cas interdit. 3. Les bistables synchrones 3.1. Principe Les entrées des bascules sont validées par un signal auxiliaire appelé signal d’horloge H. Lorsque H =0 , le circuit est figé, c’est à dire qu’il n’y a pas de changement d’état possible en sortie. Lorsque H = 1 , le circuit fonctionne en mode asynchrone. 3.2. La bascule RS synchrone

47

Logique VIII - Les bistables Le schéma de principe est le suivant : Table de vérité :

R Q

H

QS

H R S Q Q 0 Ø Ø Q0 Q0 1 0 0 Q0 Q0 1 0 1 1 0 1 1 0 0 1 1 1 1

Réponse d’une bascule RS et d’une bascule RS synchrone :

RS

RS(t)

R

S

H

La bascule RS a une réaction instantanée tandis que la bascule RS synchrone a une réaction conditionnée par H. 3.3. La bascule D C’est un bistable avec une seule entrée D. Il est obtenu à partir d’un bistable RS pour lequel on a R = S = D. Dans ce cas la combinaison interdite R = S = 1 est impossible.

48

Logique VIII - Les bistables

Q

QD

H

D

RS

H

S

R D Q

Q Table de vérité :

Dn Qn+1

0 0 1 1

Ce bistable est utilisé pour réaliser des registres dans lesquels on peut stocker des informations sans les modifier à chaque coup d’horloge. 3.4. La bascule JK synchrone

R

S

RSJ

H

K

Q

Q Table de vérité :

H

J

K

Q Q

0

Ø

Ø

Q0 Q0

1

0

0

Q0 Q0 1 0 1 0 1 1 1 0 1 0

1

1

1 Q0

Q0

3.5. La bascule T On relie entre elles les 2 entrées d’une bascule JK pour former une entrée unique T.

49

Logique VIII - Les bistables

H

Q

QT

T

JK K

J

H

T Q

Q Table de vérité :

Tn Qn+1

0 Qn

1

Qn

Remarque : si l’on considère une bascule T dont le basculement a lieu sur le front montant de l’horloge et pour laquelle T = 1, on obtient alors un diviseur de fréquence par 2.

Q

H 4. Les entrées de forçage Les bascules peuvent également être munies d’entrées supplémentaires asynchrones et prioritaires. Ces entrées déterminent l’état de la sortie Q quels que soient les états des entrées synchrones et de l’horloge. L’entrée “Clear”, notée C, permet de forcer Q à 0. L’entrée “Preset”, notée P, permet de forcer Q à 1. Ces entrées sont dans la plupart des cas actives à 0.

C P Q Q 0 0 Combinaison interdite 0 1 0 1 1 0 1 0 1 1 Fonctionnement de la bascule en

synchrone

50

Logique VIII - Les bistables 5. Les modes de basculement des bistables 5.1. Le mode Latch L’information est transférée lorsque H passe à 1. La sortie Q peut varier selon l’état des entrées tout le temps que H est égale à 1. Exemple : pour la bascule D ∆t

t0

H D Q Remarque : Le problème avec ce mode de basculement est que l’on ne peut pas enregistrer une information à un instant t0. La sortie Q conserve en effet la valeur de D à l’instant to+∆t. 5.2. Le mode Edge Triggered Pour enregistrer une valeur d’entrée à un instant t0, on prend en compte le changement de la bascule sur un front d’horloge. Pour un front montant on a un “positive edge triggered” et pour un front descendant on a un “negative edge triggered”. L’information est conservée jusqu’au prochain front d’horloge. Exemple : pour un "positive edge triggered"

D

Q

H 5.3. Le mode Pulse Triggered Dans ce mode, les informations doivent rester stables tant que H est à l’état haut. L’information est prise en compte sur le front montant de l’horloge mais elle est transférée en sortie sur son front descendant. Ce genre de dispositif porte le nom de “maître-esclave”.

51

Logique VIII - Les bistables Exemple : pour un bistable JK

J

K

Q

H 5.4. Le mode Edge Triggered with Data Lock-out Identique au mode précédent à part que les entrées peuvent varier pendant que l’horloge se trouve à l’état haut. Exemple : pour une bascule JK

J

K

Q

H

6. Table de transition des bistables Cette table indique quelles sont les entrées à imposer à un bistable pour obtenir une variation donnée de la sortie. Cette table sera très utile pour comprendre et réaliser des registres à décalage et des compteurs.

Transition désirée Commandes à appliquer

Qn → Qn+1 R S D J K T

0 → 0 Ø 0 0 0 Ø 0 0 → 1 0 1 1 1 Ø 1 1 → 0 1 0 0 Ø 1 1 1 → 1 0 Ø 1 Ø 0 0

52

Logique IX - Les registres à décalage

IX - Les registres à décalage

1. Définition Un registre à décalage sert à mémoriser une information de n bits. Il est donc nécessairement constitué de n bascules. Le bit de rang i est transmis à la bascule de rang i+1 dans le cas d’un décalage à droite. On utilise des bascules synchrones afin que le décalage se fasse en même temps pour chacune d’elles avec le même signal d’horloge.

La méthode la plus simple pour réaliser un registre à décalage est d’utiliser des bascules D pour lesquelles on retrouve en sortie le signal fourni à l’entrée et ceci à chaque coup d’horloge. Schéma de réalisation avec des bascules D : Q1 Q2 QiQi-1

D Q1

Q1 ( 1 )

a0D Q2

Q2

( 2 ) ( i ) Qi

QiD

H

On peut également réaliser des registres à décalage avec les autres bascules. Pour cela il suffit de transformer les bascules afin qu’elles réalisent la même fonction que la bascule D. Schéma de réalisation avec des bascules RS : Sur la bascule i on applique le signal Qi-1 en entrée S et son complément en entrée R. Q1 Q2

R

S Q1

Q1 ( 1 )

R

S Q2

Q2

( 2 )

a0

H Schéma de réalisation avec des bascules JK : Sur la bascule i on applique le signal Qi-1 en entrée J et son complément en entrée K.

Q1 Q2

K

J Q1

Q1 ( 1 )

K

J Q2

Q2

( 2 )

a0 H

53

Logique IX - Les registres à décalage Pour charger initialement ces registres avec le nombre a3a2a1a0 (où a0 est le poids le plus faible), on peut appliquer successivement a0, a1, a2 puis a3 sur l’entrée a0 au rythme du signal H : on parle alors de chargement série. 2. Particularités des registres à décalage On peut également réaliser des décalages à gauche. Pour cela on transmet le bit de rang i à la bascule de rang i -1. Schéma de réalisation avec des bascules D :

Le mot à décaler est introduit en série dans les registres par l’entrée a0 au rythme du signal d’horloge. Autres fonctions du décalage : La fonction décalage avec introduction de 0 peut être utilisée pour réaliser des multiplications par 2 ou des divisions par 2 selon que l’on décale à droite ou à gauche. Exemples : Décalage à gauche = multiplication par 2

0 0 0 1 1

0 0 1 1 0

0 1 1 0 0 Décalage à droite = division par 2

1 0 1 0 0

0 1 0 1 0

0 0 1 0 1

D Q1

Q1 ( 1 )

D Q2

Q2

( 2 )

D Qi

Qi

( i )

Q2

a0

QiQ1

H

54

Logique IX - Les registres à décalage 3. Conversion série-parallèle L’utilisation principale des registres à décalage est la conversion série-parallèle ou parallèle-série. Effectivement une information est représentée sous forme numérique par un nombre de n bits qui sont traités simultanément (en parallèle) dans un équipement. Par contre, on ne peut pas transmettre ces n bits en même temps sur une seule ligne : ils seront donc transmis les uns à la suite des autres, c’est à dire en série. La conversion série-parallèle est facile à réaliser avec les schémas proposés dans la partie 1 de ce chapitre. Pour un mot de n bits, il faudra attendre n coups d’horloge pour lire le mot en parallèle en sortie des n bascules. Pour la conversion parallèle-série, il faudra par contre effectuer un chargement en parallèle du mot dans les bascules. On décale ensuite progressivement les éléments binaires à l’intérieur du registre pour lire le mot en série en sortie de la dernière bascule. Exemple : réalisation d’une conversion parallèle-série avec des bascules JK.

K

J Q0

K

J Q1

K

J Q2

K

J Q3

Q3

H

Validation

a0a1a2a3

Q2Q1Q0

Si Validation = 1 : On a J0 = a3 J1 = a2 J2 = a1 J3 = a0

K0 = a3 K1 = a2 K2 = a1 K3 = a0 D’où Q0 = a3 Q1 = a2 Q2 = a1 Q3 = a0

On obtient donc un chargement en parallèle dans les bascules. Si Validation = 0 :

Les entrées an n’interviennent plus dans ce cas. on a J0 = 0 J1 = Q0(n) J2 = Q1(n) J3 = Q2(n) K0 = 1 K1 = Q n0( ) K2 = Q n1( ) K3 = Q n2( ) D’où Q0(n+1) = 0 Q1(n+1) = Q0(n) Q2(n+1) = Q1(n) Q3(n+1) = Q2(n) On a un décalage vers la droite avec introduction d’un 0 à gauche. La sortie Q3 contient maintenant le bit suivant du mot parallèle.

55

-Logique V - Fonctions Logiques

X - Les Compteurs

1. Compteurs asynchrones On souhaite réaliser un compteur modulo 6 avec des bascules JK déclenchées sur front montant de l’horloge. Ceci peut être réalisé avec un compteur asynchrone car le cycle à générer peut se représenter avec un cycle binaire naturel. On utilise autant de bascules qu’il y a de bits nécessaires à la représentation des nombres du cycle. Ici il nous faut donc 3 bascules puisque le plus grand nombre à représenter est 5 qui est codé sur 3 bits. Si on désigne par Qa, Qb, Qc les sorties des 3 bascules (Qa représente le bit de poids le plus faible), le chronogramme du compteur à réaliser sera le suivant. : QcQbQa 0 1 2 3 4 5 0 1

Qa

Qb

Qc

H

On remarque qu’un changement d’état de la sortie Qa peut être déclenché par le front montant de l’horloge. Le changement de la sortie Qb est déclenché par le front descendant de Qa (ou le front montant de Qa ) et celui de la sortie Qc est déclenché par le front descendant de Qb (ou le front montant de Qb ) pendant le cycle. L’horloge sera donc reliée à la bascule a, la sortie Qa servira d’horloge pour la bascule b et la sortie Qb servira d’horloge pour la bascule c. Pour les 3 bascules on souhaite obtenir un changement d’état de la sortie à chaque coup d’horloge de chacune d’entre elles. D’après la table de transition du chapitre VIII il faut que J = 1 et K = 1 pour chacune des bascules. Dans ces conditions, le compteur suit un cycle binaire naturel sur 3 bits, c’est à dire qu’on obtient un compteur modulo 8. Lorsque les 3 bascules sont à l’état 1, le prochain coup d’horloge provoque une mise à 0 de toutes les sorties. Le cycle reprend donc à partir de 0. Si on veut obtenir un compteur modulo 6, il faut imposer un reset des 3 bascules lorsque la valeur 6 est obtenue.

56

-Logique V - Fonctions Logiques Le compteur asynchrone est réalisé de la manière suivante :

H

+5V

Ka

Ja Qa

Qa( a )

Kb

Jb Qb

Qb( b )

+5V

Kc

Jc Qc

Qc ( c )

+5V CC C

Qc Qb Qa

Remarque Ici la mise à zéro des 3 bascules n’est pas définie par la détection de 6 (code binaire 110) mais seulement par la mise à 1 des 2 bits de poids forts. En effet ces 2 bits sont à 1 uniquement pour les codes binaires de 6 et de 7 qui sont hors du cycle à réaliser. De cette façon on a donc un reset du compteur également dans le cas où celui-ci se trouverait à 7 dans son état initial. Remarque L’avantage des compteurs asynchrones est qu’ils nécessitent la mise en place d’un système combinatoire très simple. Cependant on ne peut pas réaliser des compteurs à cycles quelconques avec ceux-ci. La mise en œuvre des compteurs asynchrones se fait en effet de manière assez intuitive. Pour réaliser un compteur quelconque on appliquera donc plutôt la méthode de réalisation qui est celle des compteurs synchrones. 2. Compteurs synchrones On souhaite réaliser le même compteur que précédemment avec des bascules JK mais de façon synchrone. 3 bascules sont nécessaires pour exprimer les valeurs binaires sur 3 bits. Cependant ici, les 3 bascules auront une horloge commune. Il faudra donc appliquer à chaque coup d’horloge et pour chaque bascule les entrées J et K qui génèreront les valeurs binaires souhaitées. Pour éviter les problèmes d’initialisation il faut également prendre en compte les valeurs qui sont hors du cycle à réaliser pour les faire reboucler vers ce cycle. Ici on choisira de passer de l’état 6 à l’état 7 qui passera ensuite à l’état 0. Les états du compteur à réaliser peuvent être représentés comme suit : 0 1 2 3 4 5 7 6

57

-Logique V - Fonctions Logiques À partir de ce schéma et de la table de transition de la bascule JK, on peut construire un tableau de variation des entrées des bascules en fonction, à chaque coup d’horloge, d’un état initial et de son état suivant.

état initial

état suivant

action aux entrées

Qcn Qbn Qan Qc n+1 Qb n+1 Qa n+1 Jc Kc Jb Kb Ja Ka

0 0 0 0 0 1 0 Ø 0 Ø 1 Ø 0 0 1 0 1 0 0 Ø 1 Ø Ø 1 0 1 0 0 1 1 0 Ø Ø 0 1 Ø 0 1 1 1 0 0 1 Ø Ø 1 Ø 1 1 0 0 1 0 1 Ø 0 0 Ø 1 Ø 1 0 1 0 0 0 Ø 1 0 Ø Ø 1 1 1 0 1 1 1 Ø 0 Ø 0 1 Ø 1 1 1 0 0 0 Ø 1 Ø 1 Ø 1

Explication : Pour la deuxième ligne, on veut obtenir une transition de 1 vers 2, c’est à dire que l’on veut passer du code binaire initial 001 au code suivant 010. Pour le bit de poids faible, c’est à dire la sortie Qa, cela correspond à une transition de 1 à 0. D’après la table de variation de la bascule JK, cette transition est réalisée dans la bascule si Ja = Ø et Ka = 1. On complète ainsi le tableau entier pour chaque transition de chacune des bascules. Remarque : Il ne faut pas oublier de représenter les transitions des codes binaires qui sont hors du cycle du compteur. La colonne des états initiaux doit comprendre toutes les combinaisons possibles selon le nombre de bits choisi. Une fois que le tableau est complet, on va chercher les relations logiques qui lient les entrées J et K des bascules aux sorties du compteur. Certains cas peuvent être traités directement à partir du tableau. Par exemple pour l’entrée Ja, on remarque que celle ci doit se trouver soit à l’état 1, soit dans un état indéterminé. On peut donc choisir Ja = 1 pour assurer toutes les transitions du compteur. De même on déduit facilement que Ka = 1. Pour les autres entrées la déduction n’est pas immédiate. On construit donc les tableaux de Karnaugh des entrées en fonction de Qc, Qb et Qa. Détermination de Jc

Qc Qb Qa 00 01 11 10

0 0 0 1 0 1 Ø Ø Ø Ø

Jc = Qb Qa

58

-Logique V - Fonctions Logiques Détermination de Kc

Qc Qb Qa 00 01 11 10

0 Ø Ø Ø Ø 1 0 1 1 0

Kc = Qa

Détermination de Jb

Qc Qb Qa 00 01 11 10

0 0 1 Ø Ø 1 0 0 Ø Ø

Jb = Qc Qa

Détermination de Kb

Qc Qb Qa 00 01 11 10

0 Ø Ø 1 0 1 Ø Ø 1 0

Kb = Qa

On en déduit le schéma logique du compteur synchrone modulo 6 : Remarque : En général les compteurs synchrones nécessitent plus de portes logiques pour leur conception que les compteurs asynchrones. Cependant contrairement à ces derniers, ils permettent de construire n’importe quel cycle de comptage grâce à la construction du tableau de variations des sorties des bascules.

H

Kb

Jb Qb

Qb( b )

Kc

Jc Qc

Qc( c )

Qb

Qc

Ka

Ja Qa

Qa( a )

+5V Qa

∴_α_∴

59