numérique partie1 combi

176
TECHNIQUES NUMÉRIQUES. 1 Bachelier en électronique ère appliquée. Michelle VANDEVILLE. Ing Maître-assistant

Transcript of numérique partie1 combi

Page 1: numérique partie1 combi

TECHNIQUES NUMÉRIQUES.

1 Bachelier en électroniqueère

appliquée.

Michelle VANDEVILLE. Ing

Maître-assistant

Page 2: numérique partie1 combi

Partie 1/2: Logique combinatoire..

Chapitre I. Introduction.1. Analogique- numérique.2. Représentation des grandeurs binaires.3. Circuits numériques.4. Constantes et variables booléennes.5. Résumé.

Chapitre II L’algèbre de BOOLE.1. Introduction.2. Fonctions logiques sur 1 variable logique.3. Fonctions logiques sur 2 variables logiques.4. Axiomes ou lois fondamentales de l’algèbre de Boole.5. Relations de base de l’algèbre de Boole.6. Théorème de Morgan.7. Dualité de l’algèbre de Boole.8. Tableau- exercice.9. Exercices.

Chapitre III Simplification des fonctions logiques.

1. Modes de représentation des fonctions logiques:- introduction.- expression algébrique.- table de vérité.- table de Karnaugh.- logigrammes.

2. Méthodes de simplification des fonctions logiques:- introduction.- simplification algébrique.- La méthode des diagrammes de Karnaugh.- Quine et Mc Cluskey.

3. Exercices.

Page 3: numérique partie1 combi

Chapitre IV système de numération et codes.- Bases.- Passage d’un code à l’autre (entiers, réels).- Opérations arithmétiques en binaires.- La complémentation.- Classification des différents codes:

- pondérés: naturel, BCD.- non pondérés: biquinaire, quibinaire, biternaire, excess3, Gray, alpha-numériques.

- Contrôle- détecteurs d’erreurs.

Chapitre V Problèmes de logique combinatoire- Arithmétique binaire: opérations et circuits.

- additionneur (semi...).- soustracteur (semi...).- additionneur - soustracteur.- additionneur parallèle intégré.- notation complément à 2.- additionneur DCB.- générateur et contrôleur de parité.- multiplicateurs binaires.- comparateurs de grandeurs.

- Circuits logiques MSI.- décodeurs.- pilotes / décodeurs DCB- 7 segments.- codeurs.- transcodeurs.- multiplexeurs.- démultiplexeurs.-décodeur/ codeur et multplexeur/démultiplexeur.

Page 4: numérique partie1 combi

Chapitre I. Introduction.1. Analogique- numérique.2. Représentation des grandeurs binaires.3. Circuits numériques.4. Constantes et variables booléennes.5. Résumé.

Page 5: numérique partie1 combi

Chapitre I: Introduction

- 1 -

CHAPITRE I: INTRODUCTION.

I. ANALOGIQUE - NUMÉRIQUE.Dans les sciences, dans les techniques, dans les affaires et dans la plupart des

domaines, nous sommes amenés à utiliser des grandeurs. Ces grandeurs sont mesurées,surveillées, enregistrées, transformées mathématiquement, observées et exploitées dediverses façons dans des systèmes réels différents. Il existe deux manières de représenter lesvaleurs des grandeurs:

< Représentation analogique : on fait correspondre à une grandeur une autre grandeurqui lui est directement proportionnelle. (Tachymètre automobile, thermostat,..)

Ces grandeurs varient graduellement à l'intérieur d'une gamme continue de valeurs.(La vitesse d'une automobile peut être comprise entre zéro et,admettons, 160 km/h.)

< Représentation numérique : une grandeur que l'on représente numériquement n'est

pas proportionnelle à une autre grandeur, mais est plutôt exprimée au moyen desymboles appelés chiffres. ( une horloge numérique qui donne l'heure du jour aumoyen de chiffres représentant les heures, les minutes et les secondes. Lareprésentation numérique de l'heure du jour évolue de façon discontinue,contrairement à sa représentation analogique qui est continue )

La principale différence entre grandeur analogiqueet grandeur numérique peut s'exprimer simplementcomme suit:

analogique = continu numérique = discret (discontinu)

Il y aura donc 2 types de systèmes:< Système numérique qui est un regroupement d'éléments dont le rôle d'ensemble est

de traiter des grandeurs physiques ou de l'information exprimée sous une formenumérique, c'est-à-dire sous la forme de valeurs discrètes.

Page 6: numérique partie1 combi

Chapitre I: Introduction

- 2 -

< Système analogique, qui est un regroupement d'éléments qui traite des grandeursphysiques de nature analogique. Dans un tel système, les grandeurs varientcontinûment à l'intérieur d'un intervalle de valeurs.

Avantages des techniques numériques Un nombre de plus en plus grand d'applications en électronique, et même d'autres

disciplines, exploitent les techniques numériques pour réaliser ce qui auparavant étaiteffectué par des solutions analogiques. Cette conversion à la technologie numériques'explique par les raisons suivantes:

1.Les systèmes numériques sont plus ‘simples’ à concevoir. Pour la raison bienévidente qu'on utilise des circuits de commutation dans lesquels les valeurs de latension et du courant n'ont pas à être rigoureusement exactes; il suffit qu'elles soientdans les limites d'un intervalle (HAUT ou BAS).

2.Le stockage de l'information est facile. (Mémoires) 3. La précision et l'exactitude sont accrues. Les systèmes numériques peuvent opérer

sur le nombre de chiffres nécessaires pour atteindre une certaine précision, et pourcela il suffit d'ajouter plus de circuits de commutation. Dans les systèmes analogiques,la précision ne peut généralement dépasser trois ou quatre chiffres, étant donné que latension et le courant dépendent directement des valeurs des composants du circuit.

4.On peut programmer leurs opérations. Il est relativement facile de concevoir uncircuit numérique pouvant être contrôlé par un ensemble d'instructions, appelé unprogramme. Il est vrai que l'on peut aussi programmer les systèmes analogiques, maisles opérations programmables sont peu variées et élémentaires.

5.Les circuits numériques sont moins affectés par le bruit. Les fluctuations parasitesde la tension (bruit) ne sont pas aussi critiques dans les systèmes numériques, toujourspour la raison que le fonctionnement ne dépend pas d'une valeur exacte. Donc le bruitne perturbe rien tant que l'on peut continuer à distinguer entre un état HAUT et unétat BAS.

6.On peut mettre un grand nombre de circuits numériques dans une puce de CI.(Circuit intégré).

Page 7: numérique partie1 combi

Chapitre I: Introduction

- 3 -

Les limitations des techniques numériques Il n'y a vraiment qu'un seul inconvénient majeur qui joue contre les circuits

numériques:

Le monde réel est analogique.

La majorité des grandeurs physiques sont analogiques, et souvent ce sont desgrandeurs de cette nature que l'on retrouve aux entrées et aux sorties d'un système que l'onveut surveiller, commander ou régler. En voici quelques exemples: la température, lapression, la position, la vitesse, un niveau de liquide, un débit. Nous avons pris l'habitude deprésenter ces grandeurs dans un habillage numérique, en disant par exemple que latempérature est 64° (ou 63,8° si on veut être plus précis), alors qu'en réalité nous effectuonsune approximation numérique d'une grandeur essentiellement analogique.

Pour exploiter au mieux les techniques numériques dans le traitement d'entrées et desorties analogiques, on doit mettre en oeuvre les trois phases suivantes:

1. Traduire les signaux analogiques du « monde réel » en signaux numériques.2. Traiter (agir sur) l'information numérique.3. Convertir les sorties numériques en une forme analogique adaptée au monde réel

EXEMPLE:

Cette figure représente le schéma fonctionnel type d'une chaîne de régulation de latempérature. Comme on peut le voir, la température, une grandeur analogique, est mesurée;cette mesure est convertie en une grandeur numérique par un convertisseur analogique-

Page 8: numérique partie1 combi

Chapitre I: Introduction

- 4 -

numérique (CAN). Cette grandeur numérique fait ensuite l'objet d'un traitement par descircuits numériques, formant ou non un calculateur numérique. La sortie numérique de cebloc est transformée en grandeur analogique grâce à un convertisseur numérique-analogique(CNA). La sortie analogique est appliquée à l'entrée d'un contrôleur qui intervient d'unecertaine façon pour régler la température.

II REPRÉSENTATION DES GRANDEURS BINAIRES.

Dans les systèmes numériques, l'information traitée a généralement la forme denombres binaires. Tout dispositif ayant deux états ou conditions de fonctionnement convientà la représentation de grandeurs binaires. Par exemple, un interrupteur n'a que deux états:ouvert ou fermé. On peut décider arbitrairement qu'un interrupteur ouvert correspond aunombre binaire 0 et qu'un interrupteur fermé correspond au nombre binaire 1. Au moyen decette convention, il nous est maintenant possible de représenter n'importe quel nombrebinaire au moyen d'interrupteurs. C’est ce que montre la figure suivante a) sur laquelle lesdifférents interrupteurs définissent le nombre (10010) 2.

Dans l'exemple illustré à cette figure b), ce sont des trous perforés dans une bande depapier qui servent à représenter les nombres binaires. Un trou correspond à 1 et une absencede trou, à 0.

Il existe beaucoup de dispositifs ayant deux états de fonctionnement ou qui peuventfonctionner dans deux conditions opposées. Parmi ceux-ci mentionnons: l'ampoule électrique(allumée ou éteinte), la diode (transmet ou bloque le courant), le relais (amorçé oudésamorçé), le transistor ( bloqué ou saturé), la cellule photoélectrique (dans la lumière oudans le noir), le thermostat (met en marche ou arrête)...

Page 9: numérique partie1 combi

Chapitre I: Introduction

- 5 -

Dans l'équipement électronique numérique, l'information binaire revêt l'aspect decourants ou de tensions présents aux bornes d'entrée ou de sortie des divers circuits.Habituellement, les bits 0 et 1 correspondent à deux niveaux de tension nominaux. Parexemple, on peut établir que zéro volt représente le bit 0 et que + 5 V représente le bit 1.Dans la réalité, la divergence entre les circuits fait en sorte que l'on associe à 0 et à 1 desgammes de tensions. C'est ce qu'on peut voir à la figure suivante a) où toute tension compriseentre 0 et 0,8 V est associée au bit 0 et toute tension comprise entre 2 et 5 V est associée aubit 1. Tous les signaux des entrées et des sorties correspondront à l'une ou à l'autre de cesgammes.

La figure b) montre une forme d'onde numérique type qui successivement définit lenombre binaire 01010.

Nous sommes maintenant en mesure de saisir une autre différence importante entreles systèmes numériques et les systèmes analogiques. Dans les systèmes numériques, lavaleur exacte d'une tension n'a pas d'importance; par exemple, une tension de 3,6 V signifiela même chose qu'une tension de 4,3 V. Dans les systèmes analogiques, la valeur exacte d'unetension a de l'importance. Donc, si la tension analogique est proportionnelle à la températuremesurée par un transducteur, 3,6 V représenterait une température différente de 4,3 V.Autrement dit, la valeur de la tension véhicule un élément informatif important. Cettecaractéristique implique que la conception de circuits analogiques précis est souvent unetâche beaucoup plus difficile que la conception de circuits numériques, du fait de lafluctuation de la tension en fonction de la variation des valeurs des composants, de latempérature et du bruit.

Page 10: numérique partie1 combi

Chapitre I: Introduction

- 6 -

III CIRCUITS NUMÉRIQUES.

Les circuits numériques sont conçus pour fournir des tensions de sortie qui setrouvent dans les gammes de tensions correspondant aux valeurs binaires 1 et 0. De la mêmemanière, les circuits numériques sont conçus pour réagir de façon prévisible à des tensionsd'entrée qui se trouvent dans les gammes définies pour 0 et 1. Cela veut dire qu'un circuitnumérique réagira toujours de la même façon à toutes les tensions d'entrée qui se situent dansla gamme de 0; de même, il ne fera pas de distinction entre les tensions comprises dans lagamme de 1.

La figure suivante représente un circuit numérique type dont l'entrée est Ve et la sortieVs. On peut observer la sortie pour deux formes d'onde d'entrée différentes. Notez que lasortie Vs est identique dans les deux cas, puisque ces tensions d'entrée sont aux mêmesniveaux binaires bien qu'elles soient numériquement différentes.

Circuits logiques

La façon suivant laquelle un circuit numérique réagit à un signal d'entrée estappelée la logique du circuit. Chaque type de circuit numérique obéit à un certain ensemblede règles logiques. C'est pour cette raison qu'on donne aussi aux circuits numériques le nomde circuits logiques. Nous étudierons tous les types de circuits logiques employésactuellement dans les systèmes numériques. Au début, nous nous intéressons seulement àl'opération logique réalisée par ces circuits, c'est-à-dire à la relation entre les entrées et lessorties du circuit.

Page 11: numérique partie1 combi

Chapitre I: Introduction

- 7 -

Circuits numériques intégrés.

La presque totalité des circuits numériques qui se trouvent dans l'équipement moderned'aujourd'hui sont des circuits intégrés (CI). Le large éventail de CI logiques qui existent dansle commerce rend possible la réalisation de systèmes numériques complexes qui sont pluspetits et plus fiables que leur équivalent construit avec des composants discrets.

Les circuits numériques intégrés sont fabriqués selon plusieurs technologies defabrication de CI, les plus courantes étant les technologies TTL, CMOS, NMOS et ECL.Chacune d'elles se distingue par le type de circuit servant à réaliser l'opération logiquerecherchée.

Par exemple, les circuits TTL (Transistor-Transistor Logic) utilisent des transistorsbipolaires comme principaux éléments de circuit, tandis que les technologies CMOS(Complementary Metal Oxide Semiconductor) emploient comme principal élément de circuitle transistor MOS à enrichissement (MOSFET). Nous aborderons l'étude des techniques deCI, leurs caractéristiques, leurs avantages et leurs inconvénients respectifs, dès que nousconnaîtrons bien les circuits logiques de base.

Un chapitre du cours sera consacré à l’étude de ces différentes familles.

IV CONSTANTES ET VARIABLES BOOLÉENNES.

L’algèbre booléenne se distingue principalement de l’algèbre ordinaire par desconstantes et des variables qui ne peuvent prendre que 2 valeurs possibles 0 et 1. Unevariable booléenne est une grandeur qui peut, à des moments différents, avoir la valeur1 ou 0. Les variables booléennes servent souvent à représenter un niveau de tension sur un filou aux bornes d'entrée ou de sortie d'un circuit. Par exemple, dans un certain circuitnumérique, on pourra avoir attribué la valeur booléenne 0 à l'intervalle de tensions 0 à 0,8 V,et la valeur booléenne 1 à l'intervalle 2 à 5 V. Les tensions comprises entre 0,8 et 2 V sontindéterminées et ne doivent jamais survenir.

Ainsi, les valeurs booléennes 0 et 1 ne représentent pas des nombres réels mais plutôtl'état d'une variable électrique ou ce qui est convenu d'appeler un niveau logique. On dit quela tension d'un circuit numérique est au niveau logique 1 ou au niveau logique 0, selon lavaleur réelle de cette tension. Dans le domaine de la logique numérique, on utilise d'autresexpressions qui sont synonymes de 0 et 1.

Page 12: numérique partie1 combi

Chapitre I: Introduction

- 8 -

Exemples:

Niveau logique 0 Niveau logique 1

Faux Vrai

Arrêt Marche

Bas Haut

Non Oui

Ouvert Fermé

L'algèbre de Boole est un outil qui permet d'exprimer les effets qu'ont les diverscircuits numériques sur les entrées logiques et de manipuler les variables logiques en vue dedéterminer la meilleure façon de matérialiser une certaine fonction logique.

Parce qu'il n'y a que deux valeurs possibles, l'algèbre booléenne se manipule plusaisément que l'algèbre ordinaire. En algèbre booléenne, il n'y a pas de fraction, de partiedécimale, de nombre négatif, de racine carrée, de racine cubique, de logarithmes, de nombreimaginaire... En fait, dans cette algèbre, on ne retrouve que trois opérations élémentaires:

• L'addition logique, dite aussi opération OU. Le symbole habituel de cetteopération est le signe ( + ).

• La multiplication logique, dite aussi opération ET. Son symbole habituel est le signe de la multiplication (.).

• La complémentation ou l'inversion logique, dite aussi opération NON.Son symbole habituel est une barre de surlignement (-).

Page 13: numérique partie1 combi

Chapitre I: Introduction

- 9 -

V EN RÉSUMÉ

* UNE VARIABLE LOGIQUE (binaire)

< sera tout ce qui NE PEUT PRENDRE QUE 2 valeurs (états) au coursd’un problème ou d’une discussion.

< sera notée par lettre (ou autre symbole classique) Exemples: A, a

< sera notée 0 ou FAUX (F) ou FALSE (F) ou niveau bas /LOW (L) ou lalettre minuscule barrée l’une des 2 valeurs possibles de la variable (ouétat)

Exemple: a

< sera notée 1 ou VRAI (V) ou TRUE (T) ou niveau haut/HIGH (H) ou lalettre minuscule l’autre valeur (état) de la variable

< ne pourra jamais avoir qu’une seule des 2 valeurs à un moment donné,cette valeur excluant l’autre.

< on notera par la lettre X ou le symbole Φ un état indifférent, soit 0 soit 1.

< l’état haute impédance aura comme notation, HI en logique 3 états (‘TRISTATE’)

On définira pour les logiques électroniques:

1 - HIGH 0 - LOW

TTL entre 2,4V et 5V entre 1,4V et 0V

TTL.LS entre 2V et 5,25V entre 0,8V et 0V

CMOS entre qq V et 18 V

Page 14: numérique partie1 combi

Chapitre I: Introduction

- 10 -

B A B B= =

* UNE FONCTION LOGIQUE.

C’est une variable logique dont les états (valeurs) dépendent des états desvariables d’entrée ( qui sont également des variables logiques ) pendant le problème. Ilarrive parfois que la fonction soit considérée comme l’une des entrées: on étudiera à cemoment de la logique séquentielle.

* UNE VARIABLE COMPLÉMENTAIRE.Lorsque la fonction logique B est dans l’état opposé de la variable A on dit que < B est le complément de A< B s’obtient en complémentant A< B est la fonction NON A< B est la fonction PAS A

* UN PROBLÈME LOGIQUEUn problème est logique lorsque la ou les variables ainsi que la ou les fonctions

sont logiques.

Page 15: numérique partie1 combi

Chapitre II L’algèbre de BOOLE.1. Introduction.2. Fonctions logiques sur 1 variable logique.3. Fonctions logiques sur 2 variables logiques.4. Axiomes ou lois fondamentales de l’algèbre de Boole.5. Relations de base de l’algèbre de Boole.6. Théorème de Morgan.7. Dualité de l’algèbre de Boole.8. Tableau- exercice.9. Exercices.

Page 16: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 11 -

CHAPITRE II: L’ALGÈBRE DE BOOLE.

I. INTRODUCTION.

L’algèbre de Boole (nom de son inventeur) est une algèbre semblable, sous certainsaspects, à l'algèbre «classique» dont elle diffère cependant de manière caractéristique.D'importantes applications du domaine des ordinateurs et des appareils de mesuresnumériques reposent sur elle. Cette algèbre peut également porter divers noms: algèbre despropositions, algèbre de la logique.

L'algèbre de Boole est un ensemble de variables à deux états, de valeurs de vérité 1(vrai), 0 (faux), muni d'un nombre limité d'opérateurs: NON, ET, OU. La manipulation de cesvariables dites booléennes à l'aide de ces opérateurs donne des fonctions, booléenneselles-aussi, car leur résultat est une variable booléenne.

II. FONCTIONS LOGIQUES SUR 1 VARIABLE LOGIQUE.

A F0 F1 F2 F3

0 0 0 1 1

1 0 1 0 1

NOM de lafonction

NULLE IDENTIQUE A - COMPLÉMENT DE

- PAS- NON- NOT

UN

En logique TTL,

• F0 correspond à une mise à la masse

• F1 possède des états identiques à ceux de A Il a pour symbole ‘ = ‘

Page 17: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 12 -

• F2 possède des états compléments des états de A

Il a pour symbole (barre)

F2 = A

Postulat de l’algèbre de Boole: INVOLUTION: A A= Le symbole suivant peut également être rencontré

• F3 correspond à une mise au +Vcc ( 5V + ou - 5%) ou encore à une mise ‘enl’air’ (attention aux potentiels flottants !( En technologie TTL))

Page 18: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 13 -

III. FONCTIONS LOGIQUES SUR 2 VARIABLES LOGIQUES.

Après analyse du tableau de la page suivante, nous constatons que:

• Nous avons un tableau à 2 entrées X et Y et 16 sorties F0 à F15.

• Remarquons que sur 2 variables logiques on obtient 24 fonctions. Le chiffre 4étant le nombre de combinaisons possibles de X et Y.

• F0 = F4 = 15F 11F

F1 = F5 = 14F 10F

F2 = F6 = 13F 9F

F3 = F7 = 12F 8F

Page 19: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 14 -

X Y F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15

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

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

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

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

EquationBooléenne

NOM de lafonction

null

NO

N O

UN

OR

Inhibiti

PAS

Inhibiti

PAS

OU

EXC

LUSIF

(dilemm

e)

NA

ND

NO

N ET

ET Equivale

Implicati

Implicati

OU

INC

LUSIF

(union)

unité 1

F0 =

0

F1 =

X.Y

F2 =

X .Y

F3 = X

F4 =

X.Y

F5 =

Y

F6 =

X r

Y

F7 =

X . Y

F8 =

X . Y

F9 =

X u

Y

F10 =

Y

F11 =

X +

Y

F12 =

X

F13 =

X +

Y

F14 =

X +

Y

F15 =

1

F1 =

X +

Y

Négation d’une

variable

Négation d’une

variable

F6 =

X .Y

+ X

. Y

F7 =

X +

Y

F9 =

X .Y

+ X

.Y

X 6

Y

Y 6

X

Page 20: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 15 -

EXPLICATION DE CERTAINES FONCTIONS PARTICULIÈRES

1. FONCTION F0 = Fonction nulle. Correspond à la masse.

2. FONCTION F3 = et F5 = - Opération NONX YImplantation de l’inversion par le CI 7404 comprenant 6 inverseurs.

3. FONCTION F8 = Fonction ET .

Soit X et Y deux variables booléennes. Le résultat de X ET Y est une variablebooléenne.

Table de vérité.

X Y F8

0 0 0

0 1 0

1 0 0

1 1 1

L'opérateur ET est aussi noté ‘ . ‘, la table justifie cette notation, d'où X ET Y = X . YLe résultat peut être désigné par une autre lettre, F8 par exemple, d'où l'on aura

F8 = X . Y

Page 21: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 16 -

F8 est à 1 lorsque X et Y sont à l’état 1.

Symboles recommandés.

Norme CEI Norme DIN 4070 NORME USA

Implantation de la fonction ET par le CI 7408 comprenant 4 portes ET à 2 entrées.

4. FONCTION F14 = Fonction OU (union) .

Soit X et Y deux variables booléennes. Le résultat de X OU Y est une variablebooléenne.

Table de vérité.

X Y F14

0 0 0

0 1 1

1 0 1

1 1 1

L'opérateur OU est aussi noté ‘ + ‘, la table justifie cette notation, d'où X OU Y = X + Y .

Page 22: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 17 -

Le résultat peut être désigné par une autre lettre, F14 par exemple, d'où l'on aura

F14 = X + Y

Remarque: Éviter de confondre l'opérateur + et l'opérateur ET. En langage courant,l'expression «2 et 3 font 5» signifie «2 + 3 = 5» tandis qu'en logique « x ET y» est uneintersection revenant à une multiplication. Le résultat de l'opération ET est 1 si etseulement si tous les opérandes valent 1. Le résultat de l'opération OU est 1 si aumoins l'un des opérandes vaut 1. L'opération OU est une union revenant à uneaddition.

Symboles recommandés.

Norme CEI Norme DIN 4070 NORME USA

Implantation de la fonction OU par le CI 7432 comprenant 4 portes OU à 2 entrées.

5. FONCTION F7 = Fonction NAND . (NON ET)

Soit X et Y deux variables booléennes. Le résultat est une variable booléenne.

F7 X.Y X Y= = +

Page 23: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 18 -

F1 X Y X.Y= + =

Table de vérité.

X Y F7

0 0 1

0 1 1

1 0 1

1 1 0

Symboles recommandés.

Norme CEI Norme DIN 4070 NORME USA

Implantation de la fonction NAND par le CI 7400 comprenant 4 portes NAND à 2 entrées.

6. FONCTION F1 =Fonction NOR .

Soit X et Y deux variables booléennes. Le résultat de X ET Y est une variablebooléenne.

Page 24: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 19 -

F6 X Y = X.Y= ⊕ + X Y.

Table de vérité.

X Y F1

0 0 1

0 1 0

1 0 0

1 1 0

Symboles recommandés.

Norme CEI Norme DIN 4070 NORME USA

Implantation de la fonction NOR par le CI 7402 comprenant 4 portes NOR à 2 entrées.

7. FONCTION F6 = Fonction OU EXCLUSIF .

F6 est la fonction OU exclusif. Son symbole opératoire est ⊕

L'usage quotidien de OU est ambigu, il peut signifier “ l'un ou l'autre ou les deux “ou “ l’un ou l'autre et non les deux”.

On peut être élancé ou intelligent ou les deux mais on est à Paris ou à Bruxelles etnon aux deux endroits à la fois. Il faut donc définir cette opération avec rigueur. C'estpour cela qu'on l'exprime à l'aide d'un opérateur différent.

Page 25: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 20 -

Table de vérité.

X Y F6

0 0 0

0 1 1

1 0 1

1 1 0

Symboles recommandés.

Norme CEI Norme DIN 4070 NORME USA

Implantation de la fonction OU Exclusif par le CI 7486 comprenant 4 portes OU Exclusif à 2 entrées.

8. FONCTION F9 = Fonction Egalité .- Comparateur

On l’appelle également fonction coïncidence. C’est la fonction inverse du OUExclusif. Sa sortie vaut 1 si et seulement si les 2 entrées sont égales.

Table de vérité.

Page 26: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 21 -

F9 XY XY X Y= + = ⊕

X Y F9

0 0 1

0 1 0

1 0 0

1 1 1

Symboles recommandés.

Norme CEI Norme DIN 4070 NORME USA

Implantation de la fonction égalité par le CI 74266 comprenant 4 portes NON OU exclusif à 2 entrées.

REMARQUES.

1. avec a 0 ; 0, 1, 2, ..., 7C :a-15a F F = 2. On ne peut patiquement dresser le tableau de toutes les fonctions possibles pour

Page 27: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 22 -

n’importe quel nombre de variables. Pour 3 variables, par exemple, on a 23 = 8 combinaisonspossibles et donc 28 = 256 fonctions. Il nous faut donc d’autres méthodes pour étudier cesfonctions à 3, 4, 5 variables.

Tableau des symboles, selon les normes citées

Page 28: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 23 -

IV. AXIOMES OU LOIS FONDAMENTALES DE L’ALGÈBRES DE BOOLE.

Soit A, B et C trois variables booléennes, les opérateurs NON, ET et OU. Nouspouvons dès lors énoncer les lois suivantes vérifiables par les tables de véritécorrespondantes.

1. LOIS DE FERMETURE.

a) A . B est une variable booléenne définie par la table de vérité de l'opération ET.b) A + B est une variable booléenne définie par la table de vérité de l'opération OU.

2. LOIS DE COMMUTATIVITÉ.

a) A . B = B . Ab) A + B = B + A

L’observation des T.D.V. (Tables de vérité) nous donne ce résultat immédiat.

3. LOIS D’ASSOCIATIVITÉ.

a) A . (B . C) = (A . B) . Cb) A + (B + C) = (A + B) + C

Vérifions la loi b par induction parfaite, c’est-à-dire par vérification dans tous les cas possibles en utilisant les T.D.V.

A B C B + C A + (B + C) A + B (A + B) + C

0 0 0 0 0 0 0

0 0 1 1 1 0 1

0 1 0 1 1 1 1

0 1 1 1 1 1 1

1 0 0 0 1 1 1

1 0 1 1 1 1 1

1 1 0 1 1 1 1

1 1 1 1 1 1 1

Les résultats des colonnes 5 et 7 sont identiques. On a donc bien vérifié cette loi.

Page 29: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 24 -

Ainsi on a, au niveau des schémas:

On peut donc écrire respectivement les fonctions . et + à trois variables sous lesformes: P= ABC et S = A + B + C puisque le regroupement des variables n’a pasd’importance.

4. LOIS DE DISTRIBUTIVITÉ.

a) de l’opération ET sur l’opération OU

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

b) de l’opération OU sur l’opération ET

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

EXERCICE: vérifier ces deux lois par induction parfaite. (en utilisant les tables de vérité)

Page 30: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 25 -

REMARQUE: La loi d’écriture de ces relations dans l’autre sens s’appelle la MISE EN FACTEUR ou EN ÉVIDENCE.

Les 2 montages suivants sont fonctionnellement identiques. Il est important de noterque le deuxième circuit exige 3 portes au lieu de deux. Il n’est donc pas indifférent deréaliser les circuits d’une façon ou d’une autre. Pour minimiser les coûts, il peut êtreimportant de minimiser le nombre de portes. La même remarque s’applique auxcircuits se rapportant à la deuxième loi de distributivité. (à prouver sous formed’exercice)

5. LOI D’IDEMPOTENTE.

a) A + A = Ab) A . A = A

En effet,

A A + A A . A

0 0 0

1 1 1

Page 31: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 26 -

6. LOIS DE COMPLÉMENTARITÉ.

a) A + = 1A

b) A . = 0A

7. IDENTITÉS REMARQUABLES.

a) 1. A = Ab) 1 + A = 1c) 0 . A = 0d) 0 + A = A

Remarque: Les circuits intégrés TTL présentent la caractéristique suivante: laisser uneentrée d’une porte ouverte, (c’est-à-dire en l’air, donc non reliée à une tension ou à lamasse) revient à avoir un 1 à cette entrée. Cette remarque est très utile pour lesséances de laboratoire.

8. LOIS DE DISTRIBUTIVITÉ INTERNE.

a) A + (B + C) = (A + B) + (A + C)b) A . (B .C) = (A . B) . (A .C)

9.RELATIONS PARTICULIÈRES.

a)

A + AB = A

en effet, A + AB = A (1 + B)A + AB = A (1)A + AB = A

Page 32: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 27 -

b)

A + B = A + BAen effet,

A + B = A + A B + B car A + AB = AA A

A + B = A + B (A + ) mise en évidenceA A

A + B = A + B . 1 complémentarité ( A + = 1)A A

A + B = A + B identité remarquable B.1 = BA

c)

A . ( A + B) = A

en effet;A . ( A + B) = AA + AB distributivitéA . ( A + B) = A + AB idempotenceA . ( A + B) = A Propriété remarquable a)

V. RELATIONS DE BASE DE L’ALGÈBRE DE BOOLE.

Ces relations devront être démontrées lors d’une séance de laboratoire.

1XY + X = X (X + Y) (X + ) = XY Y

2 X + XY = X X (X + Y) = X

3X + Y = X + Y X ( + Y) = XYX X

4XY + Z + YZ = XY + Z (X + Y) ( + Z) (Y + Z) = (X + Y) ( + Z)X X X X

5XY +X Z = XY + XZ (X + Y) (X + +Z) = (X +Y) (X + Z)Y Y

Page 33: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 28 -

( )X Y X.Y (1)

X.Y X Y (2)

+ =

= +

VI. THÉORÈMES DE DE MORGAN.

Deux des plus importants théorèmes de l'algèbre booléenne nous ont été légués par lemathématicien De Morgan. Les théorèmes de De Morgan se révèlent d'une grandeutilité pour simplifier des expressions comprenant des sommes ou des produits devariables complémentés.

Voici ces deux théorèmes:

Le théorème (1) affirme que la somme logique complémentée de deux variables estégale au produit logique des compléments de ces deux variables. De même, le théorème (2) stipule que le produit logique complémenté de deuxvariables est égal à la somme logique des compléments de ces deux variables.

Il en est de même pour 3 variables.

( )X Y Z X.Y.Z (1)

X.Y.Z X Y Z (2)

+ + =

= + +

Preuve par induction parfaite.

X Y Z ZYX ++ ZYX ++ ZY ..X XYZ XYZ ZYX ++

0 0 0 0 1 1 0 1 1

0 0 1 1 0 0 0 1 1

0 1 0 1 0 0 0 1 1

0 1 1 1 0 0 0 1 1

1 0 0 1 0 0 0 1 1

1 0 1 1 0 0 0 1 1

1 1 0 1 0 0 0 1 1

1 1 1 1 0 0 1 0 0

Page 34: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 29 -

Remarque:

On a déjà vu quelque chose de semblable lors de l'étude des circuits NON-ET et NON-OU.On peut généraliser ces résultats à n'importe quel nombre de variables.Ces deux théorèmes sont très utiles pour les circuits logiques. Ils permettent entres autres detransformer un produit de sommes ou une somme de produits. Prenons un exemple:

Soit l'expression Z = (x + + z) (x + ) ( + ), produit de trois sommes, à transformer.y z x y

On peut écrire Z = puisqu'une double inversion est une opération d'effet nul, ainsi:Z

yxzxzyxZ

)yx)(zz)(xy(xZ

ZZ

++++++=

++++=

=

D'après le théorème 1 de De Morgan, on remarquera que l'expression obtenue est uneimplantation différente de la même fonction.

En supposant que les variables et leur complément sont disponibles, l'expression originale

nécessite, pour être implantée, trois portes OU (x + + z), (x + ), ( + ), et une portey z x yET à trois entrées pour faire le produit des trois sorties des portes OU. Par contre, l'expressionfinale nécessite quatre portes NON-OU suivant le schéma ci-dessous:

Page 35: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 30 -

L’expression ci-dessus n’est pas simplifiée.

yzxZ

x)xy(zxZ

xyyxzxZ

xyy)(zxZ

xyy)z(zxZ

xyzxzyxZ

+=

++=

++=

++=

++=

++=

On a alors une expression simplifiée qui peut s’écrire:

z)(xyZ

z.yxyZ

y.z)(xZ

y.zxZ

+=

+=

+=

=

Ceci est une implantation ET, OU

Page 36: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 31 -

On peut aussi écrire:

z.y.xyZ

z.yxyZ

ZZ

=

+=

=

Ceci est une implantation NAND

De la même manière, on obtient:

z)(xyZ

z)(xyZ

++=

+=

Ceci est une implantation NOR

Page 37: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 32 -

Nous voyons donc qu'en manipulant algébriquement une fonction on peut choisir letype de portes de son implantation. Dans notre cas, l'implantation NOR est la plussimple puisqu'elle ne nécessite qu'un seul type de porte (donc un seul type de circuitintégré) et seulement deux portes (donc un seul circuit intégré). C'est un exemple del'utilité pratique des théorèmes de De Morgan.

VII. DUALITÉ DE L'ALGÈBRE DE BOOLE.

En se reportant aux deux paragraphes précédents, on remarque que toutes lesfonctions booléennes et les théorèmes de De Morgan vont toujours par deux. Leremplacement dans la première relation des opérations (.) Par (+) et (+) par (.) donnela deuxième.

RÉSUMÉ:

Remarquons que les lois rencontrées aux pages 25, 26 se transforment entre elles lorsqu’on remplace 1 par 0, + par . et vice versa.

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

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

Cette propriété générale est appelée DUALITÉ DE L’ALGÈBRE DE BOOLESi donc on démontre une relation on peut écrire immédiatement sa duale enremplaçant les opérations (.) Par (+) et (+) par (.), 1 par 0 et 0 par 1L’obtention d’une première forme simplifiée d’une expression permet d’écrire immédiatement une autre égalité, duale de la première.

Page 38: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 33 -

( )[ ]( )( )

(aa ab ab b)(a b) 0 b 1 a a a b

= b a b

= ba bb

= ab, soit le deuxième membre de (2

+ + + + = + + + +

+

+

)

Soit l’expression Z ab ab ab

Z b(a a) ab (mise en facteur)

Z = b ab puisque a + a 1 et b.1 b

Z a b (relation de base III et commutativité)

= + +

= + +

+ = =

= +

D’où: ab ab ab a b (1)+ + = +On en déduit donc immédiatement la relation:

(a + b)(a b)(a b) a.b (2)+ + =

En se servant de la dualité de l’algèbre de Boole.

Vérification: Développons le premier membre de (2), on aura successivement:

Page 39: numérique partie1 combi

Chapitre II: L’algèbre de Boole

- 34 -

VIII. Compléter le tableau suivant.

On réalise !

Avec 9

PASS = A

OUS = A + B

ETS = A . B

NAND

S A B= .NOR

S A + B=

OU EXCLUSIFS A B= ⊕

OUET

PAS

NAND

NOR

IX. Exercices.

Page 40: numérique partie1 combi

Chapitre III Simplification des fonctions logiques.

1. Modes de représentation des fonctions logiques:- introduction.- expression algébrique.- table de vérité.- table de Karnaugh.- logigrammes.

2. Méthodes de simplification des fonctions logiques:- introduction.- simplification algébrique.- La méthode des diagrammes de Karnaugh.- Quine et Mc Cluskey.

3. Exercices.

Page 41: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 35 -

CHAPITRE III: SIMPLIFICATION DESFONCTIONS LOGIQUES.

I. MODES DE REPRÉSENTATION DES FONCTIONS LOGIQUES:

1. Introduction.Ce chapitre a pour objectif de savoir représenter une fonction logique sous ses 4 formes:

- expression algébrique.- table de vérité.- table de Karnaugh- logigramme.

2. Expression algébrique.

Soit les fonctions:

S = xyc xyc xyc xyc

C xyc xyc xyc xycC = xy + xc + yc

+ + +

= + + +

Ces expressions sont sous forme algébrique. Les deux expressions de C sont équivalentes. La deuxième est sous forme simplifiée. En effet:

( )

( )

( )

C xyc xyc xyc xyc

= xy c c xyc xyc

= xy + xyc xyc

= x y + yc xyc

= x(y + c) + xyc

= xy + xc + xyc

= xc + y x + xc = xc + y(x + c) = xy + xc + yc

= + + +

+ + +

+

+

Page 42: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 36 -

3. Table de vérité.On peut représenter ces 2 fonctions sous forme de table de vérité. Les entrées sont dans l’ordre binaire naturel. Nous avons trois variables x, y, et c, donc 23 = 8combinaisons possibles.

c y x S C

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

4.Table de KarnaughLa table de vérité présente un inconvénient: le nombre de lignes croît en mêmetemps que le nombre de variables. Si n est le nombre de variables, le nombre delignes est 2n. Pour trois variables on a huit lignes, pour quatre variables seizelignes, etc. On contourne cette difficulté en plaçant les variables d'entrée auxentrées d'une table aussi carrée que possible. On a donc une table dite deKarnaugh à double entrée:

une pour les lignes et une pour les colonnes.

On numérote ensuite les colonnes et les lignes selon le code binaire réfléchi.Pour la fonction S on a:

yxc

00 01 11 10

0 0 1 0 1

1 1 0 1 0

Page 43: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 37 -

Pour la fonction C on a:

yxc

00 01 11 10

0 0 0 1 0

1 0 1 1 1

5.Logigramme.Pour la fonction S:

Pour la fonction C:

Page 44: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 38 -

( ) ( ) ( )( )f x,yx yx y

x y si x - y2 2

=−−

= + ≠ 0

( ) ( ) ( ) ( )( ) ( )

( )

x + = =+ = =+ = + =

+ + = + + =

+ = + + = +

+ = + =

+ = =+ = =

=

x 1 xx 0 x x x x.x x (idempotence) x y y x x.y y.x (commutativité)

x y z x y z x. y.z x.y .z (associativité)

x. y z x.y x.z x y .z x.z y.z (distributivité)

x x.y x x. x y x (absorption) 1 x 1 x.1 x 0 x x 0.x 0

x + y x.y x.y x y (De Morgan)

x xy x y

= +

+ = +

II. MÉTHODES DE SIMPLIFICATION DES FONCTIONSLOGIQUES:

1. Introduction.

Pour simplifier une fonction en algèbre, on recherche une forme d’écriture plus condensée et plus facile à calculer. Par exemple:

Pour simplifier une fonction en algèbre de Boole, c’est trouver une forme plus condensée, avec moins de fonctions qui peut aboutir à une réalisation matérielle plussimple (encore que parfois la forme la plus réduite ne sera pas choisie car lors dupassage à la réalisation, la nature technologique du système sera aussi déterminante,ainsi que des conditions de sécurité supplémentaires éventuelles.)

On utilisera souvent les relations caractéristiques:

Page 45: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 39 -

De nombreux travaux de simplification et de synthèse ont été effectués mais nous nous limiterons à quelques méthodes très connues: la simplification algébrique, par latable de Karnaugh, de Quine et Mc Cluskey,....

Avant de commencer l’étude des méthodes de simplification nous allons d’abord aborder les formes canoniques.

LES FORMES CANONIQUES.Les formes qui permettent de localiser chaque case d'une table de Karnaughcomportant un 1 ou un 0 ou chaque ligne d'une table de vérité comportant un 1ou un 0 sont appelées formes canoniques. Ces formes sont en général simplifiables.Elles sont utiles dans certains cas de simplification ou de recherche d'implantationssymétriques pour faciliter le dépannage.

On distingue quatre formes canoniques:

1- Somme de produits à implantation par des portes ET reliées à une porte OU.2- Produit de sommes à implantation par des portes OU reliées à une porte ET.3- Forme NON-ET 4- Forme NON-OU.

Ces deux dernières formes sont implantées par un seul type de porte. Elles se déduisentdes deux premières.

Nous donnerons la façon d'obtenir chacune de ces formes avant de donner desexemples.

A) PREMIÈRE FORME CANONIQUE: SOMME DE PRODUITSConsidérer la table de vérité ou la table de Karnaugh. À chaque 1 de la variable de sortie, faire correspondre un produit des n variables d'entrée sous la forme normalelorsque la variable d'entrée est à 1, sous la forme complément si la variable d'entrée està 0. S'il y a p 1, faire la somme logique de ces p produits. Chaque produit doit contenirtoutes les variables. L'expression obtenue est généralement simplifiable.

Page 46: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 40 -

S xyc xyc xyc xycLignes 1 2 4 7 On retrouve l'expression initiale de S.

Pour C on aura:

C xyc xyc xyc xyc On retrouve également l'expression initiale non simplifiée.

= + + +

= + + +

( )( )( )( )S x y c x y c x y c x y c= + + + + + + + +

( )( )( )( )

S xx xy xc yx yy yc cx cy cc xx xy xc yx yy yc cx cy cc

S xy yx c xy yx c

S xyxy xyyx xyc yxxy yxyx yxc cxy cyx cc

S xyc xyc xyc xyc

= + + + + + + + + + + + + + + + +

= + + + +

= + + + + + + + +

= + + +

Dans notre cas, la table de vérité de la fonction S précédente permet d'écrire:

B) DEUXIÈME FORME CANONIQUE: PRODUIT DE SOMMESConsidérer la table de vérité ou la table de Karnaugh. À chaque 0 de la variable desortie, faire correspondre une somme des n variables d'entrée sous la forme normalelorsque la variable d'entrée est égale à 0, sous la forme complément si la variabled'entrée est égale à 1. S'il y a q 0, faire le produit logique de ces q sommes. Chaquesomme doit contenir toutes les variables. L'expression obtenue est généralementsimplifiable. Dans notre cas, la table de Karnaugh de la fonction S précédente permetd’écrire:

Cette forme se simplifie:

C'est bien l'expression de départ.La première et la deuxième formes canoniques sont donc deux façons d'écrire la mêmefonction.

La deuxième forme canonique de C, à partir de sa table de Karnaugh permet d’écrire:

Page 47: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 41 -

C xyc xyc xyc xyc

C xyc xyc xyc xyc

C xyc xyc xyc xyc

= + + +

= + + +

=

C (x y c)(x y c)(x y c)(x y c)Simplifions cette expression:C

CCC xy xc yc

= + + + + + + + +

=

=== + +

S xyc xyc xyc xycOn a donc

S xyc xyc xyc xyc

= + + +

= + + +

S xyc xyc xyc xyc=

C) TROISIÈME FORME CANONIQUE: FORME NON-ET

On la déduit de la première forme canonique, elle conduit à des diagrammes logiquesn’utilisant que des portes NON-ET. En effet, considérons une fonction logique qui seprésente sous la forme d’une somme de produits, par exemple:

Puisqu’une double inversion est une opération d’effet nul.D’après les théorèmes de De Morgan, on obtient:

On obtiendra de la même façon la troisième forme canonique de la fonction C, soit:

Page 48: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 42 -

( )( )( )( )S x y c x y c x y c x y c= + + + + + + + +

z ab abc= +

S x y c x y c x y c x y c= + + + + + + + + + + +

C (x y c)(x y c)(x y c)(x y c)

C x y c x y c x y c x y c

= + + + + + + + +

= + + + + + + + + + + +

D) QUATRIÈME FORME CANONIQUE: FORME NON-OU

Partir de la deuxième forme canonique, produit de sommes:

On obtient la quatrième forme canonique de l’expression S:

On obtiendra de la même façon la quatrième forme canonique de la fonction C, soit:

EXERCICES.1. Ecrire les quatre formes canoniques de la fonction donnée par la table de vérité ci-dessous:

z y x t

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 0

2. Ecrire les quatre formes canoniques de l’expression

Page 49: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 43 -

2. Simplification algébrique.

Les théorèmes de l'algèbre booléenne étudiés précédemment nous seront d'un grandsecours pour simplifier l'expression d'un circuit logique. Malheureusement, il n'est pastoujours facile de savoir quels théorèmes il faut invoquer pour obtenir le résultatminimal.

La simplification algébrique est souvent un processus d'approximations successives. L'expérience aidant, une personne peut exceller à trouver d'assez bons résultats.

Les exemples qui suivent montrent diverses manières d'utiliser les théorèmes del'algèbre de Boole en vue de simplifier une expression.

Remarquons que dans tous ces exemples on retrouve toujours deux étapes essentielles:

1. La transformation par applications successives des théorèmes de De Morgan et par multiplication de termes de l'expression pour obtenir une somme de produits.2. Ensuite, la vérification de chaque produit pour trouver les variables communes, puis la mise en facteur de ces dernières, le cas échéant. Quand une simplification est possible, la mise en facteur permet d'éliminer un ou plusieurs termes.3. Lorsque les simplifications n’apparaissent pas facilement, on peut toujours

soit ajouter une fonction nulle (x. par ex.) ou une fonction ET UN x

( par ex.)( )x x+

EXEMPLE 1 Simplifiez ce circuit logique

Page 50: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 44 -

( )z ABC AB. AC= +

z = = = =

z =z =z =z =

La première étape consiste à établir l'expression de la sortie. Cette expression est:

Quand on a l'expression, il est souvent judicieux de décomposer, au moyen des théorèmesde De Morgan, les longs signes de complémentation et ensuite de multiplier tous les termes.

Maintenant que nous avons en main la somme de produits recherchée, voyons lesvariables communes dans les divers termes en vue de mettre en facteur. Le premier et letroisième terme ont AC en commun; d'où, après la mise en facteur:

Ce résultat est la forme minimale de l’expression. La matérialisation du circuit correspondantest donnée à la figure suivante.

Page 51: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 45 -

z ABC ABC ABC= + +

z ABC ABC ABC = + +

z ABC ABC ABC ABC= + + +

z = = = = =

( ) ( )

( )

z AB C C AC B Bz AB.1 AC.1z AB ACz A B C

= + + +

= += +

= +

EXEMPLE 2 Simplifier l’expression

1ère méthode.Les 2 premiers termes de l’expression ont les variables AB en commun

2ème méthode.L’expression originale est

Les deux premiers termes ont en commun les variables AB, tandis que le premier et ledernier terme ont AC en commun. Comment savoir s'il faut choisir de mettre en facteurAB ou AC ? En réalité, on peut effectuer les deux mises en facteur en utilisant deuxfois le terme ABC. Autrement dit, il faut récrire l'expression de la façon suivante:

c'est-à-dire ajouter une autre fois ABC. Cette addition est admissible et ne change pasl'expression puisque ABC + ABC = ABC. Maintenant, mettons en facteur AB dans lesdeux premiers termes et AC dans les deux derniers.

Page 52: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 46 -

( )( )( )

( ) ( )

( ) ( )

z AC ABD ABCD ABC

x A B A B D D

F2 A B .B A. B C .D (log22)

F3 A.B.C A.B.C A.BC AB

F4 A.B C.D A.B A.B.CD A BCD BCD

= + +

= + + +

= + + +

= + + +

= + + + +

Évidemment, le résultat est le même que celui trouvé avec la 1ère méthode. L'astuced'additionner un terme se trouvant déjà dans l'expression est toujours permis. En fait,on peut additionner le même terme plus d'une fois, si cela s'avère nécessaire.

EXEMPLES-EXERCICES. Simplifiez les expressions suivantes:

3. La méthode des diagrammes de Karnaugh.

Le diagramme de Karnaugh est un outil graphique qui permet de simplifier de manièreméthodique une équation logique ou le processus de passage d'une table de vérité à soncircuit correspondant. Bien que les diagrammes de Karnaugh (ou diagrammes K)soient applicables à des problèmes ayant un nombre quelconque de variables d'entrée,ils ne sont plus d'une grande utilité en pratique quand le nombre de variables dépassesix. Nous n'allons pas aborder de problèmes ayant plus de quatre entrées, puisque ceuxayant cinq et six entrées sont des problèmes d'envergure qu'il est préférable de traiteravec un programme informatique.

La forme du diagramme de Kamaugh Le diagramme K, tout comme la table de vérité, est un instrument qui met en évidenceles rapports entre les entrées logiques et la sortie recherchée. La figure suivante nousfait voir trois exemples de diagrammes de Karnaugh pour deux, trois et quatrevariables, ainsi que les tables de vérité correspondantes.

Page 53: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 47 -

Ces exemples mettent en lumière les points importants que voici:

1. La table de vérité donne la valeur de la sortie X pour chacune des combinaisons des valeurs d'entrée: par contre, le diagramme K organisel'information de manière différente. Chaque ligne de la table de vérité correspond à un carré du diagramme deKarnaugh. Par exemple, à la figurre a), la ligne A = 0 et B = 0 de la table de vérité est le carré

du diagramme K. Étant donné que pour cette ligne X vaut 1, on inscrit 1 dansABce carré. De même, on associe à la ligne A = 1 et B = 1 le carré qui a lescoordonnées AB. Comme X vaut aussi 1 dans ce cas, on retrouve un 1 dans ce carré.Les autres carrés de ce diagramme K contiennent des 0. Le même raisonnements'applique pour les diagrammes à trois et quatre variables.

2. Les carrés d'un diagramme K sont désignés de manière que les carrés adjacents horizontalement n'aient qu'une variable qui soit différente. Par exemple, le carré en haut à gauche du diagramme à quatre variables a comme

Page 54: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 48 -

coordonnées et son voisin de droite, (seule D est différente). ABCD ABCD

Il en est de même pour les carrés adjacents verticalement, leurs coordonnées nediffèrent que par une variable.

Par exemple, le carré en haut à gauche a comme coordonnées , tandis queABCD

son voisin du dessous a (seule B est différente).ABCD

Chaque case de la rangée du haut est considérée comme adjacente à la casecorrespondante de la rangée du bas.

Par exemple, la case de la rangée du haut est adjacente à la case désignéeABCD

de la rangée du bas, étant donné que ces deux désignations ne diffèrent queABCDpar la variable A. On peut imaginer que la rangée du haut est repliée et vientcontinuer la rangée du bas. C'est aussi la même chose pour les cases de lacolonne de gauche qui sont adjacentes aux cases correspondantes de la colonnede droite.

3. Pour que les cases adjacentes verticalement et horizontalement ne diffèrent que par une variable, il faut désigner les cases de haut en bas selon l'ordre que voici:

. AB,AB,AB,AB

4. Dès qu'un diagramme K est garni de 1 et de 0, il s'agit, pour obtenir l'expression de X sous la forme d'une somme de produits, d'additionnerlogiquement les carrés qui renferment un 1. Dans le diagramme à trois variables

de la figure b, les carrés ayant les désignations ABC,ABC,ABC et ABC

contiennent des l , de sorte que X ABC + ABC + ABC + ABC=

Réunion

Il est possible de simplifier l'expression de sortie X en combinant selon des règlesprécises les carrés du diagramme K qui contiennent des 1. On donne à ce processusde combinaison le nom de réunion.

Page 55: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 49 -

Réunion de doublets (de paires) La figure a) reproduit le diagramme K correspondant à une certaine table de vérité àtrois variables. Si on y regarde de près, il y a dans ce diagramme deux 1 qui sont

voisins verticalement; le premier a les coordonnées tandis que le second a lesABCcoordonnées . Notez que dans ces deux termes, seule la variable A est présente àABCla fois sous sa forme normale et sous sa forme complémentée (B et C restent tellesquelles). Ces deux termes peuvent être réunis (combinés), ce qui a pour résultatd'éliminer la variable A, puisqu'on la retrouve aussi bien non complémentée quecomplémentée.

Page 56: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 50 -

( )( )

X ABC ABC

X BC A A

X BC 1 BC

= +

= +

= =

La preuve de cette dernière affirmation est simple, la voici:

Le même principe joue toujours pour tout doublet de 1 voisins verticalement ouhorizontalement. On voit à la figure b) deux 1 voisins horizontalement. Il est possiblede réunir ces deux 1 et d'éliminer la variable C, celle qui est à la fois non

complémentée et complémentée. Le résultat est alors X AB=

Voyons un autre exemple: dans un diagramme K, la ligne du haut et la ligne du bassont considérées comme adjacentes, de sorte que dans le diagramme de la figure c)

deux 1 peuvent être réunis pour donner ABC BC BC+ =A

La figure d) montre un diagramme K qui possède deux doublets pouvant être réunis.D'abord il y a deux 1 dans la ligne du haut qui sont voisins horizontalement; ensuite, ily a deux 1 dans la ligne du bas qui sont également voisins, puisque dans un diagrammeK la colonne de droite et la colonne de gauche sont considérées comme adjacentes. La

réunion des deux 1 de la ligne du haut élimine D, pour donner , tandis que laABCréunion des deux 1 de la ligne du bas élimine C pour donner . La valeur XABDfinale est la somme logique de ces deux termes.Résumé.

La réunion d’un doublet de 1 adjacents dans undiagramme K élimine la variable qui est à la fois noncomplémentée et complémentée.

Remarque:Il faut être très attentif quant à l’affectation de la pondération des variables utilisées. En effet si on utilise une table de vérité ou une table de K à 3 variables:ABC, il faut savoir si A correspond à 20 ou à 22. Le résultat obtenu n’estévidemment pas le même.

Page 57: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 51 -

Réunion de quartets (groupes de quatre) Il peut arriver qu’un diagramme K contienne quatre 1 qui soient adjacents, c’est-à-direqu’il contienne un quartet de 1 adjacents. La figure suivante regroupe plusieursexemples de tels quartets. En a) les quatre 1 sont voisins verticalement, alors qu’en b),ils le sont horizontalement. Le diagramme de c) renferme quatre 1 arrangés en carréqui sont considérés adjacents, parce que, comme nous l’avons déjà dit, dans undiagramme K les lignes du haut et du bas et les colonnes droite et gauche sontconsidérées comme adjacentes.

Page 58: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 52 -

ABC, ABC, ABC et ABC

( ) ( )X ABC ABC ABC ABC

X AC B B AC B B

X AC AC

X C(A A)X = C

= + + +

= + + +

= +

= +

X AD=

Quand on réunit un quartet, on ne retrouve dans le terme résultant que les variables qui restent sous la même forme dans tous les carrés du quartet. Par exemple, en a), les coordonnées des quatre carrés sont:

L'examen de ces quatre termes nous apprend que seule la variable C demeureinchangée. En effet A et B apparaissent tous les deux sous la forme non complémentéeet la forme complémentée. D'où le fait que l'expression définitive pour X estsimplement X = C. En voici la démonstration:

Comme autre exemple, voyons la figure d) où quatre carrés renferment des 1, soit

. L'examen de ces termes nous révèle que seulesABCD,ABCD,ABCD,ABCD

les variables A et restent telles quelles, de sorte que l'expression simplifiée pour XDest

La preuve de ceci s'obtient comme dans les calculs précédents.

Résumé.

La réunion d’un quartet de 1 adjacents élimine les deuxvariables qui sont à la fois non complémentées etcomplémentées.

Exercice: vérifier les autres simplifications de la figure.

Page 59: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 53 -

Réunion d’octets (groupes de huit)Quand on réunit huit 1 adjacents, on dit qu'on réunit un octet de 1 adjacents. On peutvoir à la figure suivante plusieurs exemples de réunion d'octets. La réunion d'un octetdans un diagramme K à quatre variables donne lieu à l'élimination de troisvariables, car une seule variable demeure inchangée.Par exemple, observez bien les huit carrés réunis en a). Seule la variable B est toujours sous la même forme dans les huit termes, alors que toutes les autres sont noncomplémentées et complémentées. Aussi, pour ce diagramme X = B.

Résumé.

La réunion d’un d'un octet de 1 adjacents élimine lestrois variables qui sont à la fois non complémentées etcomplémentées

Exercice: vérifier les autres simplifications de la figure.

Page 60: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 54 -

Le processus de simplification au completNous venons de voir comment la réunion de doublets, de quartets et d'octets de 1adjacents dans un diagramme K aboutit à une expression simplifiée. Voici la règlegénérale valable pour toute réunion quel que soit le nombre de 1 adjacents: Quand une variable est présente à la fois sous la forme non complémentéeet la forme conplémentée dans une réunion, cette variable est éliminée del'expression. Seules apparaissent dans l’expression définitive les variablesgardant la même forme dans tous les carrés d'une réunion.

À présent, il doit être clair que plus une réunion regroupe de 1 , plus le nombre devariables éliminées est grand. Plus précisément encore, une réunion de deux 1provoque l'élimination d'une variable, un réunion de quatre 1 , l'élimination de deuxvariables et une réunion de huit 1 , l'élimination de trois variables. C'est ce principeque nous nous proposons de mettre en application pour simplifier l'expression logiqued'un diagramme K comprenant une combinaison quelconque de 0 et de 1 .

En premier lieu, énumérons les étapes de la marche à suivre, ensuite nous en verronsl'application dans quelques exemples. Voici les étapes à suivre pour simplifier uneexpression booléenne en recourant à la méthode des diagrammes de Karnaugh:1.Dessinez le diagramme K et placez des 1 dans les carrés correspondant aux lignesde la table de vérité dont la sortie est 1. Mettez des 0 dans les autres

carrés.2.Étudiez le diagramme et repérez les 1 adjacents. Encerclez les 1, dit isolés, qui ne sont voisins d'aucun autre 1.3.Ensuite, trouvez les 1 qui sont adjacents seulement à un autre 1. Réunissez ces doublets de 1 adjacents.4.Réunissez tous les octets de 1 adjacents même si des 1 se trouvent déjà dans des doublets.5.Réunissez tous les quartets de 1 adjacents qui ont au moins un 1 qui n'a pas déjà été regroupé.6.Réunissez tous les doublets nécessaires pour inclure n'importe quel 1 non encore regroupé, en prenant soin d'utiliser le moins de réunions possibles.7.Effectuez l'addition logique de tous les termes résultant des réunions.

Page 61: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 55 -

EXEMPLES.

Les conditions “indifférentes” .Certains circuits logiques peuvent être conçus pour que certaines conditions d'entréene correspondent à aucun niveau de sortie particulier, principalement parce que cesconditions ne doivent jamais survenir. En d'autres mots, il existe certaines

Page 62: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 56 -

combinaisons des niveaux d'entrée pour lesquels il nous importe peu que la sortie soitHAUTE ou BASSE. Une illustration de ce qu'on veut dire est donnée dans la table devérité de la figure si-dessous.

Dans cette table aucune valeur de z ne figure pour les conditions A, B, C = 1, 0, 0 etA, B, C = 0, I , 1. Au contraire, on a mis un x. Ce x signifie “condition indifférente”.Plusieurs raisons peuvent expliquer la présence de conditions “indifférentes “, la pluscourante étant que dans certaines situations ces combinaisons d'entrée ne peuventjamais survenir; par conséquent, il est inutile de préciser pour elles une valeur desortie.Un concepteur de circuit est libre de mettre des 0 ou des 1 vis-à-vis des conditions “indifférentes” en vue de produire l'expression de sortie la plus simple. Par exemple,dans le diagramme K correspondant à la table de vérité de la figure b) où x figure dans

les carrés et , le concepteur peut décider de mettre un 1 dans le carréABC ABCet un 0 dans le carré , puisque ceci produit un quartet de 1 adjacents quiABC ABC

peuvent être réunis pour produire z = A, comme on le voit à la figure c).En présence de conditions “indifférentes”, nous devons décider quel x de sortie estremplacé par un 0 et quel x est remplacé par un 1 en vue de réunir de la façon la plusefficace les 1 adjacents du diagramme K (pour obtenir l'expression la plus simple). Ladécision n'est pas toujours facile à prendre.

ConclusionLa méthode des diagrammes de Karnaugh présente plusieurs avantagescomparativement à la méthode algébrique. C'est une méthode dont l'application se faitde manière méthodique en suivant des étapes bien définies, habituellement moinsnombreuses surtout dans le cas d'expressions à plusieurs termes, et qui donne toujoursl'expression minimale.

Page 63: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 57 -

a.c a.b.c ab.c= +

b.c a.b.c a.b.c= +

( )F a,b,c a.b.c a.b.c ab.c= + +

4. MÉTHODE DE QUINE - Mac CLUSKEY (notes provenant du cours de MrCAPUTO)

1. INTRODUCTIONCette méthode de simplification d'une fonction logique, bien que présentant desinconvénients pas rapport à la méthode graphique tendant à rechercher les composantspremiers puis ceux que l'on doit réunir pour former la fonction, possède l'avantaged'être SYSTÉMATIQUE et donc PROGRAMMABLE.

Pour être valable, cette méthode est uniquement applicable à la fonction logique écritesous sa forme canonique dite DISJONCTIVE, c'est-à-dire qui permet de faireapparaître tous les mintermes de celle-ci.

Une fonction écrite sous sa forme réduite, c'est-à-dire dont certains termes necomportent pas TOUTES les variables indépendantes, devra nécessairement être misesous la forme canonique de façon à faire apparaître tous les mintermes.

Illustrons ceci par un exemple. Soit une fonction F définie par trois variables indépendantes a, b, c. et dontl'expression réduite est:

F=(a+b).c

Cette expression devient en application du principe de la distributivité: F = a.c + b.c

Le 1er terme a.c est le minterme réduit de deux mintermes adjacents incluant les

variables b et c'est-à-dire :b

Le second terme b.c est quant à lui le minterme réduit de deux mintermes incluant les

variables a et c'est-à-dire :a

Le terme a.b.c étant double, il ne sera comptabilisé qu'une seule fois. L'expressioncanonique de la fonction F(a,b,c) sera donc

Page 64: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 58 -

2. ÉTUDE D'UNE FONCTION COMPLÈTE

Rappelons que deux monômes adjacents ne diffèrent l’un de l’autre que par l’étatlogique d’une seule variable.

Exemples: a.b.c.d et a.b.c. d .b.c et a.b.ca

Rappelons également qu'en vertu de la relation , le groupement de deuxa a 1+ =monômes adjacents conduit automatiquement à l'élimination d'une variable.

Exemple: ( )a.b.c.d a.b.c.d a.b.c. d d a.b.c+ = + =

Le monôme ainsi obtenu est appelé monôme réduit et il contient n-1 lettres alors queles monômes initiaux en contenaient n . Les monômes se distinguent les uns des autres par une notation dite ternaire utilisantles symboles suivants:

- 0 - symbolise l'état d'une variable CONTRAIRE - 1 - symbolise l'état d'une variable DIRECTE - * - symbolise t'état d'une variable INDIFFÉRENTE

Exemple: Envisageons le cas de la fonction F(a,b,c,d) . Nous savons que la table des combinaisons des états logiques offre dans le casprésent 16 possibilités différentes. Chaque combinaison est caractérisée par unmonôme représentatif. Considérons deux monômes adjacents :

a.b.c.d et a.b.c. d

L'application de la notation ternaire permettra d'écrire: a.b.c.d = ( 1111 )

a.b.c. = ( 1110 )d

Le groupement de ces monômes donnera naissance à un monôme réduit du fait de ladisparition de la variable d , compte tenu de la propriété rappelée ci-avant. La variable d qui a été éliminée lors du processus de fusion des monômes porte

Page 65: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 59 -

a.b ( 11** )

a.b ( 10** )

=

=

F(a,b,c,d) a.b.c.d a.b.c.d (1111) (1110) (111*)et

F(a,b,c,d) a.b a.b (11**) (10**) (1***)

= + = + =

= + = + =

a.b.c et a.b.c qui donneraient a.b

a.b.c et a.b.c qui donneraient a.b

le nom de variable INDIFFÉRENTE et se trouve symbolisée par l'astérisque.

Le monôme réduit a.b.c s'écrira donc en notation ternaire:a.b.c = ( 111* )

De même, des groupements successifs peuvent amener des monômes réduits telsque:

Nous constatons donc par cette nouvelle fusion la disparition de deux variables; àsavoir les variables d et c. Ces dernières deviennent des variables indifférentes etseront notées par un astérisque dans la représentation symbolique suivante:

En résumé, nous écrirons

Ces exemples permettent d'élaborer une méthode qui peut se définir comme suit

Page 66: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 60 -

1. Pour des raisons principalement de PROGRAMMATION les mintermes de la fonction sont exprimés SYSTÉMATIQUEMENT au moyen des notations simples symbolisant les états logiques 0 et 1 ,

2. On recherche systématiquement les monômes résultant du groupement de deux monômes adjacents au moyen de la notation ternaire utilisant les symboles 0 , 1 et * ,

3. On poursuit la recherche des groupements de monômes adjacents par étapes successives jusqu'à l'épuisement des possibilités,

4. Les monômes devenus irréductibles s'appellent les IMPLICANTS PREMIERS de la fonction.

Remarques1. Le processus de simplification décrit ci-dessus sera traduit dans des tables successives.2. Les différentes tables donneront à leur tour naissance à un tableau qui laissera apparaître les implicants premiers de la fonction.

Illustrons cette méthode et ses remarques par un exemple pratique.

Soit une fonction F définie à partir de trois variables indépendantes. Dressons la tabledes combinaisons des états logiques.

RANGÉES c b a F MONÔMES REPRÉSENTATIFS

0 0 0 0 1 c.b.a

1 0 0 1 1 c.b.a

2 0 1 0 1 c.b.a

3 0 1 1 1 c.b.a

4 1 0 0 0 c.b.a

5 1 0 1 1 c.b.a

6 1 1 0 0 c.b.a

7 1 1 1 1 c.b.a

La fonction F s’écrira sous sa forme canonique:

Page 67: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 61 -

F(a,b,c) c.b.a c.b.a c.b.a c.b.a c.b.a c.b.a

F(a,b,c) c.b c.b c.a

F(a,b,c) c c.a

F(a,b,c) c a

= + + + + +

= + +

= +

= +

F(a,b,c) c a (0**) (**1)= + = +

Les implicants premiers de la fonction F sont donc et a.cLa fonction F(a,b,c) pourra donc s’écrire:

Le résultat ci-dessus s'obtiendra aisément en appliquant systématiquement la méthode décrite ci-avant. A partir de la table des combinaisons et à la suite de l’analyse dechaque rangée on peut déduire les commentaires suivants:

- un classement par ordre croissant du nombre de variables à l'état 1 entraînant obligatoirement la fonction à l'état logique 1 suscitera l'apparition de mintermes symbolisés par la notation simple 0 et 1.

Ainsi,- la rangée 0 ne laisse apparaître aucun l, donc le minterme appartient à la classe 0- la rangée 1 laisse apparaître un 1, donc le minterme correspondant appartient à la classe 1,- la rangée 2 laisse apparaître un 1, donc le minterme correspondant appartient

également à la classe 1,- la rangée 3 laisse apparaître deux l, donc le minterme correspondant appartient à la classe 2 , - la rangée 4 laisse apparaître un 1 mais la fonction F n'est pas égale à 1 donc le minterme correspondant ne sera pas retenu,- la rangée 5 laisse apparaître deux 1,donc le minterme correspondant appartient à la classe 2,- la rangée 6 laisse apparaître deux 1 mais la fonction F n'est pas égale à 1 donc le minterme correspondant ne sera pas retenu,- la rangée 7 laisse apparaître trois 1,donc le minterme correspondant appartient àla classe 3,

Page 68: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 62 -

Cette analyse systématique va permettre d'élaborer la table n°1 qui suit.

RANGÉE CLASSE NOTATION SIMPLE

0 0 0 0 0

1 1 0 0 1

2 1 0 1 0

3 2 0 1 1

5 1 1 0 1

7 3 1 1 1

A partir de la table précédente, il faut opérer des groupements de mintermes adjacentsde façon à pouvoir finalement déterminer les implicants premiers.

Remarquons que des mintermes peuvent être utilisés plusieurs fois lorsqu’ils sontadjacents à plusieurs autres. Afin de passer en revue tous les groupements possibles,on marque les termes utilisés pas l’application d'un X dans chaque table.

- rangée 0 et rangée 1: élimination d’une variable, en l’occurrence la variable ‘a’, d’où la notation ternaire (0 0 *). La rangée 0

et 1 sont marquées d’une croix.- rangée 0 et rangée 2: élimination d’une variable, en l’occurrence la variable ‘b’, d’où

la notation ternaire (0 * 0). La rangée 2 est marquée d’une croix.

- rangée 1 et rangée 3: élimination d’une variable, en l’occurrence la variable ‘b’, d’où la notation ternaire (0 * 1). La rangée 3 est marquée d’une croix.

- rangée 1 et rangée 5: élimination d’une variable, en l’occurrence la variable ‘c’, d’où la notation ternaire (* 0 1). La rangée 5

est marquée d’une croix.- rangée 2 et rangée 3: élimination d’une variable, en l’occurrence la variable ‘c’, d’où

la notation ternaire (0 1 *).- rangée 3 et rangée 7: élimination d’une variable, en l’occurrence la variable ‘c’, d’où

la notation ternaire (* 1 1). La rangée 7est marquée d’une croix.

- rangée 5 et rangée 7: élimination d’une variable, en l’occurrence la variable ‘b’, d’où la notation ternaire (1 * 1).

Page 69: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 63 -

La nouvelle analyse systématique va permettre d’élaborer la table n°2 qui suit.

N° GROUPEMENTS NOTATIONS TERNAIRES CLASSES

1 R0 et R1 0 0 * 0

2 R0 et R2 0 * 0

3 R1 et R3 0 * 1

4 R1 et R5 * 0 1 1

5 R2 et R3 0 1 *

6 R3 et R7 * 1 1 2

7 R5 et R7 1 * 1

A partir de1a table n°2, il faudra à nouveau opérer des groupements de façon à tendre finalement vers les implicants premiers de la fonction.

Il est à remarquer qu'au fur et à mesure des simplifications, le nombre de classesdiminue, 4 en table n°1 et 3 en table n°2.

On groupera les termes de la classe 0 avec les termes de la classe 1 et ensuite lestermes de la classe 1 avec les termes de la classe 2. Cela donne:

groupement N°1 et groupement N°3 : non adjacent donc non retenu. groupement N°1 et groupement N°4 : non adjacent donc non retenu. groupement N°1 et groupement N°5 : adjacent, retenu sous (0 * *).groupement N°2 et groupement N°3 : adjacent, retenu sous (0 * *).groupement N°2 et groupement N°4 : non adjacent donc non retenu. groupement N°2 et groupement N°5 : non adjacent donc non retenu. groupement N°3 et groupement N°6 : non adjacent donc non retenu. groupement N°3 et groupement N°7 : adjacent, retenu sous (* * 1).groupement N°4 et groupement N°6 : adjacent, retenu sous (* * 1).groupement N°4 et groupement N°7 : non adjacent donc non retenu. groupement N°5 et groupement N°6 : non adjacent donc non retenu. groupement N°5 et groupement N°7 : non adjacent donc non retenu.

Cette dernière analyse systématique amine à ta conclusion suivante:- les groupements N°1 et N°5 ainsi que N°2 et N°3 amène un IMPLICANT

Page 70: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 64 -

PREMIER caractérisé par ta notation (0 * *),- les groupements N°3 et N°7 ainsi que N°4 et N°6 amène un IMPLICANT PREMIER autre caractérisé par ta notation (* * 1).

Il n'est pas possible de concevoir une table N°4 car les monômes réduits obtenus sontirréductibles.Dès lors, on notera que le 1er IMPLICANT PREMIER noté (0 * *) et correspondant à

l'état contraire de la variable logique c, soit , découle de groupements successifscN°1 provenant de la fusion de R0 et de R1,N°5 provenant de la fusion de R2 et de R3,N°2 provenant de la fusion de R0 et de R2,N°3 provenant de la fusion de R1 et de R3,

On remarquera que lorsqu'un terme est utilisé plusieurs fois dans le processus de laréduction, il n'est porté en compte qu'UNE seule FOIS. D'où le 1er implicant premierdécoule des groupements de rangées 0 , 1 , 2 et 3 de la table N°1.

Un raisonnement analogue au précédent et relatif au 2d IMPLICANT PREMIER noté(* * 1) correspondant à l'état direct de la variable a permis de déduire les groupementssuccessifs:

N°3 provenant de la fusion de R1 et de R3, N°7 provenant de la fusion de R5 et de R7, N°4 provenant de la fusion de R1 et de R5,N°6 provenant de la fusion de R3 et de R7.

D'où le 2d implicant premier découle des groupements de rangées 1,3,5 et 7de la table N°l.

Cette nouvelle analyse permet la construction du tableau final ci-dessous dans lequelsont repris d'une part les implicants premiers obtenus et d'autre part les rangéesinitiales impliquées dans le processus de réduction.

Page 71: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 65 -

On examine ensuite les rangées qui ne sont utilisées qu’une seule FOIS: ici lesrangées marquées d’une croix c’est-à-dire 0, 2, 5 et 7.

Les implicants qui correspondent à ces rangées sont retenues comme nécessaires.

Dans le cas présent, l’implicant est nécessaire pour 0 et 2, alors que l’implicant acest nécessaire pour 5 et 7.

L’expression de la fonction F réduite sera donc: F c a= +

Remarquons encore que s’il subsiste des monômes, il conviendrait alors d’analyser lesdifférentes ouvertures minimales et d’y rechercher la plus simple possible.

Tableau synoptique de l’étude d’une fonction complète.

Page 72: numérique partie1 combi

Chapitre III: Simplification des fonctions logiques.

- 66 -

Page 73: numérique partie1 combi

Chapitre IV système de numération et codes.- Bases.- Passage d’un code à l’autre (entiers, réels).- Opérations arithmétiques en binaires.- La complémentation.- Classification des différents codes:

- pondérés: naturel, BCD.- non pondérés: biquinaire, quibinaire, excess3, Gray, alpha-numériques.

- Contrôle- détecteurs d’erreurs.

Page 74: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 67 -

CHAPITRE IV: SYSTÈMES DE NUMÉRATIONET CODES.

α. BASES.

1. Introduction.Ce chapitre expose la transition entre le codage et le fonctionnement intrinsèque d’un

calculateur électronique automatique ou ordinateur. Nous donnerons des exemples de codagepour le calcul numérique et nous vérifierons que l'algorithme d'une opération ne dépend pasdu système de numération choisi.

Nous n'exposerons pas la théorie des quatre opérations élémentaires (addition,soustraction, multiplication, division) mais nous établirons un parallèle entre les techniquesde ces opérations dans les systèmes de numération binaire et décimal.

Nous verrons de plus les premières notions de codage chiffré. Notions essentielles,car dans un ordinateur, même les caractères de l'alphabet (a, b, c,... , z) sont codés sous formenumérique binaire. Il faut donc se familiariser avec le calcul binaire et le codage.

2. Base d'un système de numérationa) Définition d’une base.La base d'un système de numération est le nombre de chiffres différents qu'utilise ce

système de numération.

b) Forme polynomiale.On peut décomposer tout nombre N en fonction des puissances entières de la base de

son système de numération. Considérons, par exemple, le nombre décimal(base10)93452.On notera en indice la base du système de numération dans lequel lenombre N envisagé est écrit. On a:

(93452)10 = 9 x 104 + 3 x 103 + 4 x 102 + 5 x 101 + 2 x100

Par définition, à notre échelle, tout nombre élevé à la puissance 0 égale 1: a° = 1quel que soit a.

Page 75: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 68 -

N a 10

où a est un chiffre tel que 0 a 9 les i sont des entiers 0 (i variant de 0 à n) et n est l'exposant de 10 du chiffre de poids fort. le signe signifie identique à

ii

i 0

i n

i i

≡ ×

≤ ≤≥

=

=

Dans le système décimal nous disposons des dix symboles (appelés chiffres) notés 0,1, 2, 3, 4, 5, 6,7, 8, 9. Dans un nombre quelconque:

- le chiffre de droite (2 dans notre exemple ) s'appelle le chiffre de poids faible, - celui de gauche (9 dans notre exemple) s'appelle le chiffre de poids fort.Ex Écrire N = (27674)10, sous forme polynomiale et déterminer les chiffres de poidsfort et faible.

(27674)10= 2 x 104 + 7 x 103 + 6 x 102 + 7 x 101 + 4 x 100 chiffre de poids fort: 2chiffre de poids faible: 4.

On peut généraliser cette notion et écrire sous une forme plus abstraite tout nombredécimal N de n + 1 chiffres.On aura:

c) Rang d'un chiffre.Le rang d'un chiffre d'un nombre de base b quelconque est égal à l'exposant de la baseassociée à ce chiffre dans la représentation polynomiale du nombre considéré. Soit par exemple,

N = (87 672)10 alors: 2 est de rang 0,

6 est de rang 2, 8 est de rang 4.

Le rang des chiffres croît de la droite vers la gauche. Le rang du chiffre de droite est nul par définition.

Ex. Soit N = (2345 6)10. Déterminer:a) le rang (ou poids) du chiffre 5b) le rang (ou poids) du chiffre 3

Page 76: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 69 -

N a 10

où a est un chiffre tel que 0 a 9 les i sont des entiers 0 (i variant de 0 à n) et n est l'exposant de 10 du chiffre de poids fort. le signe signifie identique à

ii

i 0

i n

i i

≡ ×

≤ ≤≥

=

=

( ){ }

N a b

où a 0,1,2, . . . , b -1 les i sont des entiers 0 et n est l'exposant de b du chiffre de poids fort.

ii

i 0

i n

i

≡ ×

∈≥

=

=

{ }

N a 6

où a 0,1,2,3,4,5 les i sont des entiers 0 et n est l'exposant de 6 du chiffre de poids fort.

ii

i 0

i n

i

≡ ×

∈≥

=

=

Rép. a): 1b): 3

d) Représentation polynomiale d'un nombre n de base b quelconque .Nous avons vu la décomposition de tout nombre décimal N en fonction de sespuissances entières de 10, soit:

Remarque:

On aurait dû écrire en toute rigueur mathématique: { }a 0,1,2,3,4,5,6,7,8,9i ∈Dans le cas d'une base b quelconque on respectera la même notation et les mêmesconventions. Tout nombre N de base b sera donc décomposable en fonction despuissances entières de b.On aura donc:

Exemple1: Dans le système à base 6, on aura:

soit, (54321) 5 6 4 6 3 6 2 6 1 664 3 2 1 0≡ × + × + × + × + ×

Page 77: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 70 -

{ }

N a 9

où a 0,1,2,3,4,5,6,7,8 les i sont des entiers 0 et n est l'exposant de 9 du chiffre de poids fort.

ii

i 0

i n

i

≡ ×

∈≥

=

=

{ }

N a 12

où a 0,1,2,3,4,5,6,7,8,9, A,B les i sont des entiers 0 et n est l'exposant de 12 du chiffre de poids fort.

ii

i 0

i n

i

≡ ×

∈≥

=

=

{ }

N a 2

où a 0,1 les i sont des entiers 0 et n est l'exposant de 2 du chiffre de poids fort.

ii

i 0

i n

i

≡ ×

∈≥

=

=

Exemple2: Dans le système à base 9, on aura:

soit, (87836) 8 9 7 9 8 9 3 9 6 994 3 2 1 0≡ × + × + × + × + ×

Exemple3: Dans le système à base 12, on aura:

soit, (9A73B) 9 12 A 12 7 12 3 12 B 12124 3 2 1 0≡ × + × + × + × + ×

Exemple4: Si b=2, le système de numération est appelé binaire et l’on aura:

soit, (101101) 1 2 2 2 2 2 225 4 3 2 1 0≡ × + × + × + × + × + ×0 1 1 0 1

Page 78: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 71 -

{ }

N a 8

où a 0,1,2,3,4,5,6,7 les i sont des entiers 0 et n est l'exposant de 8 du chiffre de poids fort.

ii

i 0

i n

i

≡ ×

∈≥

=

=

( )

(101101) 1 2 0 2 1 2 1 2 0 2 1 2 1 32 0 16 1 8 1 4 0 2 1 1 32 8 4 1 45

25 4 3 2 1 0

10

≡ × + × + × + × + × + ×≡ × + × + × + × + × + ×≡ + + +

( )

(6734) 8 7 8 3 8 4 8 6 8 3072 4 3458

83 2 1 0

10

≡ × + × + × + ×≡ × + × + × + ×≡ + + +

6512 7 64 3 4 1

448 24

( )

(A732) 16 7 3 2 42802

163 2 1 0

10

≡ × + × + × + ×≡ × + × + × +≡ + + +

A 16 16 2 1610 4096 7 256 3 16 240960 1792 48

e) Représentation polynomiale d'un nombre N de base b quelconque .La valeur décimale d'un nombre N de base b s'obtient par sa forme polynomiale vue auparagraphe précédent.Exemple 1 Déterminer la valeur décimale de N = (101101)2.

Exemple 2 Déterminer la valeur décimale du nombre octal (base 8) N = (6734)8

Exemple 3 Déterminer la valeur décimale du nombre hexadécimal (base 16) N = (A732)16.

β. PASSAGE D’UN CODE À L’AUTRE - Changement de base.

1. Premier procédé de conversion d'un nombre de base décimale en unnombre de base b quelconque

Exemple1 Convertir le nombre N = (39487)10,en nombre octal.Nous savons que le nombre N cherché s’écrit:

Page 79: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 72 -

Le problème revient à déterminer les valeurs de ai. Pour cela, appliquer l'algorithmesuivant: chercher la plus grande puissance entière de 8 contenue dans N =(39487), retrancher cette quantité de (39487)10, considérer maintenantle reste obtenu et recommencer ce processus.

Il faut donc connaître les différentes puissances entières de 8. Elles figurent dans latable ci-dessous.

i 8i

0 11 82 643 5124 40965 32768

On aura successivement:

Page 80: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 73 -

Donc: (39487)105 4 3 1 0≡ × + × + × + × + ×1 8 1 8 5 8 7 8 7 8

On voit que 8² est absent, d’où a2 = 0, d’après notre relation.On a donc ( )N = =(39487)10 115077 8

Exemple2 Convertir le nombre N = (47375)10,en binaire.Comme précédemment pour 8, dressons une table des puissances entières de 2 et retranchons chaque fois la plus grande puissance entière de 2 possible.

Et l’on a : N (47375) 2 2 2 2 2 2 2 2 21015 13 12 11 8 3 2 1 0= ≡ + + + + + + + +

On voit que les termes sont absents. Nous en concluons 2 ,2 ,2 ,2 ,2 ,2 ,214 10 9 7 6 5 4

donc que a a a a a a a 014 10 9 7 6 5 4= = = = = = =

Donc, ( )N (47375) 101110010000111110 2= =

Page 81: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 74 -

( ){ }

N a b

où a 0,1,2, . . . , b -1 les i sont des entiers 0 et n est l'exposant de b du chiffre de poids fort.

ii

i 0

i n

i

≡ ×

∈≥

=

=

RÉSUMÉ.Dans ce premier algorithme on applique directement la formule:

On dresse une table donnant les différentes puissances entières de la base b dusystème de numération dans lequel on veut convertir le nombre décimal.

Au nombre décimal donné, on retranche la plus grande puissance entière de bpossible.

Cette puissance définit le rang du chiffre dans la représentation en base b dunombre.

Le nombre de fois (<b) qu’on retranche cette puissance définit le chiffre de cerang. (En binaire, on ne peut avoir que 1 ou 0, la valeur du chiffre à écrire est doncimmédiate).

2. Deuxième procédé de conversion d'un nombre de base décimale en unnombre de base b quelconque.

Cette méthode est simple et plus rapide que la précédente. Il est donc conseillé de

l’utiliser dans tous les problèmes de conversion.

RÉSUMÉ.Cet algorithme consiste à diviser le nombre à convertir par la base du nouveau système et à conserver le reste. On répète ce processus en considérant chaque foisle quotient obtenu. On écrit ensuite tous les restes à partir de la fin et de gauche àdroite, en les convertissant en lettres s’il y a lieu.

Page 82: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 75 -

( )

N 16 14 4 189520

4 3 2 1 0

10

≡ × + × + × + × + ×≡ × + × + × + × +≡ + + +

2 16 16 5 16 0 162 65536 14 4096 4 256 5 16 0131072 57344 1024 80

Exemple1 Convertir le nombre N = (189520)10, en hexadécimal.

On a donc N = (189520)10 = (2E450)16.

Vérification:

Exemple 2 Convertir le nombre N = (231)10, en binaire.

Donc N=(231)10 =(11100111)2

Page 83: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 76 -

{ }

r / s a 10

où a 0,1,2, . . . ,9 les i sont des entiers 0 et n est l'exposant de 10 du chiffre de poids faible.

i-i

i 0

i n

i

≡ ×

∈>

=

=

{ }

r / s a b

où a 0,1,2, . . . , (b -1) les i sont des entiers 0 et n est l'exposant de 10 du chiffre de poids faible.

i-i

i 0

i n

i

≡ ×

∈>

=

=

( )

N 2 2 2 2 2 128 2 1 231

7 6 5 2 1 0

10

≡ + + + + +≡ + + + + +

264 32 4

N 8 10-1 2 10-2 3 10-3 7 10-4 4 10-5

2 10-6 1 10-7≡ × + × + × + × + × +

× + ×

Vérification:

3. Nombres fractionnaires..

Rappel sur les nombres fractionnaires de base 10.Nous savons qu’un nombre fractionnaire décimal N, par exemple (0,8237421)10 peut se décomposer sous la forme:

Les rangs seront :-1, -2, -3, -4, -5, -6 et -7. d’une façon générale, si un nombre fractionnaire décimal r/s est inférieur à 1, on peut le mettre sous la forme:

Si le système envisagé est de base b, on adoptera les mêmes conventions; on écrira

donc un nombre fractionnaire sous la forme:

Page 84: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 77 -

N 1 2-1 0 2-2 1 2-3 1 2-4 0 2-5

0 2-6 1 2-7 1 2-8 0 2-9 1 2-10≡ × + × + × + × + × +

× + × + × + × + ×

N 1 8-1 6 8-2 3 8-3≡ × + × + ×

PROBLÈME 1: Convertir un nombre fractionnaire inférieur à 1 de base b en décimal..

Exemple 1: Convertir N=(0,1011001101)2 en décimal.Nous aurons:

Pour calculer ce nombre, il nous faut des valeurs décimales des puissances négativesde 2. Elles apparaissent dans la table suivante.

i 2-i

1 0,52 0,253 0,1254 0,06255 0,031256 0,0156257 0,00781258 0,003906259 0,00195312510 0,0009765625

La somme 0,5+ 0,125+ 0,0625+ 0,0078125+ 0,00390625

+ 0,0009765625 Donne N = (0,7001953125)10

Exemple 2: Convertir N=(0,163)8 en décimal.Nous aurons:

Page 85: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 78 -

i 8-i

1 0,1252 0,0156253 0,001953125

La somme 0,125+ 0,093750

+ 0,005859375 Donne N = (0,224609375)10

PROBLÈME 2: Convertir un nombre décimal fractionnaire en un nombre de base b.

Exemple 1: Convertir N=(0,72145)10 en binaire.Solution: L’algorithme utilisé est analogue à celui rencontré précédemment (page 75), mais au lieu d’une division, on aura une multiplication.

Donc, N =(0,72145)10 = (0,101110001)2

Il suffit donc d’écrire de gauche à droite les nombres encadrés pris de haut en bas.

Exemple 2: Convertir N=(0,732)10 en octal.Solution

Page 86: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 79 -

( )

( )

0,56662 5 8-1 6 8-2 6 8-3 6 8-4 2 8-5

en ne pre

ce qui est une bonne approximation

80 625 0 093750 0 011718750

0 730468750 10

≡ × + × + × + × + ×

= + +

=

, , ,

,

nant que les 3 premiers termes

Donc, N=(0,732)10 = (0,56662)8

Vérification par l’expression polynomiale:

4.Conversion binaire-octal et vice versa..Quatre chiffres binaires ou bits permettent 24=16 combinaisons et donc d’écrire les

seize entiers de 0 à 15 selon le tableau ci dessous.

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

10 1 0 1 0

11 1 0 1 1

12 1 1 0 0

13 1 1 0 1

14 1 1 1 0

15 1 1 1 1

Ce code est nommé code binaire naturel et dans notre cas plus spécifique code 8421. Chacun de ces chiffres représente le poids d’un bit. Ce code sera très souvent utiliséultérieurement en techniques numériques: il serait donc utile qu’il vous soit familierdès à présent.Nous allons maintenant illustrer comment convertir rapidement un nombre de base 2 en un nombre de base 8.

Page 87: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 80 -

Règle:

A partir de la virgule, grouper les bits par blocs de trois en allantvers la gauche pour la partie entière et vers la droite pourra lapartie fractionnaire. convertir ensuite ces blocs en octal selon lecode 8421.

Cette propriété découle du fait que la base 8 du système octal est une puissance entièrede 2, en effet 8 =23

Exemple 1: Convertir en octal le nombre suivant: N = ( 110 111 011 , 001 101)2

= ( 6 7 3 , 1 5 )8

Exemple 2: Convertir N = (567,315)8 en binaire.Solution: Ecrire, par blocs de 3 bits, la valeur binaire des chiffres du nombre octal. On

obtient dans ce cas:N = ( 101 110 111 , 011 001 101 )2

Exemple 3: Convertir N= (79182)10 en binaire.Nous allons d’abord convertir le nombre décimal en base 8. Ensuite, nous convertirons chacun des chiffres trouvés en binaire (sur 3 bits car 8 = 23 ).C’est une méthode plus rapide que la conversion directe en binaire car le nombre de

divisions par 2 est trois fois plus grand que celui des divisions par 8.

Page 88: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 81 -

Donc: N = (79182)10 = (232516)8

= (010 011 010 101 001 110)2

5.Conversion binaire-hexadécimal et vice versa..

La base du système de numération hexadécimal est aussi une puissance entière de 2, eneffet 16=24. On a donc les mêmes propriétés que pour le système octal, mais cette foison groupe les bits par blocs de quatre.

Exemple 1: Convertir en hexadécimal le nombre suivant: N = ( 1001 1100 1011 1010 , 0111)2

= ( 9 C B A , 7 )16

Exemple 2: Convertir N= (11432)10 en binaire.Nous allons d’abord convertir le nombre décimal en base 16. Ensuite, nous convertironschacun des chiffres trouvés en binaire (sur 4 bits car 16 = 24 ).

Page 89: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 82 -

1 10 10101 10 1010× =

× =

1 1 10101 101 1010+ =

+ =

0 0 00 1 1+ =+ =+ =+ =

1 0 11 1 0 et report de 1

Donc: N = (11432)10 = (2CA8)16

= (0010 1100 1010 1000)2

Exemple 3: N = (A78,B32)16

= (1010 0111 1000 , 1011 0011 0010)2

γ. OPÉRATIONS ARITHMÉTIQUES EN BINAIRE 1. L’addition.

Rm: Multiplier un nombre décimal par (10)10 revient à lui ajouter un 0. De la mêmefaçon, multiplier un nombre binaire par (10)2 revient à lui ajouter un 0:

Cela nous permet de faire une autre remarque: ajouter à un nombre son égal revient à

le multiplier par (10)2 , donc à lui ajouter un 0:

Dressons la table d’addition:

L’algorithme de l’addition des nombres binaires est le même que celui de l’addition desnombres décimaux.

Page 90: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 83 -

0 0 00 1 1− =− =− =− =

et retenue de 1.

1 0 11 1 0

Exemple1:

Exemple2:

Pour 1+1 écrire 0 et reporter 1. Pour 1+1 et 1 de report, ce qui revient à 1+1+1, écrire 1 et reporter 1, ce qui revient à 11.Il faut faire de nombreux exercices pour se familiariser avec l’addition en binaire.

2. La soustraction.Lorsque le diminuteur est plus petit que le diminuende, on aura un résultat de signe

positif. Dans le cas contraire, intervertir les termes et affecter le résultat du signe (-)(moins).

Dressons la table de la soustraction:

Exemple.

1 0 1 1 0 1 1 - 1 0 1 1 1 1

1 0 1 1 0 0

Page 91: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 84 -

0 0 00 1 0× =× =× =× =

1 0 01 1 1

3. La multiplication.La disposition des nombres à multiplier est la même en binaire qu’en décimal, l’algorithme est aussi le même.

Dressons la table de multiplication:

Si on multiplie par 1, écrire le multiplicande et si on multiplie par zéro, écrire 0.

Exemple1:

Exemple2. 1 1 0 1 1 0 1

4. La division.Pour la division binaire, on utilise la même disposition et le même algorithme que pourune division en base 10. Les chiffres du quotient, plus simples, sont 0 ou 1; 1 lorsque lediviseur est plus petit que le dividende et 0 dans l’autre cas.

Dividende * Diviseur * * Quotient

*

Reste

Page 92: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 85 -

Exemple1:

Exemple2:

δ. LA COMPLÉMENTATION.1. Complément à 1.En décimal, on forme le complément à 9 d'un nombre, par exemple 78543, ensoustrayant de 9 chaque chiffre de ce nombre. Dans notre cas, on obtient 21456. Lasomme de ces nombres donne 99999.

En binaire, on forme le complément à l d'un nombre en soustrayant de 1 chaque bit dece nombre. Le complément à 1 de 101101110010, par exemple, est 010010001101.

Donc, pour obtenir le complément à 1 d'un nombre binaire il suffit de complémenter

Page 93: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 86 -

673425326575

1000000+

1000000− 673425 326575

100000000000 1101011010

0010100110−

0010100101

0010100110+ 1

chaque bit: lorsqu'on a 1, écrire 0 et lorsqu'on a 0, écrire 1. La somme d'un nombrebinaire et de son complément à 1 est un nombre binaire uniquement composé de 1.

2. Le complément à 2.En décimal, on forme le complément à 10 ou complément vrai d'un nombre, parexemple 673425, en soustrayant de 10 le chiffre de rang 0 et de 9 les autres. Dans notrecas on obtient 326575.Effectuons la somme de ces deux nombres

On obtient

Trouver le complément à 10 d'un nombre revient à le soustraire de la puissance de 10

immédiatement supérieure.

En binaire, trouver le complément à 2 d'un nombre revient à le soustraire de lapuissance de 2 immédiatement supérieure. Par exemple le complément à 2 de1 1 0 1 0 1 1 0 1 0 est le résultat de la soustraction

Trouver le complément à 2 revient aussi à trouver le complément à 1 (en complémentantchaque bit) et à ajouter 1 au résultat. Dans le cas précédent on obtiendrait:

Une troisième méthode consiste à conserver tous les bits à partir de la droite jusqu'aupremier 1 compris et de changer les autres bits de 0 en 1 ou de 1 en 0 comme pour lecomplément à 1. Dans notre cas on aurait:

0010100110 bits conservés.

Exemple Trouver le complément à 2 de 101101101000Réponse: 010010011000

Page 94: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 87 -

3- Soustraction par complémentation à 1 et addition.

Voyons maintenant une propriété du complément des nombres qui permettra de justifierun autre algorithme pour la soustraction. Nous tirerons cette propriété d'un exemple surdes nombres décimaux.

Soit la soustraction en décimal 17382

−+

1245704925

Si nous prenons le complément à 9 du diminuteur, nous obtenons 87542 qui ajouté audiminuende donne:

Cette façon de procéder s’applique également aux nombres binaires en utilisant le

complément à 1.

Exemple1: Soit la soustraction suivante:

Exemple2: Soit la soustraction suivante:

Page 95: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 88 -

On peut déjà prévoir que l’on peut se passer d’ajouter 1 à la fin si on prend le complément à 2 du nombre à soustraire. Dans ce cas, on aura ajouté 1 au moment de lacomplémentation et le résultat sera le même.

4. Soustraction par complémentation à 2 et addition.

Exemple 1: soit la soustraction suivante:

Exemple 2:

Remarque 1: 11010 est équivalent à 00011010, les zéros en tête du nombre n’étant pas significatifs.

Remarque 2: dans cet exemple on a remplacé les chiffres manquants en tête du nombre par des zéros, ce qui nous a donné des 1 au moment de la complémentation. Cette remarque est très importante sinon on ne retrouve pas le résultat de la soustraction.

5. Nombres positifs et négatifs binaires normalisés à huit caractères.Les signes + et - ne sont pas assimilables tels quels par un ordinateur lequel ne connaîtque deux états: 0 et 1. On convient donc de les représenter par un bit qui occupera lacase de gauche du jeu de cases d'écriture du nombre considéré. Ce bit est appelé le bitde signe.

On peut, par exemple, représenter le signe + par 0 et le signe - par 1. C'est la conventiongénéralement adoptée.

Page 96: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 89 -

De plus, dans la plupart des cas, on représente les nombres négatifs sous la formecomplément à 2.

C'est le mode d'écriture que nous retiendrons. Nous représenterons les nombres sousforme normalisée à huit caractères. Les nombres négatifs seront représentés sous leurforme complément à 2.

Exemple: Représenter sous forme binaire normalisée à huit caractères les nombresdécimaux.

ε. LES CODES.

Introduction.L'action de faire correspondre à des nombres, des lettres ou des mots, un groupespécial de symboles s'appelle codage et le groupe de symboles un code. Un des codesque vous connaissez peut-être le mieux est le code Morse dans lequel on utilise unesérie de points et de traits pour représenter les lettres de l'alphabet.

Tous les codes que nous avons considéré jusqu’à présent ont toujours été considérés à partir de la base de numération et la valeur attribuée à un chiffre l’a toujours été enfonction de sa pondération c’est-à-dire du rang qu’il occupait dans le nombre; il existeégalement des codes non pondérés pour lesquels seule la combinaison des signes estsignificative de la valeur du nombre considéré.

Nous aurons donc:

Page 97: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 90 -

A- les codes pondérés

1- Code binaire naturel : base2: binaire pur Dans ce code chaque bit (binary digit) ou eb (élément binaire) est affecté du poidscorrespondant à 2 exposant le rang qu’il occupe dans le nombre.

On parlera L.S.B. (Least significant bit) élément binaire de poids le plus faible M.S.B. (Most significant bit) élément binaire de poids le plus fort.

On parlera de code N.B.C.D (Natural binary coded décimal) ou code 8 4 2 1 (1,2,4,8) lorsque la clé de codage est basée sur l’utilisation de 4 lettes:

A B C D20 21 22 23

1 2 4 8

2. Code DCB (décimal codé binaire)Nous avons vu que tout nombre décimal pouvait être converti en son équivalent binaire.Il est possible de considérer le groupe de 0 et de 1 du nombre binaire comme un codequi représente le nombre décimal. Quand on fait correspondre à un nombre décimal sonéquivalent binaire, on dit qu'on fait un codage binaire pur.

Les circuits numériques fonctionnent avec des nombres binaires exprimés sous uneforme ou sous une autre durant leurs opérations internes, malgré que le monde extérieursoit un monde décimal. Cela implique qu'il faut effectuer fréquemment des conversionsentre les systèmes binaire et décimal. Nous savons que pour les grands nombres, lesconversions de ce genre peuvent être longues et laborieuses. C'est la raison pourlaquelle on utilise dans certaines situations un codage des nombres décimaux quicombine certaines caractéristiques du système binaire et du système décimal.

Code décimal codé binaire Si on représente chaque chiffre d'un nombre décimal par son équivalent binaire,on obtient le code dit décimal codé binaire (abrégé dans le reste du texte par DCB).Comme le plus élevé des chiffres décimaux est 9, il faut donc 4 bits pour coder leschiffres (le code binaire de 9 est 1001).

Page 98: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 91 -

Exemples:

(874)10 = (1000 0111 0100)DCB

(943)10 = (1001 0100 0011)DCB

Remarque: - On fait toujours correspondre 4 bits à chaque chiffre.- Seuls les groupes binaires 0000 à 1001 sont utilisés. - Le code DCB ne fait pas usage des groupes 1010, 1011, 1100, 1101, 1110 et 1111.Autrement dit, seuls dix des 16 groupes de 4 bits sont utilisés. Si l'une des combinaisons« inadmissibles » apparaît dans une machine utilisant le code DC B, c'est généralementle signe qu'une erreur s'est produite.

(0110100000111001) DC B =(6839)10 (011111000001) DC B =(7***1)10 *** représente une erreur: en effet, 1100

n’est pas accepté

Comparaison entre code DCB et nombre binaire.Il importe de bien réaliser que le code DC B n'est pas un autre système de numérationcomme les systèmes octal, décimal ou hexadécimal. En fait, ce code est le systèmedécimal dont on a converti les chiffres en leur équivalent binaire. En outre, il faut biencomprendre qu'un nombre DCB n'est pas un nombre binaire pur. Quand on code selon lesystème binaire pur, on prend le nombre décimal dans son intégralité et on le convertiten binaire, sans le fractionner; par ailleurs, quand on code en DCB, c'est chaque chiffeindividuel qui est remplacé par son équivalent binaire. À titre d'exemple, prenons lenombre 137 et trouvons son nombre binaire pur puis son équivalent DCB:

(137)10 = (10001001)2 = (0001 0011 0111)DCB

Le code DC B nécessite 12 bits pour représenter 137 tandis que le nombre binairepur n'a besoin que de 8 bits. Il faut plus de bits en DCB qu'en binaire pur pourreprésenter les nombres décimaux de plus d'un chiffre. Comme vous le savez, il en estainsi parce que le code DCB n'utilise pas toutes les combinaisons possibles de groupesde 4 bits; c'est donc un code peu efficace.

Le principal avantage du code DCB provient de la facilité relative avec laquelle onpasse de ce code à un nombre décimal, et vice versa.. Il ne faut retenir que les groupesde 4 bits des chiffres 0 à 9. C'est un avantage non négligeable du point de vue dumatériel, puisque dans un système numérique ce sont des circuits logiques qui ont lacharge d'effectuer ces conversions.

Page 99: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 92 -

B. Les codes non pondérés.

Pour ce codage le bit considéré individuellement n’a aucune signification particulière, c’est le groupement qui doit être considéré.Le groupe de codes non pondérés le plus important est le groupe des codes réfléchis

qui est doté d’une propriété très importante: entre 2 positions successives du code, onn’aura jamais qu’un seul changement de bit, cette propriété est très intéressante pour lavitesse de travail du système (1 seul temps de commutation), mais aussi l’erreuréventuelle de lecture ou de codage n’implique qu’une erreur de 1 par rapport à lagrandeur du chiffre codé. (codage angulaire)

1. Système biquinaire et quibinaire. Ces systèmes utilisent 7 bits par chiffre décimal, parmi ces 7 bits, 2 sont des 1 et deux

seulement. Ceci permet d’effectuer très rapidement le contrôle d’une transmissiond’information en vérifiant la parité des 1. ce sont des systèmes dits 2 sur n, dans cecas 2 sur 7 (on peut rencontrer 2 sur 5, 3 sur 9).

A) biquinaire.Les deux premiers bits à gauche indiquent la présence ou l’absence du poids 5, les 5 autres indiquent la présence ou l’absence de 0,1,2,3 ou 4. Ainsi, tout chiffreinférieur à 5 commence par 01 et tout chiffre supérieur à 5 commence par 10.B) quibinaire.Les deux derniers bits à droite indiquent qu’il s’agit d’un nombre impair 10 ou

pair ou zéro.N biquinaire quibinaire

50 43210 86420 10

0 01 00001 00001 01

1 01 00010 00001 10

2 01 00100 00010 01

3 01 01000 00010 10

4 01 10000 00100 01

5 10 00001 00100 10

6 10 00010 01000 01

7 10 00100 01000 10

8 10 01000 10000 01

9 10 10000 10000 10

Page 100: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 93 -

2. Code Majoré de trois Le code majoré de trois a une certaine parenté avec le code DCB et on y a parfois

recours en raison de la facilité avec laquelle on peut faire certains calculsarithmétiques. Le code majoré de trois d'un nombre décimal se trouve de la mêmemanière que le code DCB, sauf qu'on ajoute trois à chaque chiffre décimal avantd'opérer la conversion.

Exemple1Trouver le code majoré de trois (dit aussi code plus trois) du nombre décimal 4.On ajoute d'abord 3 à ce dernier, ce qui donne 7, puis on trouve le groupe de 4 bits quiest équivalent à ce dernier nombre, soit 0111.

Exemple2Trouver le code majoré de trois (dit aussi code plus trois) du nombre décimal 48.

1. 4 + 3 = 7 (0111)2

2. 8 + 3 = 11 (1011)2

réponse: 0111 1011

Le tableau suivant donne la liste des représentations DCB et code majoré de trois pourles dix chiffres décimaux. Notez que dans ces deux codes, seuls dix des 16combinaisons possibles sont retenues. Cependant, dans le code majoré de trois, onn'utilise pas les mêmes combinaisons que dans le code DC B. Ainsi, dans le code majoréde trois, les groupes non valides sont 0000, 0001, 0010, 1101, 1110 et 1111.

Décimal DCB Majoré de trois0 0000 00111 0001 01002 0010 01013 0011 01104 0100 01115 0101 10006 0110 10017 0111 10108 1000 10119 1001 1100

Page 101: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 94 -

3. Code Gray ou binaire réfléchi.Le code Gray appartient à la catégorie des codes dit à distance minimale, du faitqu'une représentation codée ne diffère de celle qui la précède que par un bit. Lecode Gray est un code non pondéré, c'est-à-dire que les positions binaires desgroupes codés ne sont affectées d'aucun poids. C'est pourquoi ce code ne convientpas du tout aux calculs arithmétiques, mais se retrouve surtout dans des applicationsd'entrée et de sortie et dans des convertisseurs analogiques-numériques.

Le tableau suivant nous fait voir en parallèle les représentations du code Gray pour lesnombres décimaux de 0 à 15 et celles du code binaire pur.

Décimal Binaire Gray Décimal Binaire Gray0 0000 0000 8 1000 11001 0001 0001 9 1001 11012 0010 0011 10 1010 11113 0011 0010 11 1011 11104 0100 0110 12 1100 10105 0101 0111 13 1101 10116 0110 0101 14 1110 10017 0111 0100 15 1111 1000

Un examen des groupes du code Gray pour chaque chiffre décimal montre bien quelorsqu'on passe d'un certain chiffre au suivant, il n'y a qu'un bit qui est différententre les deux groupes. Par exemple, la représentation de 3 dans le code Gray est 0010et celle de 4 0110, il n'y a que le deuxième bit à partir de la gauche qui soit différent. Demême, entre 14 et 15, soit entre 1001 et 1000, seul le dernier bit n'est pas pareil. Onvient de voir là la principale caractéristique du code Gray; à l'opposé, dans le codebinaire, il peut y avoir jusqu'à quatre bits différents d'une représentation à l'autre.

Le code Gray sert souvent dans des situations où d'autres codes, comme le codebinaire, peuvent produire des résultats ambigus ou erronés au moment detransitions entraînant le changement de plusieurs bits dans le code. Par exemple,dans le code binaire, lorsqu'on passe de 0111 à 1000, les quatre bits changent en mêmetemps. Suivant le dispositif ou le circuit qui produit les bits, il pourra y avoir undifférence prononcée entre les temps de transition des divers bits. Si c'est le cas, latransition 0111 à 1000 pourra occasionner un ou plusieurs états intermédiaires. Donc,s'il arrive que le bit de poids le plus fort change avant les autres, on observera lestransitions suivantes:

Page 102: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 95 -

0 1 1 1 ÷ décimal91 1 1 1 ÷ code erroné 9 9 91 0 0 0 ÷ chiffre décimal 8

L'apparition de 1111 est seulement temporaire mais cette représentation peut, comme ens'en doute bien, donner lieu à un fonctionnement imprévisible des circuits contrôlés parces bits. Évidemment, avec le code Gray une telle situation est impossible puisqu'unseul bit est changé à la fois au cours d'une transition.

Remarque: Ce code binaireest dit réfléchi, car n-1 de ses bitspeuvent être générés par réflexioncomme l’illustre le tableau précédent:c’est comme si l’on plaçait un miroiractif sur les axes pour reproduire leséléments du code, d’où le nom decodes réfléchis.

Exemple d’application du code Gray

Le diagramme simplifié d'un codeur muni d'un mécanisme de positionnement rotatif estillustré à la figure suivante. Trois anneaux conducteurs concentriques sontsegmentés en huit secteurs. Chaque secteur de chaque anneau est fixé à une tension deniveau HAUT ou de niveau BAS afin de représenter 1 ou 0. Le 1 correspond à unsecteur foncé et le 0 correspond à un secteur blanc. Les anneaux, tournantavec l'arbre, établissent des contacts électriques avec un arrangement de frotteurs àposition fixe, sur lesquels sont connectées des lignes de sortie. À mesure que l'arbreaccomplit une rotation de 360° dans le sens anti-horaire, les huit secteurs se déplacentsur les trois frotteurs en produisant une sortie binaire de 3 bits correspondant à laposition de l'arbre.

La figure a) illustre l'arrangement binaire des secteurs, permettant, aux frotteurs depasser consécutivement de 000 à 001 à 010 à 011 et ainsi de suite. Les frotteursproduisent une sortie de 1 lorsqu'ils passent sur un secteur foncé et une sortiede 0 lorsqu'ils traversent un secteur blanc. Si un frotteur est légèrement enavance sur les autres durant sa transition d'un secteur à un autre, il peutproduire une sortie erronée. Imaginons ce qui se produit lorsque les frotteurs sontsur le point de quitter le secteur 111 pour entrer dans le secteur 000. Si le frotteurdu MSB est légèrement en avance, la position est indiquée incorrectement avec une

Page 103: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 96 -

transition de 011 au lieu du 111 ou du 000. Il est pratiquement impossible deconserver un alignement mécanique précis de tous les frotteurs dans ce typed'application. Par conséquent, il est inévitable que des erreurs se produiront lors desnombreuses transitions entre les secteurs.

Le code Gray est employé pour éliminer ce problème d'erreurs inhérent au code binaire.La figure b) montre que le code Gray assure le changement d'un seul bit entre les secteursadjacents. Il n'y a donc plus d'erreur possible lors des transitions, même si les frotteurs nesont pas alignés précisément. Examinons encore ce qui se passe lorsque les frotteurssont sur le point de quitter le secteur 111 pour glisser sur le secteur suivant, 101. Les deuxseules sorties possibles durant cette transition sont 111 et 101, peu importel'alignement des frotteurs. Une situation similaire se produit également pour les transitionsde tous les autres secteurs.

Représentation d’un nombre décimal en Gray.

Procédé:- 1. Convertir le nombre en binaire.- 2. Le bit de poids le plus fort du code Gray, situé à l’extrême gauche, est le même que le MSB correspondant du nombre binaire.- 3. En vous déplaçant de gauche à droite, additionnez chaque paire de bits adjacente du code binaire pour obtenir le bit suivant du code Gray. Rejetez les retenues. (C’est un OU exclusif!!!)

Page 104: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 96 bis-

( ) ( )

( ) ( ) ( )

( ) ( )

( ) ( ) ( )

( ) ( )

( ) ( ) ( )

45 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 145 101101 111011

46 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 146 101110 111001

47 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 047 101111 111000

10 2

10 2 gray

10 2

10 2 gray

10 2

10 2 gray

=⊕ ⊕ ⊕ ⊕ ⊕ ⊕

= =

=⊕ ⊕ ⊕ ⊕ ⊕ ⊕

= =

=⊕ ⊕ ⊕ ⊕ ⊕ ⊕

= =

Exemples: écrire les nombres 45,46,47 en Gray

Comme on le voit facilement, un seul bit change d’état d’un nombre à l’autre.

Représentation d’un nombre Gray en décimal.

Procédé:- 1. Le bit de poids le plus fort du code binaire, situé à l’extrême gauche, est identique au bit correspondant du code Gray correspondant du nombre binaire.- 2. Additionnez chaque nouveau bit du code binaire créé au bit de code Gray adjacent suivant (situé immédiatement à droite). Rejetez les retenues.- 3. Convertir ce nombre binaire en décimal.

Exemples: écrire les nombres (111011)gray (111001)gray, (111000)gray en binaire et en

décimal.

Page 105: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 97

4- Les codes alphanumériques.

Un ordinateur ne serait pas d'une bien grande utilité s'il était incapable de traiterl'information non numérique. On veut dire par là qu'un ordinateur doit reconnaître descodes qui correspondent à des nombres, des lettres, des signes de ponctuation et descaractères spéciaux. Les codes de ce genre sont dit alphanumériques. Un ensemble decaractères complet doit renfermer les 26 lettres minuscules, les 26 lettres majuscules, lesdix chiffres, les 7 signes de ponctuation et entre 20 à 40 caractères spéciaux comme + , /, #, %. On peut conclure qu'un code alphanumérique reproduit tous les caractères et lesdiverses fonctions que l'on retrouve sur un clavier standard de machine à écrire oud'ordinateur.

Code ASCII

Le code alphanumérique le plus répandu est le code ASCII (American Standard Code forInformation Interchange); on le retrouve dans la majorité des ordinateurs. Le code ASCII(prononcé « aski ») est un code à 7 éléments, on peut donc représenter grâce à lui 27 = 128groupes codés. C'est amplement suffisant pour reproduire toutes les lettres courantes d'unclavier et les fonctions de contrôle comme (RETOUR) et (INTERLIGNE).

Le code ASCII sert à coder l'information alphanumérique transmise entre un ordinateur etses périphériques d'entrée/sortie comme les écrans de visualisation ou les imprimantes. Unordinateur recourt aussi à ce code pour stocker les informations envoyées par l'opérateurdepuis son clavier. Voici un exemple qui illustre cette situation.

Exemple 1.

A l’aide du tableau suivant, décoder le message suivant codé en ASCII.

1000001 1001001 1000100 1000101

Solution:

Convertir chaque code à 7 éléments en son équivalent hexadécimal. Ce qui donne:41 49 44 45

Maintenant, localisons ces nombres hexadécimaux dans le tableau suivant et substituons-yles caractères associés.

A I D E

Page 106: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 98

Page 107: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 99

Autre représentation.

Page 108: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 100

5- Code ANSI utilisé par Windows (code basé sur le code ASCII)

Les logiciels sous Windows de Microsoft utilisent la norme ANSI (American NationalStandard Institute) qui reprend en grande partie le code ASCII, et propose des extensionsdifférentes selon le « code de page » retenu. Ainsi le code page 850 est-il un jeu decaractères « multilingue » alors que le code page 864 définit un jeu de caractères « arabe »,le code 865 un jeu « nordique » ... Ce code de page est choisi lors de la configuration dusystème et permet de définir le jeu de caractères qui va être employé avec la machine.L'utilisation du code ANSI se fait de la même manière que pour un code ASCII, c'est à direque la « valeur » d'un caractère se détermine par repérage des « valeurs » des intersectionscolonne-ligne..

Vous trouverez ci-après le tableau des codes ANSI correspondant au code page 850 trèsemployé en France (le code 437 est également très employé en France mais diffère assezpeu du code de page 850), ainsi que le tableau du code page 864, afin de bien visualiser lesdifférences, qui s'appliquent essentiellement à la partie étendue du code.

Page 109: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 101

Page 110: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 102

γ. CONTRÔLE -DÉTECTION D’ERREURS

A. Les codes simples.

1. Le contrôle de parité.

Le contrôle de parité fonctionne selon un principe très simple: aux n bits quecomporte le code à l'origine, nous ajoutons 1 bit supplémentaire. Ce bit estpositionné de telle sorte que le nombre total des bits à 1 soit:

* pair (code dit à parité ou abusivement à parité paire),

* impair (code dit à imparité ou abusivement à parité impaire).

Parité (parité paire) 1 0 1 1 0 1 0 0

0 0 1 1 0 1 1 0

Imparité (parité impaire) 0 0 1 1 0 1 0 0

1 0 1 1 0 1 1 0

Le bit supplémentaire est donc un bit de contrôle égal à la somme modulo 2 des nbits du mot originel.

A la réception, le bit de parité sera calculé et s'il est égal à la parité reçue, le motcontrôlé sera considéré comme valide.

Cette procédure est aussi utilisée pour vérifier l'intégrité des informations desmémoires RAM des ordinateurs.

Dans la pratique, le bit de parité est souvent remplacé par un bit d'imparité (mêmeprincipe).

Par abus de langage, certains utilisateurs parlent alors de parité impaire (incorrect)par opposition à une parité paire (pléonasme) et disent que la parité sur un motest paire si le nombre de bits à 1 dans ce mot, y compris le bit de parité, estpair. Sinon, elle est impaire.

Page 111: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 103

L'utilisation d'un bit de parité (ou d'imparité) est très simple et facilementimplémentée par des circuits XOR. Cependant, elle n'est pas très fiablepuisqu’un nombre pair d'erreurs dans un mot ne sera pas détecté (erreurssimultanées sur deux, quatre, six ou huit bits, ce qui ne change pas la paritépaire).

Exemple: contrôle de parité paireémission: 10110100réception: 10010100 —> erreur de transmission

émission: 10110100réception: 10000100 —> OK et pourtant le message reçu n’est pas celui qui a été

émis (2 erreurs).

Les codes détecteurs d'erreurs ne permettent que de constaterd'éventuelles erreurs. Ils ne fournissent aucune indication permettant deles corriger.

Dans le cas d'une transmission de données, un bloc acquitté négativement doitêtre envoyé une seconde fois ce qui peut s'avérer très coûteux en terme de duréede transmission si les messages sont très longs ou si la fréquence des erreurs estélevée (d'où l'intérêt de choisir une longueur de bloc et une vitesse detransmission optimales).

2. Les contrôles LRC, VRC et la parité croisée.

La méthode du caractère LRC (Longitudinal Redondancy Check) estutilisée pour renforcer le contrôle de validité des informations échangées.

Pour un bloc de N caractères de n bits, nous calculons la parité sur tous les bitsde rang 0, la parité sur tous les bits de rang 1, ...., la parité sur tous les bits derang (n - 1).

Nous obtenons donc n bits de parité regroupés en un seul caractère appeléLRC ou parité horizontale (par opposition à la parité verticale).

La parité horizontale est très facilement obtenue en effectuant un simple

Page 112: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 104

OU exclusif entre les N caractères d’un bloc. Pour la parité verticale, unOU exclusif entre les n bits d'un même caractère suffit.

En utilisant les codes de blocs et le contrôle de parité, il est possible d'assurerune vérification dite par parités croisées ou LRC / VRC qui assure unemeilleure détection et la correction de certaines erreurs.

Il convient pour cela de regrouper les caractères en blocs et d'ajouter à la fin dechaque bloc un caractère supplémentaire dit LRC qui se combine au contrôleVRC.

Exemple: codage des caractères en ASCII (7 bits) et 3 caractères par bloc.

Caractères à transmettre: CD-RW

C D - R W LRC

VRC 1 0 0 1 1 1 <--- parité croisée

1 1 0 1 1 0

0 0 1 0 0 1

0 0 0 1 1 0

0 0 1 0 0 1

0 1 1 0 1 1

1 0 0 1 1 1

1 0 1 0 1 1

La séquence de caractères transmises (en valeurs hexadécimales) est:

C3 44 2D D2 D7 AF au lieu de 43 44 2D 52 57

Dans la pratique, la longueur d'un bloc est au moins de 256, 512 ou 1024 caractères.

Même s'il donne de meilleurs résultats qu'une parité simple, un contrôle parLRC et VRC ne garantit pas la détection de toutes les erreurs.

Page 113: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 105

Il suffit d'un nombre pair d’erreurs sur les mêmes bits d'un nombre pair decaractères pour que le système soit mis en défaut.

Un tel code détecte donc toutes les erreurs simples, doubles ou triples etpeut corriger toutes les erreurs simples.

Exemple: considérons une erreur de transmission ayant affecté un seul bit

C D - R W LRC

VRC 1 0 0 1 1 1 <--- parité croisée

1 1 0 1 1 0

0 0 1 0 0 1

0 0 0 1 1 0

0 0 1 0 0 1

1 1 1 0 1 1 <--- bit erroné

1 0 0 1 1 1

1 0 1 0 1 1

Vérifions la parité croisée en fonction des codes LRC et VRC, tout est correct.

Vérifions séparément les codes LRC et VRC en les recalculant.

Il y a une erreur dans la 1 ère colonne du VRC et une autre dans la 5 ème lignedu LRC.

L'intersection de cette ligne et de cette colonne nous permet de retrouver le biterroné et donc de le corriger (complémenter).

Page 114: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 106

2 p 2n 1 n− < ≤

η- Annexes

A. Représentation des nombres entiers signés.

Codage en complément vrai (complément à deux).

Pour représenter des informations en binaire, la longueur minimale d'un mot devra être telleque:

On parle alors de codage sur n bits (ou n chiffres binaires).

Inversement, n bits permettront de représenter 2 n informations différentes sur n bits chacune.

Dans ce qui suit, nous ne nous intéressons qu'à la représentation d'objets en binaire (base 2)et sur des mots d'une longueur de n bits, numérotés, de droite à gauche, de 0 à n - 1.

Ainsi, un mot de huit bits (octet), sera représenté par:

7 6 5 4 3 2 1 0

MSB LSB

MSB (Most Significant Bit) = bit de poids le plus fort

LSB (Least Significant Bit) = bit de poids le plus faible

Avec n bits, il est possible de coder 2 n entiers non signés ( ε N) de 0 à 2 n - 1. On parle alorsde codage en binaire pur ou binaire naturel.

Pour coder un sous-ensemble fini des entiers relatifs (ε Z), 3 solutions sont envisageables:- codage en valeur absolue plus signe,- codage en complément à un (complément restreint),- codage en complément à deux (complément vrai).

Page 115: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 107

Or, pour coder correctement les entiers signés, seule la méthode du complément àdeux (complément vrai) est valable et c’est d’ailleurs elle qui a été retenue pourcoder les nombres entiers signés sur les ordinateurs (Basic, Pascal, Delphi, C, C++,...).

Les entiers positifs sont représentés en binaire pur sur les (n - 1) bits de droite avec zéropour le n ième bit.

Les entiers négatifs N sont codés par 2 n - |N|

La somme de deux nombres opposés sera donc égale à 2 n.

Or, 2 n s'écrit 1 suivi de n zéros, ce qui ne peut pas être représenté sur n bits.

En ignorant le 1 généré en position n + 1, la somme sur n bits de deux valeurs opposéescodées en complément à 2 sur n bits est égale à zéro.

Le résultat de l'addition binaire d'un nombre et de son complément donne “n 0" et une

retenue. Si on note le complément à deux de N, nous obtenons:N

N N 2n+ =

Dans la pratique, prendre le complément à deux d'un nombre revient à prendre soncomplément à 1 (complémenter tous les bits) et à ajouter 1 au résultat (2 n = 2 n - 1 + 1).

Le passage d'un entier positif à l'entier négatif de même valeur absolue (etinversement) se fait en complémentant le nombre bit à bit, puis en ajoutant 1 aurésultat de la complémentation.

Par définition: et se traduit par uneN 2 N (2 1) N 1n n= − = − − + [ ](2 1) Nn − −

complémentation bit à bit.

Cette règle est valable aussi bien pour le codage que pour le décodage (attention, d'abordcomplémenter, puis ajouter 1 et non pas effectuer l’opération inverse).

Page 116: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 108

Relations:

Si 0 < N < 2 n - 1 (base 2, n bits, nombre N), alors:

code (-N) = cv (N) = code (2 n - N)

Si N = 0, alors:

code (-0) = cv (0) = code (2 n) = 0

cv (N) = cr (N) + 1 = code (2 n - N)

code (N) = cv (code (-N))

code (-N) = cv (code (N))

code (N) + code (-N) = code (2 n) —> valeur zéro

code (A) + code (B) = code (A) + code (B)

code (A) - code (B) = code (A) + code (-B)

Valeurs représentables sur n bits:

positives de 000...000 à 011...111 (0 ... 2 n - 1 -1)

négatives de 100...000 à 111...111 (-2 n - 1 ... -1)

Le bit de gauche est un bit de signe et il n'y a qu'une seule représentation du zéro.

En complément à deux, il existe donc un nombre négatif de plus que de nombrespositifs. Ceci est vrai pour toute représentation en complément vrai dans une base denumération paire. En revanche, lorsque la base est impaire, il y a symétrie parfaitepar rapport à zéro.

Exemple: pour n = 3

Page 117: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 109

Code Valeur

000 +0

001 +1

010 +2

011 +3

100 -4

101 -3

110 -2

111 -1

On remarquera le cas particulier du code binaire 100 (1 suivi de (n - 1) 0 dans le casgénéral) qui correspond à la valeur décimale - 4 (- 2 n - 1 en général) et pour lequel il n'existe pas d'opposé.

Le codage des entiers signés en complément à deux est aujourd'hui le plus répandu,car il possède non seulement l'avantage du zéro unique, mais également celui detransformer une soustraction en simple addition du complément (ceci est vrai égalementen complément à 1 modulo la correction de 11...11 en 0).

Il est donc possible d'utiliser les mêmes circuits matériels pour réaliser les additions et lessoustractions (en fait, un simple additionneur peut suffire pour réaliser les quatreopérations arithmétiques de base).

Exemple: pour n = 16

Code Valeur

0000 0000 0000 0010 +2

0000 0000 0000 0001 +1

0000 0000 0000 0000 0

1111 1111 1111 1111 -1

1111 1111 1111 1110 -2

Page 118: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 110

Exemple : coder en complément à deux et calculer la valeur de (15)10 - (10)10

En binaire pur, l'on obtient (1111)2 - (1010)2 = (101)2

En complément à deux, il faut 5 bits pour coder les données puisque le bit de gaucheest un bit de signe.

01111 <--- codage de + 15+ 10110 <--- complément à deux de + 10

------------ 100101 <--- résultat correct sur 5 bits

Pour pouvoir coder ou décoder un nombre signé, il est indispensable de connaîtrela longueur des mots utilisés pour la représentation (le nombre de bits si l'on esten base 2).

La représentation des nombres entiers se fait le plus souvent sur 16 bits en complémentà deux. Dans ce cas, tout nombre entier N est tel que:

− ≤ ≤32768 N 3276710 10

En C++, il existe 5 types pré-définis d’entiers:

Type Taille(en octets)

Intervalle

int 2 -32768...32767

short int 2 -32768...32767

unsigned int 2 0...65535

long int 4 -2147483648...2147483647

unsigned long 4 0...4294967295

Page 119: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 111

A. Représentation des nombres réels.

La norme IEEE 754.

Au cours des premières générations d'ordinateurs, chaque constructeur fixait sespropres conventions de représentation des réels sans tenir compte de ses concurrents. Ilen résulta que des calculs s'exécutant correctement sur une machine donnée,produisaient des résultats différents, voire complètement erronés sur d’autres.

Il était donc souvent impossible de transporter un programme sans le modifier enfonction de l'architecture et des conventions de représentation de la nouvellemachine cible.

Pour résoudre ce problème, plusieurs standards de format et de précision pour lesflottants ont été définis.

L'un de ces standards, aujourd'hui adopté par la plupart des constructeurs etdéveloppeurs de logiciels est la norme IEEE-754 (de 1985).

Elle définit le format de représentation des nombres en virgule flottante en simpleet double précision (sur 32 et 64 bits respectivement) et donne une liste desopérations pouvant être effectuées sur ces flottants.

Cette norme (IEEE-754) a été préconisée par l’I.E.E.E. (Institute of Electrical andElectronics Engineers).

* en simple précision:La représentation est réalisée sur 32 bits. La mantisse est codée sur 23 bits explicites (m0 à m22) et l'exposant sur 8 bits (e0 àe7). La valeur du nombre est notée comme suit:

valeur = (- 1) signe . 2 (E int - 1 2 7 ) . 1,mantisse

Page 120: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 112

Eint = valeur de la représentation interne de l’exposant.

signe exposant e7 ... e0 mantisse m22 ... m0

32 30 23 22 0

C’est la norme IEEE-754 simple précision.

* en double précision:La représentation est réalisée sur 64 bits. La mantisse est codée sur 52 bits explicites (m0 à m51) et l'exposant sur 11 bits (e0 àe10).

La valeur du nombre est notée comme suit:

valeur = (- 1) signe . 2 (E int - 1 0 2 3 ) . 1,mantisse

Eint = valeur de la représentation interne de l’exposant.

signe exposant e10 ... e0 mantisse m51 ... m0

63 62 52 51 0

C’est la norme IEEE-754 double précision.

Ce codage est du type mantisse en valeur absolue plus signe avec un exposant biaisé, letout sur 32 bits (4 octets) ou 64 bits (8 octets).

Le bit de signe de la mantisse est codé par 0 si cette dernière est positive et par 1 dansle cas contraire.

La valeur absolue d'une mantisse non nulle est codée sur 24 bits (ou 53 bits) et estcomprise dans l’intervalle [1, 2[

Le bit de poids 20 n'est pas codé explicitement puisque, la mantisse étant normalisée, ilvaudra toujours 1.

Page 121: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 113

On ne code donc que la partie décimale de la mantisse (23 ou 52 bits de droite).

La forme de la mantisse est du type 1,xxxx

Simple précision Double précision

bit de signe 1 1

bit de l’exposant 8 11

bit de mantisse 23 52

nombre total de bits 32 64

codage de l’exposant excédant 127 excédant 1023

variation de l’exposant - 126 à + 127 - 1022 à + 1023

plus petit nombre normalisé 2 -126 2 -1022

plus grand nombre normalisé ~ 2 + 128 ~ 2 + 1024

échelle des nombres décimaux 10 - 38 à 10 + 38 10 - 308 à 10 + 308

plus petit nombre dénormalisé ~ 10 - 45 ~ 10 - 324

En C++, il existe 3 types prédéfinis de réels:

Type Taille (en octets) Intervalle Précision(chiffres)

float 4 3,4 x 10 -38 ... 3,4 x 1038 7

double 8 1,7 x 10 -308 ... 1,7 x 10308 15

longdouble

10 3,4 x 10 -4932 ... 1,1 x104932

19

Exemple: coder (2,5)10 en flottant simple précision.

Il faut procéder comme suit:* convertir (2,5)10 en binaire —> (10,1)2,* normaliser —> 1,01 * 21 (exposant 1, mantisse 01),* calculer la représentation de l'exposant Eint:

Eint = exposant + 127 —> Eint = 128,* convertir l’exposant en binaire —> Eint = 10000000,* calculer le bit de signe, ici S = 0.

Page 122: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 114

La représentation de 2,5 en machine est donc:

0 | 100 0000 0 | 010 0000 0000 0000 0000 0000

que l'on peut exprimer en hexadécimal: (40 20 00 00)16.

Certaines conventions sont nécessaires pour représenter des nombres spéciaux,tels que le zéro absolu et l’infini.

Représentationde l’exposant(RE)

Mantisse(M)

Valeur Signification

RE = 255 ou 2047 M 0 NAN —> Not A Number N’est pas un nombre≠

RE = 255 ou 2047 M = 0 (- 1) signe . + ou - , selon le signe∞ ∞

RE = 0 M 0 (- 1) signe . 2 -126 . 0,mantisse Plus petits nombres≠représentables.Dénormalisation.

RE = 0 M = 0 (- 1) signe . 0 Plus ou moins zéro, selon lesigne

0 < RE < (255 ou2047)

(- 1) signe . 2 RE -127 . 1,mantisse Nombre normal en virguleflottante.Normalisation.

Les divers formats de nombres du standard IEEE:

* normalisé:

+ - 0 < exp < Max configuration quelconque de bits

* dénormalisé:

+ - 0 toute configuration de bits, sauf 0

* zéro:

+ - 0 0

Page 123: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 115

X0XX

NAN

arctan( )2

X NAN00

NAN

= ∞

+ ∞ = ∞− ∞ = ∞

∞∞

=

∞ =

− =

=

π

* infini:

+ - 11...11 0

* NAN:

+ - 11...11 toute configuration de bits, sauf 0

Les nombres dénormalisés:

Les nombres dénormalisés sont des représentations de nombres tels que lebit implicite est égal à 0 (au lieu de 1 pour la normalisation).

La valeur d’un nombre dénormalisé en représentation flottante sur 32 bits est:

valeur = (- 1) signe . 2 (E int - 1 2 6 ) . 0,mantisse

Sans les nombres dénormalisés, les nombres plus petits que la plus petitevaleur normalisée seraient considérés comme égal à 0.

Quelques règles de calcul:

Page 124: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 116

Domaines couverts:

* IEEE 32 bits: nombres négatifs —> - 10 38 à - 10 - 38

nombres positifs —> 10 - 38 à 10 38

* IEEE 64 bits: nombres négatifs —> - 10 308 à - 10 - 308

nombres positifs —> 10 - 308 à 10 308

Densité des nombres:

La densité selon laquelle les nombres en virgule flottante couvrent l’axecontinu des nombres réels dépend de l’exposant.

Si nous disposons de p bits pour la mantisse, l’intervalle entre un nombre 2 f et unnombre 2 f + 1 est couvert par 2 p nombres équidistants en virgule flottante.

Entre 210 (1024) et 211 (2048), il y a 223 (8.388.608) nombres en virgule flottante. Ladistance entre 2 nombres en virgule flottante est de 1/8192 (1,22 . 10 -4). Entre 220

(1.048.576) et 221 (2.097.152), la distance n’est plus que de 1/8 (0,125).

Précision de la représentation:

c’est la différence qu’il y a entre les mantisses de deux nombres réels consécutifsdans la représentation choisie. Cette précision est indépendante de l’exposant,elle ne dépend que de la mantisse.

Pour l’IEEE-754 sur 32 bits —> précision de 2 - 23 (erreur < 10 - 7 ) —> les 7 premiers chiffres sont correctement représentés

Pour l’IEEE-754 sur 64 bits —> précision de 2 - 52 (erreur < 10 - 16 ) —> les 16 premiers chiffres sont correctement représentés

Dépassement de capacité:

Il y a dépassement de capacité lorsqu’un résultat ne peut être exprimé selon leformat virgule flottante adopté.

Pour le format IEEE 32 bits, il y a dépassement de capacité si l’exposant du résultatnormalisé dépasse 2 127 (RE > 254) ou s’il est plus petit que 2 -127 (RE < 0).

1,5 . 270 multiplié par 1,5 . 280 provoque un dépassement de capacité (overflow).

Page 125: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 117

1,5 . 270 divisé par 1,5 . 280 provoque un dépassement de capacité (underflow).

Exemple: quelle est la valeur décimale représentée par (41 40 00 00)16

0 100 0001 0 100 0000 0000 0000 0000 0000

Signe + —> bit de signe à 0 Exposant = 130 - 127 = 3Mantisse = 1 + 0,5 = 1,5 (mantisse entre 1 et 2, bit implicite non codé)Valeur = 23 . 1,5 = 12

Arrondi:Étant donné le nombre fixe de bits retenus pour la représentation, il est parfoisnécessaire d’arrondir les résultats obtenus.

La norme IEEE-754 propose 4 manières d’arrondir les nombres:* arrondi au plus proche* arrondi vers 0* arrondi vers + ∞* arrondi vers − ∞

C. Retenue et débordement.Les entiers, mais également tous les autres objets, sont représentés en machine sur unnombre fini de bits. Le nombre de valeurs qu'il est possible de représenter est donclui aussi fini. On ne peut donc coder qu'un sous-ensemble de N, de Z ou de R.

Or il peut arriver qu'une opération arithmétique entre deux opérandes représentablessur n bits conduise à un résultat non représentable sur n bits. Dans certains cas, ilfaudra alors considérer ce résultat comme erroné, et dans d’autres, il suffira d’ignorerles bits en trop pour obtenir le résultat correct.Exemple : sur 8 bits en complément à deux

0100 0000 <--- (64)10

+ 0100 0001 <--- (65)10

-----------------1000 0001 <--- - (127)10 ce qui est faux !!! (overflow)

1111 1110 <--- - (2)10

+ 1111 1100 <--- - (4)10

----------------- 1 1111 1010 <--- - (6)10 correct en ignorant le 1 de gauche (retenue)

Page 126: numérique partie1 combi

Chapitre IV: Systèmes et numération et codes.

- 118

Supposons une représentation sur n bits numérotés de gauche à droite n-1 n-2 ... 1 0

Il y a retenue si une opération arithmétique provoque un report du bit (n-1) vers le bitn qui n'existe pas. Dans le cas d'une addition, on parle alors de carry. Pour unesoustraction, on parle de borrow.

Il y a débordement (overflow) si le résultat sur n bits d'une opération est faux,indépendamment d'un éventuel report.

Dans le cas des entiers naturels (non signés) représentés sur n bits (binaire pur), il y atoujours erreur par dépassement de capacité si une opération produit un carry. Deplus, il ne peut pas y avoir d’erreur sans report.

Dans le cas des entiers relatifs (signés), représentés sur n bits (en complément àdeux), il n’y a overflow que si une addition ou une soustraction sur n bits entre deuxvaleurs de même signe conduit à un résultat de signe différent (deux valeurs designes opposés ne peuvent pas provoquer d'erreur).

N.B: * tous les processeurs disposent au niveau interne d'un registre spécial appelé

registre d'état ou registre des indicateurs (status register) et reflétant, comme son

nom l'indique, l'état du processeur à un instant donné.

* CF (carry flag) —> indicateur de retenue

* OF (overflow flag) —> indicateur de débordement

Relations:

Intervalle de représentation de valeurs [MIN, MAX]:

code (MAX) + 1 = code (MIN)code (MIN) - 1 = code (MAX)

Page 127: numérique partie1 combi

Chapitre V Problèmes de logique combinatoire

- Arithmétique binaire: opérations et circuits.- additionneur (semi...).- soustracteur (semi...).- additionneur - soustracteur.- additionneur parallèle intégré.- notation complément à 2.- additionneur DCB.- générateur et contrôleur de parité.- multiplicateurs binaires.- comparateurs de grandeurs.

- Circuits logiques MSI.- décodeurs.- pilotes / décodeurs DCB- 7 segments.- codeurs.- transcodeurs.- multiplexeurs.- démultiplexeurs.-décodeur/ codeur et multplexeur/démultiplexeur.

Page 128: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 119 -

S A BC A.B= ⊕=

CHAPITRE V: PROBLÈMES DE LOGIQUECOMBINATOIRE.

I. ARITHMÉTIQUE BINAIRE: OPÉRATIONS ET CIRCUITS. 1. Additionneurs.

A) semi-additionneur. (half adder)

C’est un circuit d’addition qui ajoute deux éléments binaires de même rang.

(S ÿ Somme et + ÿ Plus)S A B= +

Table de vérité C est le report (ou carry) au rang i+1 du rang i

A B S C

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

De cette table, on peut tirer les équations logiques:

Page 129: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 120 -

( ) ( )( ) ( )

S = ABCen ABCen ABCen ABC

S = A BCen BCen A BCen BCen

S = A B Cen A B CenS A B Cen

CCCCS A.B (A B).C en

en

S

S

S

+ + +

+ + +

⊕ + ⊕

= ⊕ ⊕

==== + ⊕

B)additionneur. (full adder)C’est un circuit d’addition qui ajoute deux éléments binaires de même rang, mais qui tient compte du report éventuel du rang précédent.

Table de vérité Cen= entrée du bit de report = report du rang précédent Cs = sortie du bit de report

A B Cen S Cs

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

De cette table, on peut tirer les équations logiques:

Page 130: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 121 -

De ces équations, on peut déduire les schémas suivants:

On peut donc réaliser l’additionneur complet avec 2 semi-additionneurs et un circuit ou.

Page 131: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 122 -

D A B

Bo A.B

= ⊕

=

2. Soustracteurs.A) semi-soustracteur. (half subtractor)

C’est un circuit de soustraction qui soustrait un élément binaire d’un autre demême rang..

(D ÿ Différence et - ÿ Moins)D A B= −

Table de vérité B0 est l’emprunt (Borrow) au rang supérieur.

A B D B0

0 0 0 0

1 0 1 0

1 1 0 0

0 1 1 1

De cette table, on peut tirer les équations logiques:

Remarque: La différence entre le semi-additionneur etle semi-soustracteur est tout simplement que l’on

entre pour le semi-soustracteur dans le ET quiAdonne Bo et A pour le semi-additionneur dans le ETqui donne C.

Page 132: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 123 -

D A B Boen

BoS A.B (A B)..Boen

= ⊕ ⊕

= + ⊕

B)Soustracteur. (full subtractor)C’est un circuit de soustraction qui soustrait un élement binaire d’un autre demême rang, mais qui tient compte du retrait éventuel d’un emprunt du rangprécédent.

Table de vérité Boen= retrait d’un emprunt du rang précédent Bos = emprunt

A B Boen S Bos

0 0 0 0 0

1 0 0 1 0

1 1 0 0 0

0 1 0 1 1

0 0 1 1 1

1 0 1 0 0

0 1 1 0 1

1 1 1 1 1

De cette table, on peut tirer les équations suivantes:

On peut réaliser le soustracteur complet avec 2 semi-soustracteur et un circuit OU

Page 133: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 124 -

S M.A M.A

S M.A.M.A

= +

=

3.Additionneur-soustracteur.On peut réaliser assez facilement un additionneur-soustracteur pour 2 éléments binairesen faisant un aiguillage par la commande de MODE qui fera entrer A (ADD)

ou (SOUSTR.) Puisque les fonctions logiques sont identiques.APar exemple:

M=1 ÿ ADD ÿ A ÿ M=0 ÿ SOUSTR. ÿ A

4. Additionneur parallèle intégré.II existe plusieurs additionneurs parallèles dans des boîtiers CI. L'un des plus courantsest un boîtier d'additionneurs parallèles de 4 bits comprenant 4 additionneurs complets(AC) et leurs connexions et les circuits de l'anticipation du report nécessaires à unfonctionnement rapide. Les 7483A, 74LS83A, 74283 et 74LS283 sont tous des boîtiersd'additionneurs parallèles 4 bits de la famille TTL. Les 283 sont identiques aux 83, àl'exception du fait que Vcc et la masse sont respectivement sur les broches 16 et 8; c'estdésormais la norme sur toutes les nouvelles puces d'avoir les broches d'alimentation etde la masse aux coins du boîtier. Le 74HC283 est la version CMOS rapide du mêmeadditionneur parallèle 4 bits.

On peut voir à la figure suivante le symbole logique de l'additionneur parallèle de 4 bits74LS83. Les entrées de ce C I sont deux groupes de 4 bornes A3A2A1A0 et B3B2B1B0

servant à appliquer deux nombres de 4 bits, et le report C0, appliqué au rang de poidsfaible. Les sorties sont les 4 bits de somme S3S2S1S0 et le report C4 quittant l'étage depoids fort. Les bits de somme sont souvent désignés Σ3Σ2Σ1Σ0 où Σ est la lettre grecquesigma.

Page 134: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 125 -

Montage en cascade d'additionneurs parallèles II est possible de raccorder deux ou plusieurs additionneurs parallèles en cascade afind'additionner des nombres ayant un plus grand nombre de bits. La figure ci-dessousnous montre deux additionneurs 74LS83 sont reliés afin de pouvoir additionner deuxnombres de 8 bits. L’additionneur de droite additionne les 4 bits de poids le plus faibledes nombres. La sortie C4 de cet additionneur est reliée à l'entrée report du secondadditionneur: ce dernier additionne les 4 bits de poids le plus fort des nombres. Les huitsorties de la somme indiquent le résultat de l'addition de deux nombres de 8 bits. C8 estle report fourni par l'étage du rang de poids le plus fort du second additionneur. Cettesortie peut devenir un bit de dépassement ou servir de report pour un autre étaged'additionneur, si on traite des nombres binaires encore plus longs.

Page 135: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 126 -

EXEMPLE:Déterminer les niveaux logiques aux entrées et aux sorties de l’additionneur 8 bitsde la figure précédente quand on effectue l’opération en décimal suivante: 137+72.

SolutionIl faut d’abord convertir chaque nombre en son équivalent binaire de 8 bits:

(137)10 = (10001001)2

(72)10 = (01001000)2Ces 2 expressions binaires sont appliquées aux entrées A et B, c’est-à-dire que l’onretrouve sur les entrées A de gauche à droite, les valeurs binaires: 10001001, et sur lesentrées B, aussi de gauche à droite les valeurs binaires: 010010000. L’additionneureffectue l’addition binaire de ces 2 nombres:

[A] = 10001001[B] = 01001000[S] = 11010001

Les sorties de la somme portent de gauche à droite le chiffre 11010001. Il n’y a pas dedépassement sur le bits C8, qui est donc un 0.

5. NOTATION COMPLÉMENT À 2.Aujourd'hui, la majorité des ordinateurs expriment leurs nombres négatifs selon lanotation en complément à 2 et utilisent cette notation quand ils effectuent dessoustractions. L'addition et la soustraction des nombres signés se résument à une simpleaddition si on exprime les nombres négatifs selon la notation en complément à 2.

Addition L'addition de nombres positifs et négatifs, y compris leur bit de signe, est possible dansl'additionneur parallèle de base si les nombres négatifs sont sous leur version complémentà 2. On peut voir une illustration de ceci à la figure suivante, dans le cas de l'addition de -3 à + 6. Le nombre - 3 est sous sa forme complément à 2 soit 1101, où le premier 1 est lebit de signe; le nombre + 6 est sous sa forme normale, soit 0110, le premier 0 étant le bitde signe. Ces nombres sont mémorisés dans les registres correspondants. L'additionneurparallèle de 4 bits produit alors la somme 0011 sur les bornes de sortie, ce qui correspondà + 3. La sortie C4 est 1, mais ce report est rejeté dans la méthode complément à 2.

Page 136: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 127 -

Soustraction Quand on soustrait en utilisant la notation complément à 2, le diminuteur estcomplémenté à 2 puis additionné au diminuande (le nombre dont on soustrait lediminuteur). Supposons que le diminuande est déjà mémorisé dans l'accumulateur(registre A). Le diminuteur se voit alors transféré dans le registre B (dans un ordinateurce nombre provient de la mémoire) puis est complémenté à 2 avant d'être additionné aunombre contenu dans le registre A. Les sorties somme de l'additionneur représentent ladifférence entre le diminuande et le diminuteur.

Le circuit additionneur parallèle déjà examiné peut être modifié pour soustraire si onprévoit une façon de prendre le complément à 2 du nombre contenu dans le registre B. Onsait que le complément à 2 d'un nombre binaire s'obtient en complémentant chaque bit eten ajoutant 1 à son bit de poids le plus faible.

Page 137: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 128 -

Cette figure montre comment un additionneur peut servir pour la soustraction. On utiliseles sorties complémentées du registre B plutôt que les sorties normales; c'est-à-dire qu'on

applique aux entrées de l'additionneur (se rappeler que B3 est le bit deB ,B ,B ,B0 1 2 3

signe). De cette manière, on complémente chaque bit du nombre B. En outre, ontransforme Co en un 1 logique, de sorte qu'on additionne ainsi un 1 au bit de poids le plusfaible de l'additionneur; cette façon de procéder a le même effet que d'additionner 1 au bitde poids le plus faible du registre B afin d'obtenir son complément à 2.Les sorties S3-S0 présentent un nombre correspondant au résultat de l'opération desoustraction. Évidemment S3 est le bit de signe du résultat et indique qu'il est soit positif,soit négatif. Le report C4 est à nouveau rejeté.

Pour bien fixer les idées, étudions les diverses étapes de la soustraction suivante: +4 - (+6):

1. +4 est mémorisé dans le registre A sous la forme 0100.2. + 6 est mémorisé dans le registre B sous la forme 0110.3. Les sorties complémentées du registre B sont transmises à l'additionneur, cequi arrive est donc 1001.4. Le nombre 1001 est ajouté à 0100 par l'additionneur parallèle; de plus, on fait

en sorte que l'additionneur parallèle ajoute un 1 au chiffre de son rang de poids le plus faible en s'assurant que Co = 1. La réponse apparaissant sur les bits de lasomme est 1110 et C4 = 1, report qui est rejeté comme on le sait. Ce nombre 1110représente la différence recherchée. Etant donné que le bit de signe égale 1, notreréponse est un nombre négatif exprimé dans sa version complément à 2. On peutvérifier que 1110 représente - 210 en le complémentant à 2; cette complémentationdonne + 210:

11100001

+ 10010 = +210

Page 138: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 129 -

6. ADDITIONNEUR DCB.La marche à suivre pour additionner en DCB est la suivante:

1. Additionnez les représentations codées DCB pour chaque rang du chiffredécimal; utilisez les règles de l'addition binaire ordinaire.2. Pour les rangs du nombre dont la somme est inférieure à 9, la réponse est déjàune représentation DCB valide et aucune correction n'est nécessaire.3. Quand la somme de deux chiffres dépasse 9, il faut additionner une correctionde 0110 à la somme pour obtenir la représentation codée DCB valide. Ceci a poureffet de produire un report qui doit être additionné au rang immédiatement àgauche du nombre décimal.

Un additionneur DCB doit pouvoir matérialiser les étapes précédentes. Autrement dit, cecircuit doit être en mesure de:

1. Additionner deux représentations codées DCB de 4 bits selon les règlesordinaires de l'addition binaire.2. Déterminer si la somme est supérieure à 1001 (chiffre décimal 9); dansl'affirmative, ajouter 0110 (6) à cette somme et générer un report ramené sur lerang décimal immédiatement à gauche.

L'exigence 1. ne pose pas vraiment de problème puisqu'on la réalise au moyen d'unadditionneur parallèle binaire 4 bits comme le CI 74LS83. Par exemple, si deuxreprésentations codées DCB se trouvant respectivement sur A3A2A1A0 et B3B2B1B0 sontappliquées à un additionneur parallèle de 4 bits, ce dernier réalise l'opération suivante:

A3A2A1A0 représentation codée DCB+ B3B2B1B0 représentation codée DCB S3S2S1S0 somme binaire courante

S4 est en réalité C4, le report produit par le rang du bit de poids le plus fort.

Les sorties de la somme S4S3S2S1S0 peuvent afficher toutes les valeurs de l'intervalle00000 à 10010 (quand les deux représentations sont égales à 1001 = 9). On doit retrouverdans l'additionneur DCB des portes logiques qui décident quand S4S3S2S1S0 est supérieurà 01001 et commandent l'addition de la correction. La somme dépasse 01001 dans les casénumérés ci-après:Soit X une sortie logique qui occupera le niveau HAUT seulement quand la somme estsupérieure à 01001 (c'est-à-dire dans les cas énumérés ci-après). L'étude de ces différentscas nous permet de découvrir que X est au niveau HAUT quand l'une ou l'autre desconditions suivantes est réalisée:

Page 139: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 130 -

X S S (S S )4 3 2 1= + +

1. Quand S4 = 1 (somme supérieure à 15).2. Quand S3 = 1 et que S2 ou S3 ou les deux sont à 1 (somme entre 10 et 15).

Formulée sous la forme d’une équation booléenne, cette constatation est:

Quand X = 1, il faut additionner la correction 0110 aux bits de la somme et produire unreport. La figure suivante nous montre les circuits complets d'un additionneur DCB, ycompris les portes de décision logiques qui produisent X.

Page 140: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 131 -

Ce circuit est constitué de trois parties fondamentales. Les deux représentations codéesDCB A3-A0 et B3-B0 sont additionnées dans l'additionneur 4 bits du haut pour donner lasomme S4S3S2S1S0; les portes logiques matérialisent la condition X. L'additionneur 4 bitsdu bas additionne la correction 0110 aux bits de somme seulement quand X= 1 pourdonner la somme DCB représentée par Σ3Σ2Σ1Σ0. X est également utilisé homme report;celui qu'il faut produire quand la somme dépasse 01001. Évidemment quand X = 0, il n'ya pas de report et pas d'addition de 0110. Dans de tels cas, Σ3Σ2Σ1Σ0 = S3S2S1S0.

Additionneurs DCB montés en Cascade Le circuit précédent sert seulement à additionner deux chiffres décimaux codés en DCB.Quand les nombres décimaux possèdent plusieurs chiffres, il faut pour leur additionutiliser un additionneur DCB distinct pour chaque rang de chiffres dans le nombre.

Cette figure illustre l'addition de deux nombres décimaux de trois chiffres. Le registre Acontient 12 bits, ce qui est suffisant pour 3 représentations codées DCB d'un nombredécimal de 3 chiffres; de même le registre B contient la représentation DCB de l'autrenombre décimal de 3 chiffres. Les représentations codées A3-A0 et B3-B0 correspondentaux chiffres de poids faible qui sont appliqués au premier additionneur DCB. Chaqueétage d'additionneurs DCB contient tous les circuits illustrés à la figure de base d’unadditionneur DCB. Le premier additionneur DCB produit le groupe des sorties Σ3Σ2Σ1Σ0,la représentation DCB du chiffre de poids faible de la somme. Le report de ce premieradditionneur est envoyé au second additionneur DCB qui additionne A7-A4 et B7-B4, les

Page 141: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 132 -

représentations codées DCB des chiffres décimaux du second rang du nombre. Cedeuxième additionneur produit Σ7Σ6Σ5Σ4, la représentation DCB du second chiffre de lasomme, et de même pour le troisième chiffre. Evidemment il est possible d'étendre cemontage pour additionner des nombres décimaux ayant une longueur quelconquesimplement en ajoutant des bascules aux registres et en affectant un additionneur DCB àchaque rang supplémentaire.

EXERCICE.Déterminez les entrées et les sorties du circuit de la figure précédente si on l'utilise pouradditionner 24710 et 53810.

Solution Tout d'abord, exprimons les nombres décimaux en code DCB.

247 = 0010 0100 0111 (DCB)538 = 0101 0011 1000 (DCB)

Ces représentations DCB sont placées dans les registres A et B, respectivement, d'où:[A] = 0010 0100 0111[B] = 0101 0011 1000

Le REPORT D'ENTRÉE qui arrive de l'addition du rang de poids le plus faible est 0.

Une fois que les données sont dans les registres, les additionneurs DCB fournissent surleurs sorties les sommes DCB de chaque chiffre. L'additionneur du rang de poids le plusfaible ajoute 0111 (7) à 1000 (8), ce qui donne 0101 (5) et un REPORT de 1 pourl'additionneur du centre. Ce dernier additionneur ajoute 0100 (4) à 0011 (3) et leREPORT de 1, ce qui produit une somme de 1000 (8) et un REPORT de 0 surl'additionneur du rang de poids le plus fort. Ce dernier ajoute 0010 (2) à 0101 (5) pourdonner une somme de (7) et aucune REPORT en sortie. Les sorties de somme s'affichentalors:

[Σ] = 0111 1000 0101 et le REPORT de l'étage du rang de poids le plus fort est 0.

7. MULTIPLICATEURS BINAIRES.Afin de multiplier 2 nombres, nous aurons besoin d’additionneurs et de registres à décalage. Ceux-ci étant réalisés à l’aide de bascules, nous approfondirons ce problèmes après avoirétudié le chapitre concernant les bascules, compteurs et registres à décalage.

Page 142: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 133 -

8. GÉNÉRATEUR ET CONTRÔLEUR DE PARITÉ.Au chapitre précédent, nous avons vu qu'un émetteur peut joindre un bit de parité auxdonnées qu'il transmet avant de les acheminer au récepteur. Nous avons également apprisque le récepteur grâce à cette astuce pouvait détecter les erreurs monobits survenant durantla transmission. La figure suivante nous fait voir un exemple de circuit logique pouvantservir à la production et au contrôle de la parité. Cet exemple particulier porte sur des motsde quatre bits et concerne la parité paire. On peut adapter ces solutions telles quelles à laparité impaire et au nombre de bits que l'on veut.

À la figure a), le groupe de données à transmettre est appliqué aux entrées d'un circuitgénérateur de parité, qui produit en sortie un bit de parité paire, P. Ce bit de parité estcommuniqué au récepteur en même temps que les données binaires, soit un total de cinq bits.À la figure 4-24 b), on peut voir ces cinq bits (donnée + parité) appliqués aux entrées ducircuit de contrôle de la parité du récepteur, circuit qui fournit en sortie un signal d'erreur, E,qui annonce la présence ou l'absence d'une erreur monobit.

Il n’est pas étonnant de retrouver des portes OU exclusif dans ces circuits, étant donnéqu'une porte OU exclusif opère de telle manière qu'elle produit un 1 si un nombre impair deses entrées sont à 1 et un 0 si un nombre pair de ses entrées sont à 1.

Page 143: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 134 -

9. COMPARATEURS DE GRANDEURS. Il s'agit d'un circuit logique combinatoire qui compare deux grandeurs binaires et produit dessorties qui désignent lequel des mots est le plus grand. La figure suivante illustre le symbolelogique et la table de vérité du comparateur de grandeurs à 4 bits 74LS85, qui existeégalement dans les versions 7485 et 74HC85.

Entrées des données Le 74LS85 compare deux nombres binaires de 4 bits non signés. Le premier, placé surA3A2A1A0, s'appelle le mot A; l'autre, placé sur B3B2B1B0, s'appelle le mot B. L'expression «mot » sert en technologie numérique à désigner un ensemble de bits véhiculant un certaingenre d'information. Dans le cas présent, les mots A et B sont des grandeurs numériques.

Page 144: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 135 -

Sorties Le 74LS85 possède trois sorties vraies au niveau HAUT; la sortie OA>B qui passe au niveauHAUT quand le mot A est plus grand que le mot B; la sortie OA<B qui passe au niveauHAUT quand le mot A est plus petit que le mot B; enfin, la sortie OA=B qui devient à sonniveau vrai (HAUT) quand les deux mots ont la même grandeur.

Entrées en cascade Le montage en cascade des entrées constitue une façon d'étendre la comparaison à plus de 4bits. Dans cette solution, on monte en cascade deux ou plusieurs comparateurs de 4 bits. Onconstate que les entrées en cascade ont les mêmes indices que les sorties correspondantes.Quand une comparaison de 4 bits est effectuée, comme à la figure suivante les entrées encascade doivent être raccordées selon l'ordre indiqué afin d'obtenir du comparateur dessorties correctes.

Page 145: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire.

- 136 -

Pour monter en cascade deux comparateurs, il faut que les sorties de celui de poids le plusfaible soient connectées aux entrées ayant les mêmes indices dans le comparateur de rangsupérieur. C'est ce que montre la figure b), où le comparateur de gauche compare les 4 bitsde poids inférieur de deux mots de 8 bits: A7A6A5A4A3A2A1A0 et B7B6B5B4B3B2B1B0. Lessorties sont amenées aux entrées en cascade du comparateur e droite, qui confronte déjà les 4bits de poids le plus fort. Les sorties de ce dernier étage de comparaison contiennent lerésultat final de la comparaison des mots de 8 bits.

Applications Les comparateurs de grandeurs sont employés assez intensivement dans les circuits dedécodage des adresses des ordinateurs; ce sont eux qui permettent de sélectionner lepériphérique d'entrée/ sortie ou de localiser la zone mémoire contenant les données que l'onveut retrouver. Ces éléments comparent le code d'adresse envoyé par le processeur central(UCT) à un code d'adresse matériel; si les deux coïncident, la sortie OA=B du comparateuractive le dispositif ayant l'adresse correspondante. Les comparateurs de grandeurs sontégalement très utiles dans les applications de régulation où un nombre binaire figurant lecomportement d'une variable physique régulée (comme la vitesse, la position) est comparé àune valeur de consigne. Les sorties du comparateur servent de déclencheur à l'envoi designaux pour la conduite des mécanismes qui ramènent la variable physique vers son pointde consigne.

Symbole La figure 9-41 nous montre le symbole IEEE/ANSI du comparateur 74LS85. Notez l'emploi des lettres P et Q pour représenter les variables d'entrée. Il s'agit de la désignationsanctionnée par la norme IEEE/ANSI.

Page 146: numérique partie1 combi

137

II.CIRCUITS LOGIQUES MSI ( intégration à moyenne échelle).

INTRODUCTION.Dans les systèmes numériques, on retrouve toujours des données et des informationscodées sous forme binaire qui sont sans cesse soumises à des opérations, comme: 1) le décodage et le codage - transposition des données d'un code à un autre, 2) le multiplexage - choix d'un groupe de données parmi plusieurs, 3) le démultiplexage - aiguillage des données vers une destination parmi plusieurs, et 4) l'acheminement par bus - transmission de données entre plusieurs dispositifs parl'intermédiaire d'un bus commun. Toutes ces opérations, ainsi que d'autres, sont désormaisfaciles à matérialiser grâce aux nombreux circuits intégrés de la classe MSI (intégration àmoyenne échelle).Dans cette partie de chapitre, nous étudierons plusieurs types de dispositifs MSI parmi lesplus courants.

Pour chaque type de dispositif, - nous commencerons par une courte discussion de son principe de fonctionnement, - nous présenterons des CI spécifiques,- nous montrerons quel rôle ces dispositifs jouent dans diverses applications quandon les utilise soit seuls, soit combinés à d'autres circuits intégrés.

1. LES DÉCODEURS.

Le décodeur est un circuit logique qui établit la correspondance entre uncode d'entrée binaire de N-bits et M lignes de sortie; pour chacune descombinaisons possibles des entrées, une seule ligne de sortie est validée.N est un entier quelconque et M est un entier inférieur ou égal à 2N

Cette figure nous fait voir le schéma général d'un décodeur ayant N entrées et M sorties.Étant donné que chacune des N entrées peut être soit 0 soit 1, il y a 2N combinaisons oucodes d'entrée possibles. Pour chacune des combinaisons d'entrée possibles, une seule desM sorties passera au niveau HAUT; toutes les autres sorties demeureront au niveau BAS.

Page 147: numérique partie1 combi

138

De nombreux décodeurs sont conçus pour avoir des sorties vraies au niveau BAS,c'est-à-dire que seule la sortie choisie est au niveau BAS tandis que les autres demeurentau niveau HAUT. Quand cette convention s'applique, il y a toujours sur les lignes de sortiedu schéma des petits ronds.

Certains décodeurs n'utilisent pas toute la gamme des 2N codes d'entrée possibles, maisseulement un sous-ensemble de celle-ci. Par exemple, un décodeur DCB-décimal a commeentrée un code binaire de 4 bits et dix lignes de sortie, une pour chacune des dixreprésentations du code DCB, 0000 à 1001. Souvent, les décodeurs de ce genre sontconçus de façon à ce que les codes inutilisés n'activent aucune des sorties lorsqu'ils seretrouvent appliqués sur l'entrée.

Cette figure nous fait voir les circuits d'un décodeur ayant trois voies d'entrée et 23 = 8voies de sortie. Sur ce schéma il n'y a que des portes ET, de sorte que les sorties sontvraies au niveau HAUT. Pour avoir des sorties vraies au niveau BAS, il faut utiliser desportes NON-ET. Remarquez que pour un code d'entrée donné, la seule sortie qui est vraie(HAUT) est celle correspondant à l'équivalent décimal du code d'entrée binaire (par

Page 148: numérique partie1 combi

139

exemple la sortie O6 passe à 1 quand CBA = 1102 = 610).

Comment appeler ce décodeur?

- On peut l'appeler décodeur entrée trois voies, sortie huit voies, parce qu'il y a troisvoies d'entrée et huit voies de sortie. - On peut aussi dire que c'est un décodeur ou convertisseur binaire-octal parce qu'ilétablit la correspondance entre un code d'entrée binaire de 3 bits et une sortie parmi huit(octal). - On dit également que c'est un décodeur 1 parmi 8, parce qu'il y a 1 sortie parmi les 8qui est activée à la fois.

Entrées VALIDATION Certains décodeurs sont dotés d'une ou de plusieurs entrées VALIDATION qui servent àcommander son fonctionnement. Par exemple, reportez-vous au codeur illustré à la figure précédente et imaginez qu'il y aitune ligne commune VALIDATION raccordée à une quatrième entrée de chaque porte.

Quand cette ligne est gardée au niveau HAUT, le décodeur fonctionnenormalement et le code d'entrée A, B, C détermine quelle sortie passe au niveauHAUT.Quand VALIDATION est gardée au niveau BAS, toutes les sorties sont forcéesdans l'état BAS quels que soient les niveaux appliqués aux entrées A, B, C. Donc ce décodeur est VALIDÉ seulement si le signal VALIDATION est auniveau HAUT.

La figure suivante a) nous montre le schéma logique du décodeur 74LS138 tel que ledonne le manuel des fiches techniques TTL de Fairchild. Fonctionnement de ce décodeur. On remarquera tout d’abord, que ses sorties sont celles de portes NON-ET, parconséquent elles sont vraies au niveau BAS. C'est d'ailleurs ce qu'indique la façon dontsont désignées les sorties, ; la barre de complémentation indique desO ,O ,O ,...7 6 5sorties vraies au niveau BAS.Le code d'entrée est appliqué aux bornes A2, A1, A0, où A2 est le bit de poids fort. Comme il a trois entrées et huit sorties, c'est un décodeur entrée trois voies, sortie huitvoies ou, ce qui est équivalent, un décodeur 1 parmi 8.Les entrées sont des entrées de validation distinctes qui sont combinéesE ,E et E1 2 3dans une porte ET. Pour valider les portes NON-ET de sortie afin qu'elles indiquent lecode d'entrée A2, A1, A0 correspondant, il faut que la sortie de cette porte ET soit auniveau HAUT.

C'est ce qui se produit seulement quand E = E = 0 et E1 2 3 = 1Autrement dit, ces trois entrées doivent être dans leur état vrai pour rendre actives lessorties du décodeur. Si au moins une de ces entrées validation est dans son état non vrai, lasortie de ET est au niveau BAS, ce qui impose aux sorties de toutes les NON-ET leur étatinactif HAUT, et cela quel que soit le code d'entrée.

Page 149: numérique partie1 combi

140

D'ailleurs, la figure b) résume tout ceci dans une table de vérité.Rappelons que “X” veut toujours dire “condition indifférente”.

Le symbole logique du 74LS138 vous est montré à la figure c). Notez comment on représente les sorties vraies au niveau BAS et les entrées de validation.Même si la porte ET de validation est dessinée à l'extérieur, en réalité, elle fait partie descircuits internes de la puce.

Page 150: numérique partie1 combi

141

Voilà ce que nous donne Electronics Workbench

Exercices:

1) Indiquez les états des sorties d'un 74LS 138 pour chacune des conditions d'entrée que voici:

a) E = 0, E = 1, E 1, A 1, A 1 et A 01 2 3 2 1 0= = = =

b) E = 0, E = 0, E 1, A 0, A 1 et A 11 2 3 2 1 0= = = =

Solutiona) Lorsque , le décodeur est désactivé et toutes ses sorties se trouvent dans leurE 12 =

état HAUT (inactif). C'est ce qu'on peut déduire de la table de vérité ou bien enrelevantles niveaux logiques tout au long du circuit logique.

b) Toutes les sorties de validation sont activées, de sorte que la section de décodage estvalidée. Elle décode donc le code d'entrée 0112 = 3 10 afin d'activer la sortie .O3Donc,

se trouve au niveau BAS et toutes les autres sorties sont au niveau HAUT.O3

2) La figure suivante montre comment il est possible d'agencer quatre 74LS 138 et unINVERSEUR pour obtenir un décodeur 1 parmi 32. Ces décodeurs sont notés Z1-Z4 afinde s'y référer facilement et les huit sorties de chacun de ceux-ci sont combinées pourdonner un total de 32 sorties. Un code d'entrée de 5 bits A4 A3 A2 A1 A0 n'ouvre qu'uneseule des 32 sorties pour chacune des 32 représentations d'entrée possibles.a) Dites quelle sortie est active si A4 A3 A2 A1 A0 = 01101. b) Indiquez la plage des codes d'entrée qui rend actives toutes les sorties de la puce Z4.

Page 151: numérique partie1 combi

142

Page 152: numérique partie1 combi

143

Solutiona) Le code d'entrée à 5 bits est composé de 2 parties distinctes. Les bits A4 et A3déterminent lequel des quatre boîtiers Z1-Z4 est validé, alors que la section A2 A1 A0 fixela sortie de la puce validée qui passe à son niveau vrai. Si A4A3 = 01, seul Z2 a ses entréesde validation au niveau vrai. Donc Z2 réagit au code A2 A1 A0 = 101 et fait passer sa sortie

à sa valeur vraie, sortie rebaptisée . Donc le code d'entrée 01101, l'équivalentO5 O13

binaire du chiffre décimal 13, fait passer la sortie au niveau BAS tandis que toutesO13

les autres sorties restent au niveau HAUT.

b) Pour valider Z4, il faut que A4 et A3 soient tous les deux à 1. Donc tous les codesd'entrée compris entre 11000(2410) et 11111(3110) rendent active une sortie de Z4. Cetteplage de codes correspond aux sorties .O à O24 31

Décodeurs DCB-décimal

Page 153: numérique partie1 combi

144

La figure précédente a) montre le schéma logique d'un décodeur DCB-décimal 7442, quel'on retrouve aussi en version 74LS42 et 74HC42. Une sortie ne passe à 0 qu'au momentoù son entrée correspondante DCB est appliquée. Par exemple, la sortie ne devient auO5niveau BAS que lorsque les valeurs sur les entrées sont DCBA = 0101. Dans le cas descombinaisons DCB non valides, aucune des entrées n'est validée. Ce décodeur reçoitfréquemment le nom de décodeur entrée 4 voies, sortie 10 voies ou décodeur 1 parmi10. Le symbole logique et la table de vérité du 7442 sont reproduits également sur cettefigure. Remarquez l'absence dans ce décodeur d'une entrée de validation.

Décodeur/pilote DCB-décimal Le TTL 7445 est un décodeur/pilote DCB-décimal. Le terme « pilote » est ajouté à ladésignation de cet élément pour indiquer des sorties en collecteur ouvert qui permettent àune sortie TTL de fonctionner avec un courant plus intense et dans des limites de tensionsupérieures aux valeurs normales. Les sorties du 7445 peuvent absorber jusqu'à 80 mAdans l'état BAS et être portées jusqu'à 30 V dans l'état HAUT. Ceci lui permet d'attaquerdirectement des charges comme des LEDs, des relais ou des moteurs à courant continu.

Page 154: numérique partie1 combi

145

Applications du décodeur Les décodeurs servent chaque fois qu'une sortie ou un groupe de sorties ne doit être validéqu'à la réalisation d'une certaine combinaison des niveaux d'entrée. Ces niveaux d'entréesont fréquemment fournis par un compteur ou un registre. Quand les entrées d'un décodeursont alimentées par un compteur qui dénombre sans arrêt, les sorties du décodeur sontactivées les unes à la suite des autres et peuvent alors servir à une tâche de synchronisationou de séquencement pour mettre en marche ou à l'arrêt différents dispositifs.

Les décodeurs sont largement utilisés dans les mémoires des ordinateurs: ce sont eux quireçoivent le code d'adresse du processeur central et activent l'emplacement mémoiredésigné par l'adresse. C'est une application que nous étudierons plus en détail plus tard,quand nous aborderons le sujet des mémoires.

Un autre domaine d'applications considérable des décodeurs est celui de la conversion dedonnées binaires en une forme se prêtant à un affichage numérique.

2. PILOTES / DÉCODEURS DCB - 7 SEGMENTS.

Dans de nombreux affichages numériques, les dix chiffres 0 à 9, et parfois les caractèreshexadécimaux A à F, sont configurés au moyen de 7 segments (figure a). Chaque segmentest constitué d'un matériau qui émet de la lumière quand il est traversé par un courant. Lesmatériaux les plus utilisés sont les diodes électroluminescentes (LED) et les filamentsincandescents. La figure b) nous montre comment sont disposés les segments afin depouvoir afficher les différents chiffres. Par exemple, pour afficher le chiffre « 6 » il fautque les segments c, d, e, f et g soient allumés et que les segments a et b soient éteints.

Page 155: numérique partie1 combi

146

Un pilote/décodeur DCB-7 segments accepte en entrée les 4 bits DCB et rendactives les sorties qui vont permettre de faire passer un courant dans les segments quiforment le chiffre décimal correspondant. La logique de ce décodeur est plus compliquéeque ce que l'on a vu précédemment, parce que chaque sortie peut être mise au niveau vraidans plus d'une combinaison de bits d'entrée. Par exemple, le segment e est allumé lorsquesont formés les chiffres 0, 2, 6 et 8, c'est-à-dire quand les codes d'entrée sont 0000, 0010,0110 ou 1000.

Le pilote/décodeur DCB-7 segments, illustré à la figure suivante a) (TTL 7446 ou 7447),pilote un afficheur DEL à 7 segments. Chaque segment est constitué d'une ou deux diodesélectroluminescentes. Les anodes de ces diodes sont toutes réunies à Vcc ( + 5 V). Leurscathodes sont connectées au travers de résistances limitatrices de courant aux sortiesappropriées du pilote/décodeur. Celui-ci a des sorties qui sont vraies au niveau BAS, soitdes transistors pilotes à collecteur ouvert pouvant absorber un courant passablementintense.

C'est la raison pour laquelle les afficheurs DEL peuvent nécessiter entre 10 mA et 40 mApar segment, selon leur type et leur taille.

Pour illustrer le fonctionnement de ce circuit, soit l'entrée DCB D = 0, C = 1, B = 0, A _ 1,correspondant à la représentation DCB de 5. En réponse à cette entrée, les sorties

du pilote/décodeur sont amenées au niveau BAS (raccordées à la masse),a, f , g, c et dce qui a pour effet de faire passer un courant à travers les segments DEL a, f, g, c et d etd'afficher le nombre 5. Les sorties b et e demeurent au niveau HAUT (ouvert) et lessegments correspondants restent éteints.b et e

Les pilotes/ décodeurs 7446 et 7447 ont été conçus de façon à allumer certains segmentsmême si le code d'entrée est supérieur à 1001 (9). D'ailleurs à la figure b), on peut voir lessegments qui s'allument en réponse à tous les codes d'entrée de 0000 à 1111 (15). Notezque le code d'entrée 1111 éteint tous les segments.

L'afficheur DEL de cette figure est dit à anode commune parce que toutes les anodes dessegments sont réunies à Vcc. Il existe un autre type d'afficheur DEL à 7 segments dit àcathode commune dans lequel toutes les cathodes des segments sont réunies à la masse.Ce dernier type d'afficheur est attaqué par un pilote/décodeur DCB-7 segments dont lessorties sont vraies au niveau HAUT; ainsi quand des sorties sont rendues actives, lesanodes des segments correspondants passent à la tension HAUTE. Le pilote/ décodeur7448 fonctionne de cette manière.

Page 156: numérique partie1 combi

147

Exercice.Rechercher les équations logiques et chacune des sorties (entrées des segments)a,b,c,d,e,f,g, dans le cas d’un afficheur à anode commune.

Page 157: numérique partie1 combi

148

Photocopies du data handbook.

Page 158: numérique partie1 combi

149

Définition de certaines entrées/sorties

Page 159: numérique partie1 combi

150

LT: Lamp test: borne de test (allumage de tous les segments)BI/RBO: Blanking Input / Ripple Blanking OuputRBI : Ripple Blanking InputCes 2 derniers permettent d’éliminer la visualisation des zéros non significatifs. Onraccorde BI/RBO à RBI de l’état suivant (de rang plus élevé)Tous les segments seront allumés si LT =0 et BI/RBO = 1Si BI/RBO = 0 alors tous les segments seront éteints

Remarques complémentaires concernant la broche BI/RBOBI/RBO est un ET logique câblé et est utilisé en entrée pour la commande d'extinction(BI) ou en sortie correspondante (RBO).1) L'entrée BI doit être ouverte ou au niveau Haut pour les sorties de 0 à 15. RBI doit êtreouvert ou au niveau Haut pour l'effacement des zéros décimaux.2) Lorsque l'entrée BI est maintenue au niveau bas (L), tous les segments sont éteints,quels que soient les niveaux des autres entrées.3) Lorsque RBI et les entrées A, B, C et D sont au niveau bas (L) et LT au niveau Haut,tous les segments sont éteints et RBO passe au niveau bas (L). 4) Lorsque BI/RBO est ouvert ou au niveau Haut et que LT passe au niveau bas (L), tousles segments sont allumés.

Symboles IEE/ANSI

Remarques1) on numérote les entrées et les sorties à l’intérieur du rectangle.2) un losange souligné signale une sortie à collecteur ouvert.3) le triangle signifie que l’on a affaire à un tampon-pilote doté de caractéristiques de tension et de courant dépassant les valeurs normales

Page 160: numérique partie1 combi

151

3. CODEURS .Si le décodage est un processus à partir duquel une représentation de N bits produit unsignal HAUT (ou BAS) sur une et seulement une des lignes de sortie d'un décodeur, alorsle processus inverse est le codage et il utilise un circuit logique appelé “codeur”. Uncodeur a un certain nombre de voies d'entrée, dont une seule est active à la fois; àune certaine voie d'entrée correspond une représentation de sortie de N bits. Lafigure suivante nous montre le schéma général d'un codeur ayant M entrées et N sorties.Dans ce cas-ci, les entrées sont vraies au niveau HAUT, ce qui veut dire que normalementelles sont au niveau BAS.

Nous avons vu qu'un décodeur binaire-octal fait correspondre à un code d'entrée binaire de3 bits une seule des huit voies de sortie possibles. À l'inverse, un codeur octal-binaire a 8voies d'entrée et produit une représentation de sortie binaire de 3 bits.

En analysant successivement les réponses des circuits logiques, on en conclue qu'un

Page 161: numérique partie1 combi

152

niveau BAS sur une seule entrée donne lieu en sortie à un code binaire qui correspond à cette entrée. Par exemple, un BAS sur (pendant que toutes les autres entrées sont à 1) produitA3

ce qui est le code binaire de 3. Observez que n'est pasO 0, O 1 et O 12 1 0= = = A0

connectée à une porte logique, puisque les sorties du décodeur sont normalement à 000quand aucune des entrées de à n'est au niveau BAS.A1 A7

Codeurs de priorité Comme on l'a dit précédemment, le codeur de la figure précédente produit des résultatserronés si au moins deux entrées sont rendues actives simultanément. Un codeur depriorité est une version modifiée du codeur élémentaire et cette version modifiéepossède les circuits logiques nécessaires pour que le code de sortie choisi, quand deuxentrées sont actives, soit celui qui correspond au nombre le plus haut. Dans un telcodeur, quand les deux entrées sont actives en même temps, la réponse donnéeA et A5 3en sortie est 101. De même, ce codeur produit en sortie le code 110 si les entrées

sont rendues actives en même temps. Les 74148, 74LS148 et 74HC148A , A et A0 2 6sont des codeurs de priorité octal-binaire.

Codeur de priorité décimal-DCB 74147 La figure suivante nous montre le symbole logique du codeur de priorité décimal-DCB74147 (74LS 147, 74HC 147). Celui-ci a 9 entrées vraies au niveau BAS représentant les9 chiffres décimaux 1 à 9 et il produit la représentation DCB complémentée correspondantà l'entrée la plus haute mise au niveau vrai.

Examinons la table de vérité afin de déduire le fonctionnement de ce CI. La première lignede cette table montre que toutes les entrées sont inactives au niveau HAUT. Pour cettecondition, les sorties sont 1111, soit l'inverse de 0000, le code DCB de 0. La deuxièmeligne de cette table montre qu'un niveau BAS sur , et cela quelles que soient lesA9valeurs sur les autres entrées, donne lieu au code de sortie 0110, soit l'inverse de 1001, lecode DCB de 9. La troisième ligne démontre qu'un niveau BAS sur , à la condition queA8

le niveau sur soit HAUT, produit le code de sortie 0111, soit l'inverse de 1000, leA9

Page 162: numérique partie1 combi

153

code DCB pour 8. Le même raisonnement pour toutes les lignes de cette table nousapprend qu'une entrée au niveau BAS, si toutes les entrées de rang supérieur sont auniveau HAUT, donne l'inverse du code DCB correspondant à cette entrée.Les sorties du 74147 sont normalement à 1 quand aucune des entrées n'est à son niveauvrai. Ceci correspond à la condition d'entrée du chiffre décimal 0. Il n'y a en réalité aucuneentrée , puisque le codeur suppose que l'état d'entrée du chiffre décimal 0 est celui crééA0

quand toutes les autres entrées sont à 1. Pour obtenir le code DCB naturel à partir dessorties DCB complémentées du 74147, il faut ajouter un INVERSEUR à chacune dessorties.

Exemple d’utilisation d’un 74147: codeur d’interrupteurs. On place 10 interrupteurs aux 10 entrées. Les 10 interrupteurs peuvent être ceux d'un clavier decalculatrice représentant les chiffres 0 à 9. Les interrupteurs sont du type ouvert au repos,de sorte que les entrées du codeur sont généralement toutes à 1; quand c'est le cas la sortieDCB est 000 (remarquez les inverseurs). Quand une touche numérique est enfoncée, lecircuit donne en sortie le code DCB correspondant à ce chiffre. Comme le 74147 est uncodeur de priorité, l'enfoncement simultané de plusieurs touches place en sortie le codeDCB de la touche numériquement la plus élevée.

Ce codeur d'interrupteurs peut servir toutes les fois que l'on doit introduire manuellementdes donnés DCB dans un système numérique. Un exemple parfait de cela est lacalculatrice électronique dans laquelle un opérateur introduit le nombre décimal en

appuyant successivement sur desinterrupteurs du clavier. Dans unecalculatrice élémentaire, le codeDCB de chaque chiffre décimal estintroduit dans un registre mémoirede 4 bits. Ce qui veut dire quelorsqu'on appuie sur la premièretouche, le code DCB correspondant àce chiffre est envoyé à un registre de4 bits, quand on appuie sur le secondinterrupteur, le code DCB de cenouveau chiffre est envoyé à unautre registre à bascules de 4 bits, etainsi de suite.

Page 163: numérique partie1 combi

154

S DS C DS B C D B SS A B C D A S

3

2

3 2

4 1

== ⊕= ⊕ ⊕ = ⊕= ⊕ ⊕ ⊕ = ⊕

4. TRANSCODEURS .Dans ce cas, on code les sorties à partir d’un codage différent des entrées. Le transcodeurva donc élaborer les grandeurs de sortie codées à partir des entrées codées. On rencontre 2types de transcodeurs:

- conversion de code.- affichage par segments ou matrice de points.

Le second a déjà été étudié dans les décodeurs, nous nous attacherons donc plus précisément aux transcodeurs ( de conversion de code)

Principe:Pour passer d’un code binaire à l’autre, il suffit de considérer les entrées et les sorties dansune double table de vérité qui permet d’établir les équations logiques de transcodage et lesméthodes traditionnelles.

Exemple:décimal GRAY BINAIRE

N D C B A S3 S2 S1 S0

0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 12 0 0 1 1 0 0 1 03 0 0 1 0 0 0 1 14 0 1 1 0 0 1 0 05 0 1 1 1 0 1 0 16 0 1 0 1 0 1 1 07 0 1 0 0 0 1 1 18 1 1 0 0 1 0 0 09 1 1 0 1 1 0 0 110 1 1 1 1 1 0 1 011 1 1 1 0 1 0 1 112 1 0 1 0 1 1 0 013 1 0 1 1 1 1 0 114 1 0 0 1 1 1 1 015 1 0 0 0 1 1 1 1

On obtient les équations suivantes:

Page 164: numérique partie1 combi

155

On obtient 2 possibilités decâblages selon que l’onadopte la première ou ladeuxième formed’équation. La secondepermet une économie dematériel, mais sera moinsrapide ( le ‘repiquage’ degrandeur logique accumuleles retards)

Remarques:- Le nombre d’éléments binaires d’entrées et de sorties peut être différent, leprincipe reste le même.

- Lorsque le nombre d’entrées devient trop important, ou que le code est trèscomplexe, on peut utiliser des mémoires R.O.M. (Read only mmemory) ou desPROM (programmable ROM) ou EPROM ou EEPROM ou EAROM qui serontétudiées plus tard.

- On peut également considérer un codeur comme étant un transcodeur (codage en code X des 10 chiffres décimaux par ex. )

- Voici quelques exemples: toutes les sorties sont portées au niveau haut sauf celle qui est sélectionnée: il en est de même des entrées.

Page 165: numérique partie1 combi

156

Page 166: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

157

5. MULTIPLEXEURS.

Un multiplexeur ou sélecteur de données est un circuit logique ayantplusieurs entrées de données, mais seulement une sortie qui communiqueles données. L'aiguillage de l'entrée de données qui nous intéresse sur la sortie estcommandé par les entrées SELECT (appelées parfois entrées d'adresse). La figure suivanteillustre le symbole d'un multiplexeur général (MUX). Dans ce symbole, les entrées et lessorties sont représentées par des flèches épaisses afin d'indiquer qu'il peut y avoir plus d'unconducteur.

Un multiplexeur se comporte comme un commutateur dans lequel un code numériqueappliqué aux entrées SELECT commande les entrées de données qui sont raccordées à lasortie. Il peut y avoir sur la sortie Z les données introduites sur I0 quand on applique uncertain code d'entrée SELECT; ou bien Z peut avoir les données de I1 en réponse à unautre code d'entrée SELECT, et ainsi de suite. Autrement dit, un multiplexeur choisit unesource de données d'entrée parmi N et transmet celles-ci à la seule voie de sortie existante.C'est ce qu'on appelle le multiplexage.

Multiplexeur élémentaire à deux entrées La figure suivante schématise les circuits logiques d'un multiplexeur à deux entrées ,I0 etI1, et à une entrée de sélection S. Le niveau logique appliqué à S choisit la porte ET qui estvalidée, de façon à ce que son entrée de données traverse la porte OU jusqu'à la sortie Z

Page 167: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

158

Z I S I S

Si S 0 Z I Si S 1 Z I

0 1

0

1

= +

= ⎯ →⎯ =

= ⎯ →⎯ =

D'après l'algèbre booléenne, l'expression de la sortie est:

Multiplexeur quatre entrées Le même principe de base sert à construire un multiplexeur à quatre entrées, comme celuide la figure ci-dessous.

Dans ce cas-ci, il y a quatre entrées qui sont transmises à la sortie selon le choix indiquépar l'une des quatre combinaisons possibles des entrées de sélection S1S0. Chaque entréede données aboutit à une porte ET dont les deux autres entrées correspondent à unecertaine combinaison des niveaux des entrées de sélection; ainsi I0 est réuni avec deS1 S0sorte que I0 traverse la porte ET et atteint la sortie Z seulement quand S1 = 0 et S0 = 0. Latable accompagnant cette figure donne la valeur de la sortie pour les trois autres codes desélection d'entrée.

On peut se procurer dans le commerce des multiplexeurs à deux, quatre, huit et seizeentrées fabriqués selon la technologie TTL ou CMOS. Ces CI de base peuvent êtrecombinés afin de multiplexer un nombre d'entrées encore plus grand.

Page 168: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

159

Multiplexeur à huit entrées Voyez à la figure suivante a) le schéma logique du multiplexeur à huit entrées 74151(74LS 151, 74HC 151).

Ce multiplexeur dispose d'une entrée validation, , et il fournit la sortie normale et laEsortie complémentée. Quand , les entrées de sélection S2S1S0 choisissent une entréeE 0=de données (I0 à I7) dont les valeurs se retrouvent sur la sortie Z. Quand , leE 1=multiplexeur est invalidé de sorte que Z = 0 quel que soit le code d'entrée de sélection. Cefonctionnement est résumé dans le tableau de la figure b); le symbole logique du 74151 estillustré à la figure c).

Page 169: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

160

Le circuit de la figure suivante a recours à deux 74151, à un INVERSEUR et à une porteOU.

Explication:Au total, ce circuit a 16 entrées de données, 8 pour chaque multiplexeur. Les deux sortiesdu multiplexeur sont réunies dans une porte OU pour produire une seule sortie X. Cecircuit fonctionne comme un multiplexeur à 16 entrées. Les 4 entrées de sélection S3S2S1S0choisissent l'une des 16 entrées pour la faire passer jusqu'à X.L'entrée S3 choisit le multiplexeur qui est validé. Quand S3 = 0, le multiplexeur du haut estvalidé, et les entrées S2S1S0 définissent laquelle des entrées de ce multiplexeur passerajusqu'à la sortie et franchira la porte OU pour atteindre X. Quand S3 = 1, c'est lemultiplexeur du bas qui est validé et les entrées S2S1S0 choisissent l'entrée de données dece dernier qui atteint la sortie X.

Page 170: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

161

Quatre multiplexeurs à deux entrées (74157/LS157/HC157) Il s'agit ici d'un boîtier intégré qui renferme quatre multiplexeurs à deux entrées identiquesà celui de la page157. Le schéma logique du 74157 vous est montré à la figure suivante a).Notez de quelle façon les entrées de données et les sorties sont désignées.

Déterminez les conditions d’entrée qui placent sur chacune des sorties Z le niveau logiquede son entrée I0 correspondante. Même question pour I1 .Réponse:

Page 171: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

162

Z ABC ABC ABC= + +

Application du 74151.

La figure précédente nous montre comment on utilise un multiplexeur à 8 entréespour matérialiser un circuit logique qui fonctionne conformément aux indications dela table de vérité. Les variables d'entrée A, B, C sont raccordées respectivement àS0, S1, S2, et ce sont les niveaux appliqués à ces entrées qui déterminent l'entrée dedonnées qui est transférée à la sortie Z. Conformément à cette table de vérité, Z doitêtre à 0 quand CBA = 000. Ainsi l'entrée du multiplexeur I0 doit être raccordée à 0.De la même façon, Z est supposée être à 0 quand CBA = 011, 100, 101 et 110, desorte que les entrées I3, I4, I5 et I6 sont raccordées en permanence à la masse (niveauBAS). L'autre groupe de conditions CBA doit donner Z = 1, de sorte qu'il fautraccorder en permanence les entrées du multiplexeur Il, I2 et I7 à un niveau HAUT.

Il est facile de voir que toute table de vérité à 3 variables peut être matérialisée aumoyen d'un multiplexeur à 8 entrées. Cette méthode de matérialisation est souventbeaucoup plus efficace que l'utilisation de portes logiques distinctes. Par exemple, sinous écrivons la somme de produits correspondant à la table de vérité de la figureprécédente, nous trouvons:

Il est impossible de simplifier cette expression au moyen de l'algèbre ou d'undiagramme K, ce qui signifie que pour la matérialiser il faut 3 INVERSEURS et 4portes NON-ET, soit au total 2 circuits intégrés.

Page 172: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

163

Il existe une méthode encore plus efficace, soit réaliser de telles fonctions logiquesen se servant de multiplexeurs. Cette méthode permet à un concepteur logicien deprendre un multiplexeur à trois entrées de sélection (par ex. le 74151) et deconstruire une fonction logique à quatre variables.

APPLICATIONS DES MULTIPLEXEURSLes applications des multiplexeurs dans le domaine des techniques numériques sontnombreuses et variées. On en retrouve dans les circuits de sélection de données,d'aiguillage de données, d'ordonnancement des opérations, de conversion parallèle-série,de génération de formes d'ondes et de production de fonction logique.

5. DÉMULTIPLEXEURS.On vient de voir qu'un multiplexeur est sollicité par plusieurs entrées, mais ne transmetqu'une de ces dernières à la sortie. Un démultiplexeur effectue l'opérationinverse: il n'a qu'une entrée et dirige celle-ci vers une sortie parmiplusieurs sorties. La figure suivante nous montre le schéma général d'undémultiplexeur (DEMUX). Les flèches plus larges utilisées pour représenter les entrées etles sorties signifient plusieurs conducteurs. Le code d'entrée de sélection détermine àquelle sortie l'entrée DONNÉES est transmise. Autrement dit, le démultiplexeur reçoit desdonnées d'une entrée et choisit de les diriger vers une des N voies de sortie possibles; ilfonctionne comme un commutateur.

Page 173: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

164

Démultiplexeur entrée une voie, sortie huit voies La figure suivante nous fait voir le schéma logique d'un démultiplexeur qui dirige unevoie d'entrée vers huit voies de sortie possibles. La ligne d'entrée de données unique I estconnectée aux huit portes ET, mais une seule de ces portes est validée par les entréesSELECT. Par exemple, quand S2S1S0 = 000, seule la porte ET 0 est validée, et l'entrée dedonnées I se retrouve sur la sortie O0. Les autres codes SELECT font en sorte que l'entrée Itraverse les portes des autres sorties. La table de vérité récapitule ce fonctionnement.

Page 174: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

165

Le circuit du démultiplexeur de cette figure est très semblable à celui du décodeur entréetrois voies, sortie huit voies de la page 138, si on excepte le fait qu'une quatrième entrée (I)a été ajoutée à chaque porte. Nous avons déjà souligné que de nombreux décodeursintégrés ont une entrée VALIDATION, et que ceci correspond à une entrée supplémentairepour les portes du décodeur. Ce genre de boîtier de décodeur peut donc servir dedémultiplexeur, les entrées du code binaire (par exemple A, B, C de la figure de la page138) jouant le rôle des entrées SELECT et l'entrée VALIDATION jouant le rôle de l'entréede données I. C'est donc une des raisons pour laquelle les fabricants de CI donnent souventle nom de décodeur/ démultiplexeur à ce dispositif puisqu'il peut servir à l'une ou l'autre deces fonctions.

Nous avons déjà étudié le 74LS138 dans son rôle de décodeur un parmi huit. La figuresuivante nous montre maintenant comment l'utiliser à titre de démultiplexeur. L'entrée devalidation E, est utilisée comme l'entrée de données I, tandis que les deux autres entrées devalidation sont gardées en permanence à leur niveau vrai. Les entrées A2 A1 A0 accueillentle code de sélection. Pour illustrer son fonctionnement, supposons que les entrées desélection sont 000. On sait que ce code ouvre seulement la sortie appelée et gardeO0

toutes les autres sorties au niveau HAUT. passe à 0 seulement si passe à 0, etO0 E1

cette sortie passe à 1 si passe à 1. Autrement dit, suit les niveaux appliqués à laE1 O0

borne (c'est-à-dire l'entrée de données I). Pendant ce temps toutes les autres sortiesE1

demeurent à 1. De la même façon, un code de sélection différent appliqué aux entrées A2A1 A0 ouvre la sortie correspondante qui alors suit les valeurs appliquées sur l'entrée dedonnées I.

Page 175: numérique partie1 combi

Chapitre V: Problèmes de logique combinatoire

166

La figure b) montre les formes d'ondes types pour le cas sélectionné par A2 A1 A0 = 000,soit la sortie . Dans cet exemple, le signal de données appliqué sur est acheminé surO0 E1

et toutes les autres sorties restent dans leur état inactif, soit l'état HAUT.O0

Démultiplexeur d'horloge Le principe du démultiplexage trouve de nombreuses applications un peu partout. Lafigure suivante nous fait voir le démultiplexeur 74LS138 utilisé à titre de démultiplexeurd'horloge. Commandé par les lignes SELECT, ce dispositif aiguille le signal d'horloge versla destination voulue. Par exemple, quand S2 S1 S0 = 000, le signal d'horloge appliqué à Iest passé à la sortie . S2 S1 S0 = 101, l'horloge est passée à la sortie .O0 O5

Page 176: numérique partie1 combi

BIBLIOGRAPHIE

- Cours de Monsieur D. Anjel

- CIRCUITS NUMÉRIQUES Théorie et applications Ronald Tocci

- INTRODUCTION AUX CIRCUITS LOGIQUES Letocha

-TTL APPLICATIONS Texas Instruments

-LOGIQUE COMBINATOIRE J. Lagasse

-LOGIQUE SÉQUENTIELLE J. Lagasse

-DIGITAL ELECTRONICS Kleitz

-ARCHITECTURE ET TECHNOLOGIE DES ORDINATEURS

P. Zandla et Y. Ligion

- ARTICLES PUBLIÉS SUR INTERNET.