cour autimatisme

68
1 Fonctions logiques élémentaires II.1 Systèmes binaires et algèbre de Boole Actuellement, alors que les ordinateurs analogiques sont encore du domaine de la recherche, les informations traitées par les systèmes informatiques sont codées sous forme binaire. Un système binaire (signal, circuit, etc…) est un système qui ne peut exister que dans deux états autorisés. Le circuit de la figure 1 est un exemple plus que simplist e de circuit binaire : selon que l'interrupteur S est ouvert ou fermé la tension V 0 ne peut être égale qu'à +5 V ou 0 V. R +5V S V 0 Figure 1 Diverses notations peuvent être utilisées pour représenter ces deux états : numérique : 1 et 0 (bit : binary digit ) logique : vrai et faux (true et false) oui et non (yes et no) électronique : ON et OFF haut et bas (HI et LO, H et L, H et B) Pour étudier les fonctions de variables binaires on utilise une algèbre développée au XIX ème siècle par un mathématicien anglais : Georges Boole. Dans ce chapitre nous nous proposons de présenter les fonctions de base de l'algèbre booléenne ainsi que leurs représentations symboliques en électronique. Nous rappellerons également, sans prétendre à la rigueur mathématique, les quelques notions élémentaires nécessaires à l'étude des circuits électroniques.

Transcript of cour autimatisme

Page 1: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 1/68

1

Fonctions logiques élémentaires

II.1 Systèmes binaires et algèbre de Boole

Actuellement, alors que les ordinateurs analogiques sont encore du domaine de la

recherche, les informations traitées par les systèmes informatiques sont codées sous forme

binaire. Un système binaire (signal, circuit, etc…) est un système qui ne peut exister que dans

deux états autorisés. Le circuit de la figure 1 est un exemple plus que simpliste de circuit binaire :selon que l'interrupteur S est ouvert ou fermé la tension V0 ne peut être égale qu'à +5 V ou 0 V.

R

+5V

S

V0

Figure 1

Diverses notations peuvent être utilisées pour représenter ces deux états :

numérique : 1 et 0 (bit : binary digit)

logique : vrai et faux (true et false)oui et non (yes et no)

électronique : ON et OFFhaut et bas (HI et LO, H et L, H et B)

Pour étudier les fonctions de variables binaires on utilise une algèbre développée au

XIXème siècle par un mathématicien anglais : Georges Boole. Dans ce chapitre nous nous

proposons de présenter les fonctions de base de l'algèbre booléenne ainsi que leurs

représentations symboliques en électronique. Nous rappellerons également, sans prétendre à la

rigueur mathématique, les quelques notions élémentaires nécessaires à l'étude des circuitsélectroniques.

Page 2: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 2/68

2

L'algèbre de Boole concerne la logique des systèmes binaires. Une variable booléenne nepeut prendre que deux valeurs possibles 0 ou 1. En électronique les deux états d'une telle variable

peuvent être associés à deux niveaux de tension : V(0) et V(1) pour les états 0 et 1respectivement. On distingue les logiques positive et négative selon que V(1) > V(0) ou

V(1) < V(0). Ce que nous pouvons résumer dans la table suivante donnant la signification logique

des niveaux physiques :

Niveau Logique positive Logique négative

H 1 0

L 0 1

Table 1

En pratique un niveau est défini par un domaine en tension ou en courant. Par exemple en

technologie TTL, un niveau sera dit haut s'il est compris entre +2 V et +5 V et un niveau sera bas

s'il est inférieur à +0.8 V.

V(1)

V(0)

V(1)

V(0)

Logique positive Logique négative

"0"

"1" "0"

"1"

Figure 2

II.2 Porte OU (inclusif)

L'opération OU (OR), encore appelée addition logique, a au moins deux entrées. La sortie

d'une fonction OU est dans l'état 1 si au moins une de ses entrées est dans l'état 1. La fonction

OU, notée +, est représentée par le symbole indiqué sur la figure 3 et est définie par la table devérité suivante :

A B Y = A + B

0 0 0

0 1 1

1 0 1

1 1 1

Table 2

Page 3: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 3/68

3

A

B

Y

Figure 3

Il est facile de vérifier les propriétés suivantes de la fonction OU :

(A + B) + C = A + (B + C) = A + B + C Associativité

A + B = B + A Commutativité

A + A = A IdempotenceA + 0 = A Elément neutre

A + 1 = 1

II.3 Porte ET

L'opération ET (AND), encore dénommée produit logique ou intersection, a au moinsdeux entrées. La sortie d'une fonction AND est dans l'état 1 si et seulement si toutes ses entrées

sont dans l'état 1. La fonction ET, notée •, est représentée par le symbole indiqué sur la figure 4 et

est définie par la table de vérité suivante :

A B Y = A • B

0 0 00 1 0

1 0 0

1 1 1

Table 3

A

BY

Figure 4

Il est facile de vérifier les propriétés suivantes de la fonction ET :

(A • B) • C = A • (B • C) = A • B • C AssociativitéA • B = B • A Commutativité

A • A = A IdempotenceA • 1 = A Elément neutre

A • 0 = 0

Page 4: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 4/68

4

D'autre part, les opérations ET et OU sont distributives l'une par rapport à l'autre :

A • (B + C) = (A • B) + (A • C)A + (B • C) = (A + B) • (A + C)

II.4 Inverseur : porte NON

L'opération NON (NOT) a une seule entrée et une seule sortie. La sortie d'une fonction

NON prend l'état 1 si et seulement si son entrée est dans l'état 0. La négation logique est

symbolisée par un petit cercle dessiné à l'endroit où une ligne en entrée ou en sortie rejoint un

symbole logique, comme par exemple sur la figure 5. La table 4 donne la table de vérité

correspondante.

A Y = A

0 1

1 0

Table 4

A Y

Figure 5

A partir des définitions des fonctions NON, OU et ET nous pouvons déduire :

( ) BABAA0AA

1AA

AA

+=+=

=+

=

••

Page 5: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 5/68

5

II.5 Théorèmes de De Morgan

De Morgan a exprimé deux théorèmes qui peuvent se résumer sous la forme suivante :

...CBA...CBA

...CBA...CBA

•••

•••

=+++

+++=

Pour vérifier le premier théorème nous remarquons que si toutes les entrées sont à 1 les deux

membres de l'équation sont nuls. Par contre si une au moins des entrées est à 0 les deux membresde l'équation sont égaux à 1. Il y a donc égalité quels que soient les états des diverses entrées. Le

second théorème se vérifie de la même manière : si toutes les entrées sont à 0 les deux membresde l'équation sont à 1, par contre si au moins une des entrées est à 1 les deux expressions sont à 0.

Les théorèmes de De Morgan montrent qu'une fonction ET peut être fabriquée à partir des

fonctions OU et NON. De même une fonction OU peut être obtenue à partir des fonctions ET etNON. La figure 6 montre la conversion d'une porte OU en porte ET et réciproquement, utilisant

le fait que :

BABABA

BABABA

••

==+

+=+=

De même, à partir des théorèmes de De Morgan nous pouvons montrer qu'une porte ET enlogique positive fonctionne comme une porte OU en logique négative et vice versa.

A+BA

B

A

BA.B

A

BA.B

A

BA+B

Figure 6

II.6 Portes NON ET et NON OU

Une porte NON ET (NAND : NOT AND) est constituée par un inverseur à la sortie d'une

porte ET (fig 7). Une négation à la sortie d'une porte OU constitue une fonction NON OU (NOR :NOT OR) symbolisée sur la figure 8. Leurs tables de vérité respectives sont données par les

tables 5 et 6 :

Page 6: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 6/68

6

A B BAY •= A B BAY +=0 0 1 0 0 1

0 1 1 0 1 0

1 0 1 1 0 0

1 1 0 1 1 0

Table 5 Table 6

A

BY

Figure 7

A

BY

Figure 8

Comme les transistors qui interviennent comme éléments de base des portes sont par

essence des inverseurs, les portes NAND et NOR sont très usitées dans la réalisation des circuits

logiques. Grâce aux lois de De Morgan il est possible de réaliser des systèmes logiques avec

uniquement des portes NAND ou NOR. La figure 9 montre, par exemple, comment les portesNOT, OR et AND peuvent être obtenues à partir de portes NOR.

Y=A.B

A

B

A Y=A

AB

Y=A+B

Figure 9

II.7 Porte OU exclusif 

La sortie d'une fonction OU exclusif (XOR) à deux entrées est dans l'état 1 si une entrée

et seulement une est dans l'état 1. La représentation symbolique d'une fonction XOR (notée ⊕)est donnée sur la figure 10 et sa table de vérité est la suivante :

A B BAY ⊕=0 0 0

0 1 1

1 0 1

1 1 0

Table 7

Page 7: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 7/68

7

A

B

Y

Figure 10

Nous pouvons formuler de diverses manières la définition précédente : BAY ⊕= est égal à 1 si

et seulement si A = 1 ou B = 1 mais pas simultanément. Ce que nous pouvons écrire :

)BA()BA(BA ••+=⊕

Nous pouvons encore dire BAY ⊕= est égal à 1 si A = 1 et B = 0 ou si B = 1 et A = 0. Soit :

)AB()BA(BA •• +=⊕

Une fonction XOR fournit un comparateur d'inégalité : BAY ⊕= ne vaut 1 que si A et B sont

différents. Si A et B sont égaux à 1 ou si A et B sont égaux à 0 alors Y = 0. Ce qui s'écrit :

)BA()BA(BA •• +=⊕

La fonction BAYZ ⊕== correspond à un détecteur d'égalité. Nous avons encore la relationsuivante qui peut être démontrée en utilisant les théorèmes de De Morgan :

)BA()BA(BA ++=⊕ •

A ces quatre relations logiques correspondent quatre circuits réalisant la fonction XOR à partir de

portes OR et AND.

AB

AB

AB

AB

Figure 11

Page 8: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 8/68

8

II.8 Porte à Trois Etats

La porte "3 états", ou tri-state", n'est pas une porte logique au sens strict. Elle est

principalement utilisée pour connecter une sortie sur une ligne commune à plusieurs circuits (unbus par exemple). Elle remplace généralement une porte ET. En effet, la mise en parallèle sur une

même ligne de plusieurs portes ET introduit des capacités parasites. Ceci augmente les constantes

de temps et a pour effet de détériorer les fronts de montée et de descente des signaux. Cela peutperturber le fonctionnement d'un système. Une porte 3 états est schématisée sur la figure

suivante :

A Y

C

Figure 12

C A Y sortie

1 0 0 faible impédance

1 1 1 faible impédance

0 X 0 haute impédance

Table 8

Lorsque la commande C est à 0 l'impédance de sortie est très grande : pratiquement déconnectée.D'autre part, ces portes "3 états" fournissent une amplification de puissance.

Page 9: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 9/68

9

II.9 Résumé des identités booléennes de base

Il est possible montrer que toute fonction booléenne d'un nombre quelconque de variables

peut s'écrire avec les trois fonctions de base ET, OU et NON. Nous avons rassemblé dans la table9 les relations de base de l'algèbre de Boole qui nous seront utiles par la suite.

OU (A + B) + C = A + (B + C) = A + B + C

A + B = B + A

A + A = A

A + 0 = AA + 1 = 1

Associativité

Commutativité

Idempotence

Elément neutre

ET (A • B) • C = A • (B • C) = A • B • CA • B = B • A

A • A = A

A • 1 = AA • 0 = 0

AssociativitéCommutativité

Idempotence

Elément neutre

Distributivité A • (B + C) = (A • B) + (A • C)

A + (B • C) = (A + B) • (A + C)

NONAA =

1AA =+0AA =•

A + (A • B) = A

A • (A + B) = A

A)BA()BA( =++ •

BA)BA(A +=+ •

De Morgan

...CBA...CBA

...CBA...CBA

•••

•••

=+++

+++=

OU exclusif  )BA()BA(BA ••+=⊕

)AB()BA(BA •• +=⊕

)BA()BA(BA •• +=⊕

)BA()BA(BA ++=⊕ •

Table 9

Page 10: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 10/68

10

II.10 Ecritures canoniques d'une fonction logique

II.10.a Somme canonique de produits

Considérons trois variables booléennes x, y et z. A partir de ces trois variables nous

pouvons construire huit produits logiques (ou minterms) Pi=0,7 faisant intervenir x ou x , y ou y

et z ou z . Pour chacune des huit combinaisons Ci=0,7 (000, 001, 010, etc…) des variables x, y et

z, nous pouvons calculer les valeurs de ces produits. Celles-ci sont rassemblées dans la table 10.

Chacun de ces produits ne prend la valeur 1 que pour une et une seule combinaison : P i vaut 1

uniquement pour la combinaison Ci.

P0 P1 P2 P3 P4 P5 P6 P7

Ci x y z zyx zyx zyx zyx zyx zyx zyx zyx0 0 0 0 1 0 0 0 0 0 0 0

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

2 0 1 0 0 0 1 0 0 0 0 0

3 0 1 1 0 0 0 1 0 0 0 0

4 1 0 0 0 0 0 0 1 0 0 0

5 1 0 1 0 0 0 0 0 1 0 0

6 1 1 0 0 0 0 0 0 0 1 0

7 1 1 1 0 0 0 0 0 0 0 1

Table 10

Pour toute fonction logique de trois variables x, y et z, nous pouvons écrire sa table de

vérité, c'est-à-dire expliciter sa valeur pour chacune des huit combinaisons Ci. Considérons, par

exemple, la fonction F dont la table de vérité est donnée dans la table 11 :

Ci x y z F P1 + P3 + P4

0 0 0 0 0 0

1 0 0 1 1 1

2 0 1 0 0 0

3 0 1 1 1 1

4 1 0 0 1 15 1 0 1 0 0

6 1 1 0 0 0

7 1 1 1 0 0

Table 11

Cette fonction F prend la valeur 1 pour la combinaison C1 comme le produit P1, la combinaison

C3 comme P3 et la combinaison C4 comme P4. La fonction F prenant la valeur 0 pour toutes les

Page 11: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 11/68

11

autres combinaisons comme les produits P1, P3, P4, nous pouvons donc écrire que F est égale à la

fonction :

F = P1

+ P3

+ P4

Nous pouvons vérifier cette identité dans la table 11. Nous pouvons donc exprimer F en fonction

des variables x, y et z sous la forme :

zyxzyxzyxF ++=

Cette façon, très générale, d'écrire une fonction booléenne est appelée somme canonique deproduits.

II.10.b Produit canonique de sommes

Soient encore trois variables binaires x, y et z. Nous pouvons définir huit sommes

logiques des trois variables faisant intervenir x ou x , y ou y et z ou z . La table 12 donne les

tables de vérité de ces sommes. Nous constatons que chacune de ces fonctions ne prend la valeur

0 que pour une et une seule combinaison.

S0 S1 S2 S3 S4 S5 S6 S7

Ci x y z zyx ++ zyx ++ zyx ++ zyx ++ zyx ++ zyx ++ zyx ++ zyx ++

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

1 0 0 1 1 0 1 1 1 1 1 12 0 1 0 1 1 0 1 1 1 1 1

3 0 1 1 1 1 1 0 1 1 1 1

4 1 0 0 1 1 1 1 0 1 1 1

5 1 0 1 1 1 1 1 1 0 1 1

6 1 1 0 1 1 1 1 1 1 0 1

7 1 1 1 1 1 1 1 1 1 1 0

Table 12

Reprenons l'exemple précédent de la fonction F. Celle-ci vaut 0 pour les combinaisons

C0, C2, C5, C6 et C7 en même temps que S0, S2, S5, S6 et S7. La fonction F peut donc être vuecomme le produit logique de ces cinq sommes, ce qui est vérifié dans la table 13. Nous pouvons

donc exprimer la fonction F sous la forme suivante :

)zyx()zyx()zyx()zyx()zyx(F ++++++++++= ••••

Cette écriture est appelée produit canonique de sommes. Celle-ci est moins utilisée que la sommecanonique de produits.

Page 12: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 12/68

12

Ci x y z F S0 • S2 • S5 • S6 • S7

0 0 0 0 0 0

1 0 0 1 1 1

2 0 1 0 0 0

3 0 1 1 1 1

4 1 0 0 1 1

5 1 0 1 0 0

6 1 1 0 0 0

7 1 1 1 0 0

Table 13

II.11 Simplification de l'écriture des fonctions logiques

II.11.a Simplification algébrique

Simplifier une expression booléenne c'est lui trouver une forme plus condensée, faisantintervenir moins d'opérateurs et conduisant à une réalisation matérielle plus compacte. On peut

simplifier une fonction par manipulation algébrique en utilisant par exemple les relations

rassemblées dans la table 9. Considérons la fonction F définie par la table de vérité suivante :

x y z F

0 0 0 0

0 0 1 00 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

Table 14

Nous en déduisons sa forme canonique somme de produits :

zyxzyxzyxzyxF +++=Nous pouvons écrire :

xzzyyx

)zz(yx)yy(zx)xx(zy

)zyxzyx()zyxzyx()zyxzyx(

zyxzyxzyxzyxF

++=

+++++=

+++++=

+++=

Page 13: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 13/68

13

Cependant cette méthode, qui demande astuce et chance, n'est pas toujours très aisée à mettre en

uvre. Nous allons maintenant décrire une méthode graphique très utile pour un nombre de

variables inférieur à 6.

II.11.b Tableaux de Karnaugh

La méthode de simplification de Karnaugh repose sur l'identité :

A)BB(A)BA()BA( =+=+ •••

Elle est basée sur l'inspection visuelle de tableaux disposés de façon telle que les cases adjacentes

en ligne et en colonne ne diffèrent que par l'état d'une variable et une seule.

Si une fonction dépend de n variables il y a 2 n produits possibles. Chacun de ces produits

est représenté par une case dans un tableau. Les figures suivantes donnent la structure des

tableaux de Karnaugh pour 2, 3, 4 et 5 variables. Pour 5 variables, deux représentations sont

possibles. Le tableau de Karnaugh peut être traités comme deux tableaux 4x4 superposés (fig. 15)

ou un seul tableau de 4x8 (fig. 16). Observez comment sont numérotées les lignes et lescolonnes : d'une case à sa voisine une seule variable change d'état.

0 1

0

1

xy

Tableau à 2 variables

Figure 13

xyz 00 01 11 10

0

1

Tableau à 3 variables

Figure 14

Page 14: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 14/68

14

xyzt 00 01 11 10

00

01

11

10

Tableau à 4 variables

Figure 15

00

01

11

10

00 01 11 10ztxy

00

01

11

10

00 01 11 10ztxy

u0 1

Tableau à 5 variables

Figure 16

xyztu 000 001 011 010 110 111 101 100

00

01

11

10

Tableau à 5 variables

Figure 17

Page 15: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 15/68

15

Chaque case d'un tableau correspond au seul minterm prenant la valeur 1 pour la combinaisonidentifiée par la ligne et la colonne. Par exemple les trois cases coloriées dans les tableaux de la

figure 18 correspondent respectivement aux produits suivants :

tzyxettzyx,tzyx

Il faut comprendre chaque ligne et chaque colonne comme une structure cyclique continue :

chaque case a toujours quatre voisins qu'il faut éventuellement chercher à l'autre extrémité de la

ligne ou de la colonne. Les tableaux de la figure 18 illustrent ce concept, les croix y matérialisentles voisins des cases coloriées :

00

01

11

10

00 01 11 10ztxy

00

01

11

10

00 01 11 10ztxy

00

01

11

10

00 01 11 10ztxy

Figure 18

Dans le cas de la représentation en deux tableaux superposés chaque case a cinq voisins :les quatre dans le même plan et une dans l'autre plan.

Le passage de la table de vérité au tableau de Karnaugh consiste à remplir chaque caseavec la valeur de la fonction pour le produit correspondant. Il est possible de n'indiquer que les 1.

La méthode de simplification de Karnaugh consiste à rassembler les cases adjacentes

contenant des 1 par groupes de 2, 4 ou 8 termes. Considérons en effet le groupement vertical dedeux cases, en rouge, de la figure 19. Il correspond à la somme de deux termes :

tyxtyxG +=

Il est possible de factoriser le produit x y :

yx)tt(yxG =+=

La variable t qui prend les deux valeurs 0 et 1 dans le groupement disparaît. Il ne reste que leproduit des variables x et y, qui gardent ici la valeur 1.

Dans un groupement de deux termes on élimine donc la variable qui change d'état et on

conserve le produit des variables qui ne changent pas. Dans un groupement de quatre on élimine

Page 16: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 16/68

16

les deux variables qui changent d'état. Dans un groupement de huit on élimine trois variables,etc…

On cherche à avoir le minimum de groupements, chaque groupement rassemblant lemaximum de termes. Une même case peut intervenir dans plusieurs groupements car C + C = C.

C'est le cas de la case jaune sur la figure 19.

Pour les cases isolées on ne peut éliminer aucune variable. On conserve donc le produit

caractérisant la case. L'expression logique finale est la réunion des groupements après élimination

des variables qui changent d'état.

Reprenons l'exemple de la fonction F définie par la table de vérité 14. La figure 19 donne

le tableau de Karnaugh correspondant :

xyt

0

1

00 01 11 10

11

1

1 xt

yt

xy

Figure 19

Nous y observons trois groupements de deux termes, nous pouvons écrire pour la fonction :

xzzyyxF ++=

Nous retrouvons le résultat précédent.

Considérons une autre fonction F de quatre variables x, y, z et t définie par la table 15. La

figure 20 donne le tableau de Karnaugh équivalent. Sur cette figure nous avons égalementmatérialisé les trois groupements possibles : deux groupements de quatre termes, dont un

contenant les quatre coins, et un groupement de deux termes. Cette méthode nous permettentd'écrire :

tzytyyxF ++=

Page 17: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 17/68

17

x y z t F

0 0 0 0 1

0 0 0 1 0

0 0 1 0 1

0 0 1 1 0

0 1 0 0 0

0 1 0 1 1

0 1 1 0 0

0 1 1 1 0

1 0 0 0 1

1 0 0 1 1

1 0 1 0 1

1 0 1 1 11 1 0 0 0

1 1 0 1 1

1 1 1 0 0

1 1 1 1 0

Table 15

00 01 11 10

00

01

11

10

xyzt

1

1

1

1

1

1 1

1

Figure 20

Page 18: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 18/68

18

Logique combinatoire

Dans ce chapitre nous nous intéressons à une famille de circuits logiques pour lesquels la

sortie dépend uniquement des états des entrées.

III.1 Addition binaire

III.1.a Demi-additionneur

Addition et soustraction sont deux opérations arithmétiques de base. Commençons par

l'addition de deux nombres binaires, la soustraction sera étudiée dans le prochain paragraphe. En

base 2 l'addition de deux bits s'écrit :

=+

=+

=+

=+

1011

0101

0110

0000

Comme en décimal, nous devons donc tenir compte d'une éventuelle retenue (carry). La figure 1montre la décomposition de l'addition de deux nombres binaires de quatre bits.

a3 a aa 012

bb bb3 2 1 0

s3 2 1 0s ss

r3 2 1 0r rr

nombre A

nombre B

somme : S = A + B

retenues

+

Figure 1

L'addition des deux bits de bas poids (LSB : Least Significant Bit) a0 et b0, donne un résultat

partiel s0 et une retenue r0. On forme ensuite la somme des deux bits a1 et b1 et de la retenue r0.

Nous obtenons un résultat partiel s1 et une retenue r1. Et ainsi de suite, nous obtenons un résultat

sur quatre bits S et une retenue r3.

Considérons la cellule symbolisée sur la figure 2, comptant deux entrées A et B les deux bits à

sommer et deux sorties D le résultat de la somme et C la retenue.

Page 19: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 19/68

19

A B

HA

C D

Figure 2

Ce circuit, qui permettrait d'effectuer l'addition des deux bits de plus bas poids est appelé demi-

additionneur (Half-Adder). Ecrivons la table de vérité de celui-ci :

A B C D

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 1

Table 1

Si nous écrivons ces deux fonctions sous leur forme canonique il vient :

=+=

BAC

BABAD

Nous reconnaissons pour la sortie D une fonction OU exclusif, donc :

=

⊕=

BAC

BAD

Ce qui peut être réalisé par le circuit schématisé sur le logigramme de la figure 3.

AB

D

C

Figure 3

Page 20: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 20/68

20

III.1.b Additionneur

Il faut en fait tenir compte de la retenue des bits de poids inférieurs, un circuitadditionneur doit donc comporter trois entrées et deux sorties, comme représenté sur la figure 4.

A B

FA

CS

R

Figure 4

Ce serait possible en combinant deux demi-additionneurs comme présenté par la figure 5. Enpratique pour minimiser le nombre de composants, ou de portes dans un circuit intégré, un tel

additionneur est réalisé directement.

HA

HAC2

C

S

1

1

R

A

B

S

C

Figure 5

Les entrées A et B représentent les bits à additionner et R le report de la retenue de l'addition des

bits de poids inférieurs. La sortie S représente le résultat de la somme et C la retenue. La table devérité de ce circuit est la suivante :

A B R 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

Page 21: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 21/68

21

1 1 0 0 1

1 1 1 1 1

Table 2

A partir de cette table nous pouvons écrire pour S et C les expressions booléennes suivantes :

+++=

+++=

RBARBARBARBAC

RBARBARBARBAS

Nous pouvons simplifier l'expression de C en utilisant un tableau de Karnaugh :

ABR 00 01 11 10

0

1 1 1

1

1

Figure 6

Nous en déduisons :

C = A B + A R + B R

Le bit de carry est égal à 1 si au moins deux des entrées sont à 1. D'autre part, nous pouvons

remarquer qu'intervertir les 0 et les 1 dans la table 2 revient à permuter les lignes 1 et 8, 2 et 7, 3

et 6, 4 et 5. La table de vérité reste globalement invariante par inversion des entrées et des sorties,

nous avons donc :

RBRABAC ++=

A partir de cette relation, nous pouvons écrire :

=

++=++⇒==

RBACR

RBARBARBAC)RBA(RBACB

RBACA

Ce qui nous permet de réécrire l'expression de S :

RBAC)RBA(S +++=

Page 22: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 22/68

22

La figure 7 donne un exemple de réalisation d'un additionneur 1 bit basé sur deux portes AOI

(AND OR INVERT), c'est-à-dire un ensemble de portes ET suivies d'une porte NON-OU.

A B R

S

C

Figure 7

III.1.c Addition en parallèle

L'addition de nombres comptant plusieurs bits peut se faire en série (bit après bit) ou enparallèle (tous les bits simultanément). La figure 8 montre l'exemple d'un additionneur 4 bits

comptant quatre "Full Adders", comparables à celui schématisé figure 7, montés en parallèle ou

en cascade. Chaque additionneur FAi est affecté à l'addition des bits de poids i. L'entrée

correspondant au report de retenue pour FA0 est imposée à 0 (en logique positive). La retenue

finale C indique un dépassement de capacité si elle est égale à 1. Le temps d'établissement durésultat correspondant au temps de propagation des retenues au travers des diverses cellules. Si δt

est le temps réponse d'une cellule, la sortie S0 et la retenue R0 sont valables après un retard δt, la

sortie S1 et la retenue R1 ne sont correctes qu'après un retard 2 δt, et ainsi de suite. La figure 9

présente un exemple de réalisation logique d'un additionneur de deux mots de 2 bits.

Page 23: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 23/68

23

A B

FA

C S

3

3 3

3

FA2 FA1 FA0

A AA2 1 0B BB2 1 0

S SS 012

Figure 8

RA B0 0 A1 1B

S0 S1

C1

Figure 9

Page 24: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 24/68

24

III.1.d Addition séquentielle

Dans un additionneur séquentiel chacun des nombres A et B est représenté par un traind'impulsions (figure 10) synchrones par rapport à un signal d'horloge. L'ordre chronologique

d'arrivée des impulsions correspond à l'ordre croissant des poids : le bit le moins significatif se

présentant le premier. Ces impulsions sont injectées sur les deux lignes d'entrée d'un additionneur

(figure 11). A chaque cycle d'horloge, la retenue provenant des bits de poids inférieurs doit êtremémorisée (par exemple, à l'aide d'une bascule D qui sera étudiée dans le chapitre suivant).

Un additionneur parallèle est plus rapide mais nécessite plus de composants.

A = 01101

B = 01011

D = 11000

LSB

20

2 2 222 3 41 t

Figure 10

A B

FA

CS

R

TD

Figure 11

Page 25: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 25/68

25

III.2 Soustraction

III.2.a Demi-soustracteur

La table de vérité pour un demi-soustracteur (ne tenant pas compte d'une éventuelle

retenue provenant des bits de poids inférieurs) est la suivante :

A B D C

0 0 0 0

0 1 1 1

1 0 1 0

1 1 0 0

Table 3

Où D représente le résultat de la soustraction A − B et C la retenue. Nous en déduisons lesexpressions logiques définissant D et C :

=

⊕=+=

BAC

BABABAD

et le schéma correspondant :

A

B

D

C

Figure 12

Nous pourrions maintenant étudier un soustracteur prenant en compte la retenue. Nous

allons plutôt tirer parti de certaines propriétés de la numération binaire pour traiter de la même

manière l'addition et la soustraction.

III.2.b Additionneur-soustracteur

Nous savons qu'avec un mot de n bits nous pouvons représenter un entier positif dont la

valeur est comprise entre 0 et 2n − 1. Le complémentaire d'un mot de n bits est obtenu entreprenant le complément de chacun des n bits. Ainsi, si nous sommons un nombre et son

complément nous obtenons un mot dont tous les bits sont à 1. C'est-à-dire :

12AA n −=+

Page 26: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 26/68

26

 Attention : dans ce paragraphe le signe + représente l'opération addition et non la fonction logiqueOU. Nous pouvons encore écrire :

n

21AA −+=−Mais sur n bits l'entier 2n est identique à 0 :

)bitsn(02n ≡

C'est-à-dire qu'il est possible d’écrire un nombre entier négatif comme le "complément à 2" de sa

valeur absolue :

1AA +=−

Nous reviendrons sur les divers codages des entiers signés plus tard. Nous pouvons utiliser cettepropriété pour écrire la soustraction de deux mots de n bits sous la forme suivante :

)bitsn(1BA21BABA n ++≡−++=−

Ce résultat conduit au schéma de principe présenté sur la figure 13 combinant les fonctions

addition et soustraction. Celui-ci est basé sur l'emploi d'un additionneur n bits et d'unmultiplexeur à deux lignes d'entrée. Nous étudierons ce type de circuit un peu plus loin dans ce

chapitre. Selon le code opération O (0 pour une addition et 1 pour une soustraction) cemultiplexeur permet de sélectionner une des deux entrées, B ou son complémentaire. Le code

opération est également injecté sur l'entrée report de retenue de l'additionneur. Pour simplifier le

schéma et éviter de représenter n lignes de connexion parallèles, on ne matérialise qu'une seuleligne. Celle-ci est barrée et accompagnée d'une valeur qui indique le nombre réel de connexions.

n

n

nn

n

n1

0

C

DA

B

O

ADD

Figure 13

Page 27: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 27/68

27

III.3 Comparaison

On rencontre très souvent la nécessité de comparer deux entiers (A = B, A > B ou A < B).

Ecrivons la table de vérité correspondant à ces trois fonctions de comparaison de 2 bits. La

fonction C doit être égale à 1 si et seulement si A > B, la fonction D si et seulement si A < B et la

fonction E si et seulement si A = B. Ce qui nous donne :

A B C (A > B) D (A < B) E (A = B)

0 0 0 0 1

0 1 0 1 0

1 0 1 0 0

1 1 0 0 1

Table 5

Nous en déduisons les expressions logiques de C, D et E :

+=+=⊕=

=

=

DCBABABAE

BAD

BAC

La figure 14 présente le diagramme d'un bloc logique comparant deux bits A et B.

AB

C

E

D

Figure 14

III.4 Contrôle de parité

La parité d'un mot binaire est définie comme la parité de la somme des bits, soit encore :

- parité paire (ou 0) : nombre pair de 1 dans le mot;

- parité impaire (ou 1) : nombre impair de 1 dans le mot.

La fonction OU-exclusif donne la parité d'un sous-ensemble de deux bits. Le contrôle de paritéest basé sur la constatation que le mot de n+1 bits formé en adjoignant à un mot de n bits son bit

de parité est toujours de parité 0. La figure 15 représente le diagramme logique d'un générateur-

Page 28: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 28/68

28

contrôleur de parité pour 4 bits. Si l'entrée P' est imposée à 0 ce circuit fonctionne commegénérateur de parité : la sortie P représente la parité du mot composé par les bits A, B, C et D.

P

AB

CD

P'

Figure 15

Le contrôle de la parité est utilisé, par exemple, pour augmenter la fiabilité d'un système

de transmission ou de stockage de données. La figure 16 montre l'utilisation du circuit précédent

en générateur de parité du côté de l'émission et contrôleur de parité du côté de la réception. La

sortie P2 doit être à 0 pour chaque mot transmis, sinon cela indique un problème de transmission.

Emetteur

A

CDP'

P

B

Récepteur

A

CDP'

P

B

P2

Figure 16

Remarquons cependant que la parité ne permet de détecter qu'un nombre impair de bits enerreur dans un mot. Par ailleurs il ne permet pas corriger les erreurs détectées. Pour ce faire il faut

utiliser des codes correcteurs d'erreur qui nécessitent plusieurs bits supplémentaires.

III.5 Décodage

Dans un système numérique les instructions, tout comme les nombres, sont transportées

sous forme de mots binaires. Par exemple un mot de 4 bits peut permettre d'identifier 16

instructions différentes : l'information est codée. Très souvent l'équivalent d'un commutateur à 16

positions permet de sélectionner l'instruction correspondant à un code. Ce processus est appelé

décodage. La fonction de décodage consiste à faire correspondre à un code présent en entrée sur n

lignes une seule sortie active parmi les N = 2n sorties possibles. A titre d'exemple, nous allonsétudier le décodage de la représentation DCB des nombres.

Page 29: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 29/68

29

III.5.a Représentation DCB (Décimale Codée Binaire)

Le code DCB (ou en anglais BCD : Binary Coded Decimal) transforme les nombres

décimaux en remplaçant chacun des chiffres décimaux par 4 chiffres binaires. Cette

représentation conserve donc la structure décimale : unités, dizaines, centaines, milliers, etc…

Chaque chiffre est codé sur 4 bits selon le code de la table 6 :

Décimal DCB

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

Table 6

Par exemple le nombre décimal 294 sera codé en DCB : 0010 1001 0100. Ce type de codagepermet, par exemple, de faciliter l'affichage en décimal du contenu d'un compteur. Pour ce faireon peut utiliser des tubes de Nixie, contenant 10 cathodes ayant chacune la forme d'un chiffre

(fig. 17) ou des afficheurs lumineux à sept segment (fig. 18).

centaines

décodeur

4

10

dizaines

4

unités

4

Nixie

10

Nixie

10

Nixie

décodeur décodeur

Figure 17

Page 30: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 30/68

30

La fonction de chaque décodeur est d'activer une des dix lignes en sortie et une seule enfonction du code présent sur les quatre entrées. Par exemple, si ce code est égal à 5, la 6 ème ligne

de sortie est mise dans l'état 1 et le chiffre 5 est affiché par le tube de Nixie.

centaines

transcodeur

4

7

dizaines

transcodeur

4

7

unités

transcodeur

4

7

Figure 18

La fonction de chacun des transcodeurs est de positionner à 1 les lignes de sortiecorrespondant aux segments à allumer selon de code porté par les quatre lignes d'entrée. De

manière générale, un transcodeur fait correspondre à un code A en entrée sur n lignes, un code Ben sortie sur m lignes.

III.5.b Décodeur DCB-décimal

Nous allons étudier l'exemple d'un décodeur DCB-décimal. La table de vérité de ce

décodeur est très simple :

D C B A L0 L1 L2 L3 L4 L5 L6 L7 L8 L9

0 0 0 0 1

0 0 0 1 1

0 0 1 0 1

0 0 1 1 1

0 1 0 0 1

0 1 0 1 1

0 1 1 0 1

0 1 1 1 1

1 0 0 0 1

1 0 0 1 1

Table 7

Page 31: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 31/68

31

A chacune des lignes de sortie nous pouvons associer un produit prenant en comptechacune des quatre entrées ou leur complément. Ainsi la ligne 5 correspond à :

DCBA

D'autre part, on souhaite souvent n'activer les lignes de sortie qu'en présence d'un signal

de commande global (strobe ou enable). Ce signal S est mis en coïncidence sur chacune des dix

portes de sortie. Dans l'exemple suivant, si S est dans l'état 0 le décodeur est bloqué et tous les

sorties sont également dans l'état 0.

0

1

8

9

S A B C D

Figure 19

III.6 Multiplexage

Le multiplexage est un dispositif qui permet de transmettre sur une seule ligne des

informations en provenance de plusieurs sources ou à destination de plusieurs cibles. La figure 20en présente une analogie mécanique avec deux commutateurs à plusieurs positions. Choisir uneligne revient à définir l'angle du levier ou une adresse.

multiplexeur démultiplexeur

Figure 20

Page 32: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 32/68

32

III.6.a Démultiplexeur

Un démultiplexeur est un circuit comptant une entrée et N sorties et qui met en relation

cette entrée avec une sortie et une seule. Pour pouvoir sélectionner cette sortie il faut également

des lignes d'adressage : le code porté par ces lignes identifie la ligne de sortie à utiliser. Ce circuit

est très proche d'un décodeur. Considérons un démultiplexeur avec quatre lignes de sortie. Il fautdeux lignes d'adresse. Supposons que nous souhaitons également valider les données avec un

signal de contrôle E (pour laisser par exemple le temps aux niveaux d'entrée de se stabiliser). Par

convention nous choisissons de prendre en compte les données pour E = 0.

E B A Y0 Y1 Y2 Y3 Produit

0 0 0 D 0 0 0 DEBA

0 0 1 0 D 0 0 DEBA

0 1 0 0 0 D 0 DEBA

0 1 1 0 0 0 D DEBA

1 0 0 0 0 0 0

1 0 1 0 0 0 0

1 1 0 0 0 0 0

1 1 1 0 0 0 0

Table 8

De cette table nous déduisons le logigramme suivant :

0

1

2

3

A B

DE

D : donnéesE : enable(A, B) : adresse

Figure 21

Page 33: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 33/68

33

Il existe sous forme de circuits intégrés des démultiplexeurs avec 2, 4 ou 16 lignes de

sortie. Pour constituer des démultiplexeurs d'ordre supérieur on peut être amené à cascader desdémultiplexeurs. Par exemple un démultiplexeur avec 32 sorties peut être réalisé avec un "tronc"

de 4 sorties et 4 "branches" de 8 sorties :

0

7

0

7

0

7

0

7

S

E D

C B AA B C D E : adresseS : données

Figure 22

III.6.b Multiplexeur

Un multiplexeur, réalise l'opération inverse. Il sélectionne une entrée parmi N et transmet

l'information portée par cette ligne à un seul canal de sortie. Considérons un multiplexeur à

quatre entrées, donc deux lignes d'adressage, et une ligne de validation. La table de vérité de cecircuit est donnée par la table 9. De cette table nous déduisons une expression logique pour la

sortie :

3210 XEBAXEBAXEBAXEBAY +++=

Cette expression correspond au schéma présenté sur la figure 23.

Page 34: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 34/68

34

E B A Y

0 0 0 X0

0 0 1 X1

0 1 0 X2

0 1 1 X3

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 0

Table 9

Y

X

X

X

X

0

2

3

1

E A B

Figure 23

Tout comme pour les démultiplexeurs on peut cascader plusieurs multiplexeurs pour

obtenir un multiplexeur d'ordre supérieur. La figure 24 montre comment un multiplexeur à 32entrées peut être réalisé à partir de quatre multiplexeurs à 8 entrées et d'un multiplexeur à 4entrées.

Page 35: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 35/68

35

Y

ED

A B C

24

31

16

23

8

15

0

7

A B C D E : adresseY : sortie

Figure 24

III.6.c Conversion parallèle-série

Considérons un mot de n bits (par exemple 4) présent en parallèle sur les entrées d'un

multiplexeur :

- X0 ≡ bit correspondant à 20;

- X1 ≡ bit correspondant à 21;

- X2 ≡ bit correspondant à 22;

- X3 ≡ bit correspondant à 23.

Supposons que les lignes d'adresse A et B soient connectées aux sorties d'un compteur de périodeT, nous aurons en fonction du temps :

Page 36: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 36/68

36

t B A Y

[0,T] 0 0 X0

[T,2T] 0 1 X1

[2T,3T] 1 0 X2

[3T,4T] 1 1 X3

[4T,5T] 0 0 X0

Table 10

Les bits X0, X1, X2 et X3 se retrouvent en série dans le temps sur la sortie Y du multiplexeur.

III.7 Encodage

Nous venons d'étudier le principe du décodage, passons à l'opération inverse ou encodage.

Un encodeur est un système qui comporte N lignes d'entrée et n lignes de sortie. Lorsqu’une des

lignes d'entrée est activée l'encodeur fournit en sortie un mot de n bits correspondant au codage

de l'information identifiée par la ligne activée.

Considérons un encodeur transformant un nombre décimal en son équivalent en code

DCB. Il comportera donc 10 entrées (0 à 9) et 4 sorties. Nous pouvons par exemple imaginer quechacune des dix lignes d'entrée peut être reliée à une touche d'un clavier. La table 11 correspond à

la table de vérité de cet encodeur. A partir de cette table nous pouvons écrire les expressions

logiques définissant les sorties à partir des entrées.

W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 Y3 Y2 Y1 Y0

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

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

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

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

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

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

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

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

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

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

Table 11

Page 37: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 37/68

37

+=+++=

+++=++++=

983

76542

76321

975310

WWY

WWWWY

WWWWY

WWWWWY

En effet Y0 est égal à 1 quand la ligne W1 est dans l'état 1, ou la ligne W3, ou la ligne W5, ou la

ligne W7, ou la ligne W9. La ligne Y0 est nulle dans tous les autres cas. Il est possible de réaliser

ces fonctions OU avec des diodes selon le montage de la figure suivante :

Y Y Y Y0123

+

-

5 V

W9

W

W

W

W

W

W

7

6

5

4

3

8

0

1

2

W

W

W

Figure 25

Page 38: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 38/68

38

En effet considérons le circuit de la figure 26 :

A

B S

DA

DB

Figure 26

A B S

0 0 DA et DB bloquées 0

+V 0 DA passante/DB bloquée +V

0 +V DA bloquée/DB passante +V

+V +V DA et DB passantes +V

Si nous traduisons la signification logique des niveaux haut et bas en logique positive, au circuit

de la figure 26 correspond la table de vérité 12. La fonction réalisée est donc un OU inclusif.

A B S

0 0 0

0 1 1

1 0 1

1 1 1

Table 12

La figure 25 représente un exemple de réalisation d’un encodeur DCB réalisé avec des

diodes. Le bon fonctionnement de ce codeur suppose qu'une seule ligne d'entrée peut être dans

l'état 1.

Par contre, si plusieurs entrées sont actives simultanément le résultat pourra ne pas avoir

de signification. Par exemple, si les deux lignes W7 et W8 sont dans l'état 1 (frappe simultanée

des deux touches), il en sera de même pour les quatre sorties. Pour éviter ce problème on utiliseun encodeur prioritaire. Pour ce type de circuit si plusieurs lignes d'entrée sont actives

simultanément le résultat correspondant à une seule parmi celles-ci est affiché en sortie. La règlepeut être, par exemple, de mettre en sortie le code correspondant à la ligne d'entrée d'indice le

plus élevé. Par exemple, si W7 et W8 sont dans l'état 1 l'encodeur prioritaire donne en sortie lecode correspondant à W8. La table de vérité correspondant à ce choix est donnée par la table 13.

Chaque croix indique que le code en sortie doit être indépendant de l'état de l'entrée concernée.

Page 39: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 39/68

39

W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 Y3 Y2 Y1 Y0

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

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

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

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

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

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

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

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

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

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

Table 13

Alors que les expressions logiques définissant les lignes de sortie Yi ne dépendaient que des 1

dans la table 11, il faut ici tenir compte des 0. Par exemple pour Y0 nous avons :

998798765

98765439876543210

WWWWWWWWW

WWWWWWWWWWWWWWWWY

+++

+=

Nous pouvons mettre le complémentaire de W9 en facteur dans les quatre premiers termes, puis

en utilisant l'identité :

BABAA +=+

il vient, après factorisation du complément de W8 :

9776576543765432180 W)WWWWWWWWWWWWWWWW(WY ++++=

Soit encore :

976

5654

365432

18

0

W)WWWWWWWWWWWWW(WY ++++=

97655435432180 W)WW)WWWWWWWWW((WY ++++=

976543432180 W)WW)WWWWWWW((WY ++++=

97654332180 W)WW)WW)WWWW(((WY ++++=

9765432180 W)WW)WW)WWW(((WY ++++=

Page 40: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 40/68

40

Soit en réorganisant l'ordre des termes :

)))WWW(WW(WW(WWY 2134567890 ++++=

Pour la ligne Y1 nous avons :

9879876

9876543987654321

WWWWWWW

WWWWWWWWWWWWWWWY

++

+=

Soit en factorisant :

))WW)WWW(WW(WW(WWY 543236677981 +++=

En utilisant toujours la même identité nous pouvons simplifier cette expression, il vient en

réordonnant les termes :

))WW(WWWW(WWY 234567891 +++=

Pour Y2 nous devons écrire :

9879876987659876542 WWWWWWWWWWWWWWWWWWY +++=

Soit encore :

)))WWW(WW(WW(WWY 4556677892 +++=

En utilisant toujours la même identité il vient :

)WWWW(WWY 4567892 +++=

Enfin pour Y3 nous avons :

8999

83WWWWWY +=+=

Page 41: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 41/68

41

Logique séquentielle

IV.1 Logique séquentielle asynchrone et synchrone

Dans le chapitre précédent portant sur la logique combinatoire nous avons fait abstraction

du temps : les signaux de sortie ne dépendaient que des états des variables d'entrée. Pour lescircuits de logique séquentielle nous devons tenir compte de l'état du système. Ainsi les sorties

dépendent des entrées mais également de l'état du système. Celui-ci dépend aussi des entrées. Sinous notons Q l'état d'un système séquentiel, X ses entrées et Y ses sorties, nous avons de

manière générale :

=

=

)Q,X(gY

)Q,X(f Q

La logique séquentielle permet de réaliser des circuits dont le comportement est variableavec le temps. L'état d'un système constitue une mémoire du passé.

Lorsque les changements d'état des divers composants d'un circuit séquentiel se

produisent à des instants qui dépendent des temps de réponse des autres composants et des tempsde propagation des signaux on parle de logique séquentielle asynchrone. Cependant les retards

peuvent ne pas être identiques pour toutes les variables binaires et conduire à certains aléas.Ceux-ci peuvent être évités en synchronisant la séquence des diverses opérations logiques sur les

signaux périodiques provenant d'une horloge. La logique séquentielle est alors dite synchrone :

tous les changements d'état sont synchronisés sur un signal de contrôle.

Nous commençons notre étude par celle des bascules, éléments de base des circuits

séquentiels. Puis nous étudierons les registres et les compteurs.

IV.2 Les bascules

Une bascule (flip-flop) a pour rôle de mémoriser une information élémentaire. C'est une

mémoire à 1 bit. Une bascule possède deux sorties complémentaires Q et Q . La mémorisation

fait appel à un verrou (latch) ou système de blocage, dont le principe de rétro-action peut êtrereprésenté de la façon suivante :

Page 42: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 42/68

42

Q

Q

A

B

Figure 1

Nous pouvons vérifier :

=⇒=⇒=⇒=⇒=

=⇒=⇒=⇒=⇒=

)0Q()1A()1Q()0B()0Q(

)1Q()0A()0Q()1B()1Q(

Une bascule ne peut donc être que dans deux états : "1" )0Q,1Q( == et "0" )1Q,0Q( == . Les

interconnexions du verrou interdisent les deux autres combinaisons : 1QQ == ou 0QQ == .

Ce type de circuit, qui n'a que deux états stables possibles, est encore appelé circuit bistable.

Un verrou permet de conserver un état, il nous faut maintenant savoir comment chargercet état.

IV.2.a Les bascules R-S

Les verrous les plus fréquemment rencontrés sont réalisés avec deux portes NOR ou

NAND. Considérons dans un premier temps le circuit suivant :

R

S

Q

Q

Figure 2

La table 1 donne la table de vérité correspondante. Si on applique S = 1 et R = 0 ou S = 0

et R = 1 on impose l'état de la sortie Q respectivement à 1 ou à 0, la sortie Q prenant la valeur

complémentaire. Cet état se maintient lorsque les deux entrées retournent à 0. La configuration

S = R = 1 est à proscrire car ici elle conduit à 0QQ == , ce qui est inconsistant logiquement

avec notre définition. Mais surtout, lorsque R et S reviennent à 0, l'état QQ = étant incompatible

avec les interconnexions, l'une de ces deux sorties va reprendre l'état 1, mais il est impossible de

Page 43: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 43/68

43

prédire laquelle : la configuration S = R = 1 conduit à une indétermination de l'état des sorties etest donc inutilisable. La représentation d'une bascule RS est donnée sur la figure 4.

S R Q Q

0 0 Q Q Sorties inchangées

1 0 1 0 Set : Remise à Un : RAU

0 1 0 1 Reset : Remise à Zéro : RAZ

1 1 0 0 A proscrire

Table 1

Considérons maintenant la bascule réalisée avec des portes NON-ET.

Q

Q

S

RR

S

Figure 3

Il lui correspond la table de vérité suivante :

S R S R Q Q

0 0 1 1 Q Q

1 0 0 1 1 0

0 1 1 0 0 1

1 1 0 0 1 1

Table 2

L'utilisation des deux inverseurs sur les lignes d'entrée nous permet de retrouver une table devérité comparable à celle de la bascule RS précédente.

S

R

Q

Q

Figure 4

Page 44: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 44/68

44

IV.2.b Dispositif anti-rebond

On est souvent amené à commander un état physique à l'aide d'un bouton poussoir ou d'un

inverseur (par exemple les touches d'un clavier). Cependant lorsqu'on ferme un interrupteur le

contact n'est pas franc instantanément et on peut observer une série de rebonds du signal avant

d'obtenir la position fermée (fig. 5). Pour éviter ce défaut on réalise un montage équivalent à celuiprésenté sur la figure 6 faisant appel à un inverseur et une bascule.

+5 V

S

I

I

S

t

t

Figure 5

S

R

Q

+5 V

I

t t3 4t t1 2

I

R

S

Q

2 1

1 2 1

Figure 6

Supposons l'interrupteur initialement dans la position 1 comme indiqué par la figure 6 :

l'entrée S est à la masse donc, en logique positive, dans l'état logique "0" et l'entrée R sous

tension c'est-à-dire dans l'état logique "1". La sortie Q se trouve donc dans l'état "1". A l'instant t1nous basculons l'interrupteur de la position 1 à la position 2. Dès que le contact est ouvert en 1

Page 45: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 45/68

45

l'entrée S se trouve sous tension et passe dans l'état logique "1". Par contre le contact en 2 peuts'établir avec un léger retard dû au mouvement du contacteur et ne pas être immédiatement franc.

L'entrée R passe dans l'état "0" à t2, quelques rebonds peuvent suivre. A t2 lorsque les entrées se

trouvent dans la configuration S = 1 et R = 0 la sortie Q passe dans l'état "0". Par contre dans la

configuration S = 1 et R = 1, c'est-à-dire entre t1 et t2 et pendant les rebonds, les sorties restent

inchangées : les rebonds ne sont pas visibles sur la sortie Q. Le fonctionnement est symétrique

lors du passage de la position 2 à 1.

IV.3 Bascule R.S.T ou R.S.Clock

La bascule R.S.T. est une bascule pour laquelle les entrées S et R ne sont prises en compte

qu'en coïncidence avec un signal de commande. Ce signal peut être fourni par une horloge, nousavons alors une bascule synchrone. Ce circuit peut être réalisé de la façon suivante et sa

représentation est donnée sur la figure 8.

S

R

Clk 

Q

Q

Figure 7

Lorsque le signal de commande, noté ici Clk, est à 1 la bascule fonctionne comme indiquéprécédemment et les sorties suivent les variations des entrées S et R. Par contre, lorsque le signal

de commande est à 0, la bascule est bloquée : Q est indépendant des éventuels changements de S

et R. L'état mémorisé correspond au dernier état avant le passage de la ligne de commande de 1 à

0.

S

R

Q

Q

ClK

Figure 8

Dans un système synchrone le signal de commande est fourni par une horloge (clock).

Celui-ci est constitué par une succession périodique d'impulsions de largeur tp, supposée petite

devant la période T. L'état de chacune des sorties restera donc bloqué pendant les intervalles

séparant deux impulsions. Nous notons Qn la valeur de la sortie Q pendant le nième intervalle

précédant la nième impulsion et Qn+1 la valeur correspondante dans l'intervalle suivant la nième

impulsion (fig 9).

Page 46: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 46/68

46

0 T (n-1)T nT (n+1)T t

Qn Qn+1

Figure 9

Considérons l'instant t = nT + ε, où Clk = 1. Si S = R = 0, la sortie Q ne change pas donc

Qn+1 = Qn. Si S = 1 et R = 0 alors la sortie Q est forcée à 1. Si R = 1 et S = 0 alors la sortie Q est

mise à 0. Si S = R = 1 alors les deux sorties Q et Q sont toutes les deux à 1. Cet état est instable

et ne persiste pas lorsque le signal de commande revient à 0. L'état final sera indéterminé,

dépendant des vitesses relatives des portes. Cette situation ne doit pas être autorisée. L'état Qreste ensuite figé jusqu'à (n+1)T. Si nous notons Sn et Rn les valeurs de S et R juste avant l'instant

t = nT nous pouvons écrire la table de vérité :

Sn Rn Qn+1

0 0 Qn

1 0 1

0 1 0

1 1 ?

Table 3

IV.4 Bascules J-K, D et T

IV.4.a Bascule J-K

La bascule J-K permet de lever l'ambiguïté qui existe dans la table 3. Ceci peut être

obtenu en asservissant les entrées R et S aux sorties Q et Q selon le schéma logique indiqué sur

la figure 10.

S

R

Q

Q

ClK

JQ

KQ

Figure 10

Nous avons alors pour les signaux R et S :

Page 47: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 47/68

47

=

=

QKR

QJS

Ce qui nous permet de construire la table de vérité de la bascule J-K.

Jn Kn Qn nQ S R Qn+1

0 0 0 1 0 0 0

0 0 1 0 0 0 1

0 1 0 1 0 0 0

0 1 1 0 0 1 0

1 0 0 1 1 0 1

1 0 1 0 0 0 11 1 0 1 1 0 1

1 1 1 0 0 1 0

Table 4

Nous constatons que nous ne rencontrons jamais la combinaison R = S = 1. Cette table peut se

résumer sous la forme suivante :

Jn Kn Qn+1

0 0 Qn0 1 0

1 0 1

1 1nQ

Table 5

La figure 11 explicite le diagramme logique d'une bascule J-K. Le rôle des entrées Pr et Cr seraétudié dans le prochain paragraphe.

Q

Q

J

K

Clk 

Pr

Cr

Figure 11

Page 48: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 48/68

48

A partir de la table 5 nous pouvons construire la table de transition de la bascule J-K. La

table 6 donne les états dans lesquels doivent se trouver les entrées J et K pour obtenir chacune desquatre transitions possibles de la sortie Q. Une croix indique que l'état de l'entrée considérée est

indifférent : 0 ou 1. Par exemple, pour obtenir la transition 0 → 1 de la sortie Q il faut que l'entrée

J soit dans l'état 1, quelque soit l'état de l'entrée K. En effet, nous pouvons avoir J = K = 1 quiinverse l'état de la bascule ou J = 1 et K = 0 qui charge 1 dans la bascule.

Qn Qn+1 Jn Kn

0 0 0 X

0 1 1 X

1 0 X 11 1 X 0

Table 6

Comme les deux entrées ne sont jamais spécifiées simultanément il est possible de choisir pour

simplifier l'égalité des deux entrées :

J = K

On utilise parfois l'expression logique donnant Qn+1 en fonction de Jn, Kn et Qn. Pour

cela nous pouvons par exemple construire le tableau de Karnaugh à partir de la table de vérité(table 4) de la bascule J-K :

00 01 11 10

0

1

JKQ

11

11

D'où nous tirons l'équation caractéristique qui exprime l'état futur en fonction de l'état présent etdes entrées :

nnnn1n QKQJQ +=+

Page 49: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 49/68

49

IV.4.b Preset et Clear

Les entrées asynchrones (car à utiliser en absence de signal d'horloge) Pr (Preset) et Cr(Clear) permettent d'assigner l'état initial de la bascule, par exemple à la mise sous tension pour

éviter tout aléa. En fonctionnement normal ces deux entrées doivent être maintenues à 1. Lorsque

le signal d'horloge est à 0 nous avons la table de vérité suivante :

Pr Cr Q

1 1 Q

0 1 1

1 0 0

Table 7

La figure 12 donne la représentation symbolique d'une bascule J-K avec les entrées Preset etClear.

J

K

Q

Q

ClK

Cr

Pr

Figure 12

IV.4.c Bascule J-K Maître-Esclave

Jusqu'à présent nous avons construit les tables de vérité à partir de la logique

combinatoire qui suppose que les entrées sont indépendantes des sorties. Or dans la bascule J-K

nous avons introduit des connexions d'asservissement entre les entrées et les sorties. Ainsi

supposons qu'avant le signal d'horloge nous avons J = K = 1 et Q = 0 (notations de la figure 11).Lorsque le signal d'horloge passe à 1 la sortie Q devient 1. Ce changement intervient après un

intervalle de temps ∆t. Nous avons alors J = K = Q = 1. D'après la table 4 nous voyons que la

sortie Q doit alors revenir à 0. Ainsi la sortie Q va osciller entre 0 et 1 pendant toute la durée dusignal d'horloge rendant le résultat ambigu.

Pour éviter ce problème on monte deux bascules R-S en cascade (fig. 13) en asservissant

(traits épais) les entrées de la première (Maître) aux sorties de la seconde (Esclave). D'autre part,le signal d'horloge parvenant à l'esclave est inversé.

Page 50: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 50/68

50

Supposons Pr = Cr = 1. Pendant la nième

impulsion le signal d'horloge est haut pour le

maître et bas pour l'esclave. L'état Qn est donc invariant pendant la durée tp de l'impulsion. Le

problème précédent est donc résolu et l'état de la sortie de la bascule maître QM

est donné par la

table 5. Ensuite lorsque le signal d'horloge passe à 0 pour le maître celui-ci est bloqué alors que

l'esclave est libéré. Nous avons alors :

==⇒==⇒==

==⇒==⇒==

++

++

)1Q,0Q()1R,0S()1Q,0Q(

)0Q,1Q()0R,1S()0Q,1Q(

1n1nMM

1n1nMM

L'état de la bascule maître est transféré à la bascule esclave lors de la transition 1 → 0 (front

descendant) du signal d'horloge.

J

Clk 

K

QM

QM

Q

Q

S

R

Pr

Cr

Figure 13

IV.4.d Bascule D

Une bascule D (Delay) est obtenue à partir d'une bascule J-K en envoyant simultanément

une donnée sur l'entrée J et son inverse sur l'entrée K :

J

K

Q

Q

ClK

Cr

PrD

H

Page 51: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 51/68

51

Figure 14

A partir de la table 5 nous pouvons écrire :

=⇒==⇒=

=⇒==⇒=

+

+

0Q)1K,0J(0D

1Q)0K,1J(1D

1nnnn

1nnnn

Ce qui peut se résumer par Qn+1 = Dn. Ainsi l'état de la bascule Q pendant l'intervalle n+1 est

égal à la valeur de l'entrée D pendant l'intervalle n. Une bascule D agit comme une unité à retard

pour laquelle la sortie suit l'entrée avec un cycle de retard. Sa représentation symbolique est

donnée par la figure 15.

D Q

Q

ClK

Cr

Pr

Figure 15

IV.4.e Bascule D à commande sur front montant

1

2

3

4

5

6 Q

QH

D

Clear

Preset

Figure 16

Page 52: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 52/68

52

Dans ce deuxième type de bascule D c'est la valeur de l'entrée D présente au moment de

la transition 0 → 1 du signal d'horloge qui est chargée dans la bascule. Ensuite, que H soit égal à

1 ou à 0, la bascule est isolée de l'extérieur jusqu'au prochain front montant du signal H. L'entrée

doit être stabilisée un peu avant la transition de H et conserver cette valeur un certain tempsaprès.

Considérons le circuit schématisé sur la figure 16, dont la représentation symbolique est

donnée par la figure 17. Notons S1, S2, S3 et S4 les sorties des portes NAND numérotées

respectivement 1, 2, 3 et 4. En fonctionnement normal nous devons avoir Clear = 1 pour ne pas

bloquer les portes 1, 3 et 5 et Preset = 1 pour ne pas bloquer les portes 4 et 6. Pour H = 0 nous

avons S2 = S3 = 1. Considérons maintenant le passage de H à 1.

1er cas : D = 1

Porte 1 : D = S2 = Clear = 1 ⇒ S1 = 0

Porte 2 : S1 = 0 ⇒ S2 = 1

Porte 4 : S1 = 0 ⇒ S4 = 1

Porte 3 : H = S4 = Clear = 1 ⇒ S3 = 0

Porte 6 : S3 = 0 ⇒ Q = 1

Porte 5 : Q = S2 = Clear = 1 ⇒ 0Q =

2

ème

cas : D = 0

Porte 1 : D = 0 ⇒ S1 = 1

Porte 2 : H = S1 = S3 = 1 ⇒ S2 = 0

Porte 4 : S1 = S3 = Preset = 1 ⇒ S4 = 0

Porte 3 : S4 = 0 ⇒ S3 = 1

Porte 5 : S2 = 0 ⇒ 1Q =

Porte 6 : 1QesetPrS3 === ⇒ Q = 0

Dans les deux cas nous vérifions que Q = D. Maintenant considérons une transition de D alors

que le signal H est encore à 1.

1er cas : D = 1 → 0 (juste avant cette transition nous avons : S1 = S3 = 0, S2 = S4 = 1)

Porte 1 : D = 0 ⇒ S1 = 1

Porte 2 : S3 = 0 ⇒ S2 = 1

Porte 4 : S3 = 0 ⇒ S4 = 1

Porte 3 : H = S4 = Clear = 1 ⇒ S3 = 0

Page 53: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 53/68

53

Porte 6 : S3 = 0 ⇒ Q = 1

Porte 5 : Q = S2 = Clear = 1 ⇒ 0Q =

2ème cas : D = 0 → 1 (juste avant cette transition nous avons : S1 = S3 = 1, S2 = S4 = 0)

Porte 1 : S2 = 0 ⇒ S1 = 1

Porte 2 : H = S1 = S3 = 1 ⇒ S2 = 0

Porte 4 : S1 = S3 = Preset = 1 ⇒ S4 = 0

Porte 3 : S4 = 0 ⇒ S3 = 1

Porte 5 : S2

= 0 ⇒ 1Q =

Porte 6 : 1QesetPrS3 === ⇒ Q = 0

Dans les deux cas la sortie Q reste inchangée. Etudions maintenant les opérations de Remise à

Zéro et Remise à Un :

Preset = 0 et Clear = 1 :

Preset = 0 ⇒ S4 = Q = 1

si H = 0 alors S2 = 1

si H = 1 alors H = S4

= Clear = 1

⇒S

3= 0

⇒S

2= 1

Dans les deux cas : 0Q1ClearSQ 2 =⇒===

Preset = 1 et Clear = 0 :

Clear = 0 ⇒ 1QSS 31 ===

1esetPrQS3 === ⇒ Q = 0

D Q

Q

ClK

Cr

Pr

Figure 17

Page 54: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 54/68

54

IV.4.f Bascule T

Dans la table 5 nous constatons que si J = K = 1 alors n1n QQ =+ . L'état de la sortie est

inversé à chaque cycle d'horloge. Une bascule T (Trigger) est obtenue à partir d'une bascule J-Ken injectant le même état dans les entrées J et K (fig. 18). Sa table de vérité est donnée dans la

table 7 et sa représentation par la figure 19.

J

K

Q

Q

ClK

Cr

PrT

H

Figure 18

Tn Qn+1

1nQ

0 Qn

Table 7

T Q

Q

ClK

Cr

Pr

Figure 19

Page 55: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 55/68

55

IV.5 Registre de mémorisation

Un registre permet la mémorisation de n bits. Il est donc constitué de n bascules,

mémorisant chacune un bit. L'information est emmagasinée sur un signal de commande et ensuiteconservée et disponible en lecture. La figure 20 donne un exemple de registre 4 bits réalisé avec

quatre bascules D.

Q

Q

D

Clk 

E0

Q0

Q

Q

D

Clk 

E1

Q1

Q

Q

D

Clk 

E2

Q2

Q

Q

D

Clk 

E3

Q3

WR

Figure 20

En synchronisme avec le signal d'écriture W le registre mémorise les états des entrées E0,

E1, E2 et E3. Ils sont conservés jusqu'au prochain signal de commande W. Dans cet exemple lesétats mémorisés peuvent être lus sur les sorties Q0, Q1, Q2 et Q3 en coïncidence avec un signal de

validation R.

IV.6 Registre à décalage

Dans un registre à décalage les bascules sont interconnectées de façon à ce que l'étatlogique de la bascule de rang i puisse être transmis à la bascule de rang i+1 quand un signal

d'horloge est appliqué à l'ensemble des bascules. L'information peut être chargée de deuxmanières dans ce type de registre.

- Entrée parallèle : comme dans le cas d'un registre de mémorisation. En général une porte

d'inhibition est nécessaire pour éviter tout risque de décalage pendant le chargement parallèle.

- Entrée série : l'information est présentée séquentiellement bit après bit à l'entrée de la première

bascule. A chaque signal d'horloge un nouveau bit est introduit pendant que ceux déjà

mémorisés sont décalés d'un niveau dans le registre. La figure 21 schématise le chargement d'un

registre 4 bits en quatre coups d'horloge.

Page 56: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 56/68

56

a3 a4

a4

a2 a3 a4

a2

a3

a4

a1

a1 a2 a3 a4

top n° 1

top n° 2

top n° 3

top n° 4

Figure 21

De même l'information peut être lue en série ou en parallèle. D'autre part, certainsregistres peuvent être capables de décaler à gauche et à droite. Un registre à décalage universel

serait donc constitué des entrées, des sorties et des commandes suivantes :

Registre à décalage

Horloge

Sortie sériedécalage à droite

Sortie sériedécalage à gauche

Sortiesparallèles

Entréesparallèles

Validationentrées parallèles

Décalage à droiteou à gauche

Entréesérie

Validation

entrée série

Figure 22

Généralement on utilise des bascules du type maître-esclave D ou R-S.

Page 57: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 57/68

57

IV.6.a Entrée série - Sortie parallèle

La figure suivante donne un exemple de registre de 4 bits à entrée série et sortie parallèleréalisé avec des bascules D.

QD

Clk 

S0

QD

Clk 

S1

QD

Clk 

S2

QD

Clk 

S3

E.S.

H

S.S.

Figure 23

Ce type de registre permet de transformer un codage temporel (succession des bits dans le

temps) en un codage spatial (information stockée en mémoire statique).

La sortie série peut également être utilisée. L'intérêt d'utilisation d'un registre à décalageen chargement et lecture série réside dans la possibilité d'avoir des fréquences d'horloge

différentes au chargement et à la lecture. Le registre constitue alors un tampon.

IV.6.b Entrée parallèle - sortie série

La figure 24 présente un exemple de registre à décalage à entrée parallèle ou série etsortie série. Si X = 1 l'entrée parallèle est inhibée et l'entrée série est validée. Si X = 0 l'entrée

série est bloquée par contre le chargement par l'entrée parallèle est autorisé.

QD

Clk 

E0

QD

Clk 

E1

E.S.

HX

S.S.

Figure 24

Un registre à décalage à entrée parallèle et sortie série transforme un codage spatial en codagetemporel.

Page 58: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 58/68

58

IV.6.c Entrée parallèle - Sortie parallèle

La figure suivante présente un exemple de registre à décalage avec entrées série et

parallèle et sorties série et parallèle réalisé avec des bascules de type D.

D Q

ClK

Cr

Pr

Q0

E0

D Q

ClK

Cr

Pr

Q1

E1

E.S.

H

X

Figure 25

La commande permet de sélectionner le mode de chargement et d'inhiber le signal

d'horloge en cas de chargement parallèle. Si X = 0 nous avons Pr = Cr = 1, ce qui garantit le

fonctionnement normal des bascules. Si X = 1 alors selon l'état de chacune des entrées nous

avons :

ii

ii

iiEQ

0Q)0Cr,1(Pr0E

1Q)1Cr,0(Pr1E

=⇒

=⇒==⇒=

=⇒==⇒=

Page 59: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 59/68

59

IV.6.d Registre à décalage à droite et à gauche

La figure 26 présente un exemple de registre à décalage universel de 4 bits. Les diverses

possibilités sont sélectionnées par les lignes commande S0 et S1. Considérons la ligne

transportant le signal d'horloge aux bascules, elle est gouvernée par l'expression logique :

)SS(HSSHClk  1010 +=+= ••

Le signal d'horloge sera donc inhibé si S0 = S1 = 0.

Pour sélectionner le chargement parallèle (entrées A, B, C et D) il faut :

1SSSS 1010 ==+ •

C'est-à-dire S0 = S1 = 1. Le chargement se fera sur un signal d'horloge.

Pour sélectionner le décalage à droite (entrée E1, sortie QD) il nous faut S0 = 1 et S1 = 0 et pour

le décalage à gauche (entrée E0, sortie QA) S0 = 0 et S1 = 1. Ce que nous pouvons résumer dans

le tableau suivant :

S0 S1 Fonction

0 0 Registre bloqué

0 1 Décalage à gauche1 0 Décalage à droite

1 1 Chargement parallèle

Table 8

Un registre à décalage à droite et à gauche permet d'effectuer des multiplications et des

divisions entières par des puissances de 2. En effet une multiplication par 2 est équivalente à undécalage vers la gauche et une division par 2 à un décalage vers la droite. Une multiplication par

2n sera obtenue par n décalages à gauche et une division par 2n par n décalages à droite.

Page 60: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 60/68

60

 S R

  Q

 C l   k  

  Q

B

 S R

  Q

 C l   k   C 

  QB

 S R

  Q

 C l   k  

  Q C 

 S R

  Q

 C l   k   C 

  Q

 C 

 S R

  Q

 C l   k  

  Q

A

 S R

  Q

 C l   k  

 C r 

  QA

  QD

 S R

  Q

 C l   k   C 

  Q

D

 S  0  

 S 1  

H

 C l    e  a r 

E  0  

E 1  

Figure 26

Page 61: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 61/68

61

IV.7 Compteurs

Un compteur est un ensemble de n bascules interconnectées par des portes logiques. Ils

peuvent donc mémoriser des mots de n bits. Au rythme d'une horloge ils peuvent décrire uneséquence déterminée c'est-à-dire occuper une suite d'états binaires. Il ne peut y avoir au

maximum que 2n combinaisons. Ces états restent stables et accessibles entre les impulsionsd'horloge. Le nombre total N des combinaisons successives est appelé le modulo du compteur.

On a N 2n. Si N < 2n un certain nombre d'états ne sont jamais utilisés.

Les compteurs binaires peuvent être classés en deux catégories :

- les compteurs asynchrones;- les compteurs synchrones.

De plus on distingue les compteurs réversibles ou compteurs-décompteurs.

IV.8 Compteurs asynchrones

Un compteur asynchrone est constitué de n bascules J-K fonctionnant en mode T. Le

signal d'horloge n'est reçu que par le premier étage (bascule LSB : Least Significant Bit). Pour

chacune des autres bascules le signal d'horloge est fourni par une sortie de la bascule de rang

immédiatement inférieur.

Considérons par exemple (fig. 27) un compteur modulo 8 suivant le code binaire purconstitué de trois bascules J-K maîtres-esclaves.

J

K

Q

Q

ClK

J

K

Q

Q

ClK

J

K

Q

Q

ClK

Q0 Q 2Q1

H

"1"

Figure 27

Supposons les trois bascules à zéro à l'instant t = 0. Nous avons vu que pour une bascule

maître-esclave la sortie change d'état juste après le passage du signal d'horloge de l'état 1 à l'état 0

(front descendant). L'évolution temporelle des trois sorties Q0, Q1 et Q2 par rapport aux

impulsions d'horloge est représentée sur la figure 28. La sortie Q0 bascule sur chaque front

descendant du signal d'horloge. La sortie Q1 change d'état à chaque transition 1 → 0 de la sortie

Page 62: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 62/68

62

Q0. De même le basculement de la sortie Q2 est déclenché par une transition 1 → 0 de la sortie

Q1.

H

Q 0

Q

Q

1

2

1 2 3 4 5 6 7 8

Figure 28

A partir de ce chronogramme nous pouvons écrire la liste des états successifs des trois sorties :

Impulsion Q2 Q1 Q0

état initial 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 0

Table 9

Nous avons réalisé un compteur s'incrémentant d'une unité à chaque top d'horloge, avec un cycle

de huit valeurs de 0 à 7 (modulo 8).

Nous constatons que les sorties Q0, Q1 et Q2 fournissent des signaux périodiques defréquences respectivement 2, 4 et 8 plus faibles. La division de fréquence est une des applications

des compteurs.

Page 63: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 63/68

63

IV.8.a Compteur-décompteur asynchrone

Nous obtenons un compteur en déclenchant chaque bascule lorsque celle de rangimmédiatement inférieur passe de l'état 1 à 0. Pour réaliser un décompteur il faut que le

changement d'état d'une bascule intervienne lorsque la bascule de rang immédiatement inférieur

passe de l'état 0 à 1. Pour cela il suffit d'utiliser la sortie Q de chaque bascule pour déclencher la

suivante.

On réalise un compteur-décompteur en utilisant un multiplexeur 2 entrées - 1 sortie entre

chaque étage pour sélectionner la sortie à utiliser. Pour l'exemple présenté sur la figure 29, selonl'état de la ligne de commande X nous pouvons sélectionner le mode de comptage :

X = 1 ⇒ compteur;X = 0 ⇒ décompteur.

J

Clk 

K

Q

Q

Etage i

Q i

J

Clk 

K

Q

Q

Etage i+1

Qi+1

"1"X

Figure 29

IV.8.b Remise à Zéro et chargement d'un compteur

La figure 30 présente un exemple de montage permettant de remettre à zéro un compteurou de le charger avec une valeur déterminée. Pour cela on utilise les entrées asynchrones desbascules. En fonctionnement normal du compteur nous devons avoir : DS = R = 1. Nous avons

alors : J = K = Pr = Cr = 1 sur chaque bascule du compteur.

Pour RAZ : R = 0

⇒ J = K = 0 Interdit tout basculement sur une impulsion du signal Clk;

⇒ (Pr = 1, Cr = 0) ⇒ Q = 0.

Page 64: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 64/68

64

Chargement : (DS = 0, R = 1)

⇒ J = K = 0 Interdit tout basculement sur une impulsion du signal Clk;

D = 0 ⇒ (Pr = 1, Cr = 0) ⇒ Q = 0

D = 1 ⇒ (Pr = 0, Cr = 1) ⇒ Q = 1

Dans ces deux cas nous obtenons Q = D. Nous sommes donc capable de charger chaque bit du

compteur avec une valeur donnée à présenter sur l'entrée D, donc d'initialiser le compteur.

J

K

Q

Q

ClK

Cr

Pr

D.S.

R

DFigure 30

IV.8.c Compteur à cycle incomplet

On peut souhaiter compter jusqu'à un nombre N qui ne soit pas une puissance de 2, par

exemple 10 (système décimal). Pour cela on utilise un compteur de n bascules, tel que 2n > N. On

lui ajoute un asservissement de l'entrée Clear pour remettre le compteur à zéro tous les N coups.

Considérons par exemple un compteur modulo 10. Nous voulons que l'entrée Clear soit à

0 lorsque le compteur atteint 1010 = 10102. Pour cela nous pouvons écrire l'expression logique :

0123 QQQQCr •••=

En fait dans ce cas particulier nous pouvons simplifier cette relation logique en ne tenant compteque des sorties à 1 dans l'expression binaire de N. En effet il ne peut y avoir ambiguïté : toute

combinaison contenant les mêmes sorties à 1 et au moins une autre à 1 correspond à un nombre

plus grand que N et ne peut être rencontrée dans la séquence décrite par le compteur. Pour uncompteur modulo 10 nous pouvons donc utiliser :

Page 65: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 65/68

65

13 QQCr •=

ce qui nous conduit au schéma suivant :

J

K

Clk 

Q

Cr

Q 1

J

K

Clk 

Q

Cr

Q 2

J

K

Clk 

Q

Cr

Q 3

J

K

Clk 

Q

Cr

Q0

H

"1"

Figure 31

IV.8.d Inconvénients des compteurs asynchrones

Comme chaque bascule a un temps de réponse le signal d'horloge ne parvient passimultanément sur toutes les bascules. Ceci a pour conséquence de provoquer des états

transitoires qui peuvent être indésirables. Supposons le même temps de réponse tr pour toutes les

bascules. Considérons la chronologie du passage d'un compteur asynchrone 4 bits de 0111 à

1000. Celle-ci est présentée sur la figure 32. Nous constatons que le compteur passe par les états

transitoires 0110, 0100 et 0000 qui sont faux. Ceci est un inconvénient rédhibitoire chaque fois

que le compteur est exploité par des organes rapides.

0111 0111 0110 0100 0000 1000 t

H

Q0

1

2

3

Q

Q

Q

Figure 32

Page 66: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 66/68

66

IV.9 Compteurs synchrones

Dans un compteur synchrone toutes les bascules reçoivent en parallèle le même signal

d'horloge. Pour faire décrire au compteur une séquence déterminée il faut à chaque impulsion

d'horloge définir les entrées synchrones J et K. Pour cela on utilise la table de transition de la

bascule J-K (table 6). Nous avons déjà remarqué que cette table peut se simplifier. En effet, pourchacune des quatre transitions possibles une seule des entrées J ou K est définie. Rien ne nous

interdit donc de les mettre dans le même état, c'est-à-dire J = K, comme dans une bascule T.

Prenons l'exemple d'un compteur synchrone 3 bits fonctionnant selon le code binaire pur.

Nous pouvons dresser un tableau précisant les valeurs des entrées J et K permettant d'obtenir

chaque transition (passage d'une ligne à la suivante). Pour qu'une bascule change d'état il faut que

ses deux entrées soient à 1.

# top Q2 Q1 Q0 J2 = K2 J1 = K1 J0 = K0

0 0 0 0 0 0 1

1 0 0 1 0 1 1

2 0 1 0 0 0 1

3 0 1 1 1 1 1

4 1 0 0 0 0 1

5 1 0 1 0 1 1

6 1 1 0 0 0 1

7 1 1 1 1 1 18 0 0 0

Table 10

Chaque ligne de cette table correspond à une même tranche de temps. Il est assez facile d'en

déduire les expressions logiques reliant les entrées aux sorties :

==

==

==

• 1022

011

00

QQKJ

QKJ

1KJ

De manière générale nous pouvons vérifier que les équations de commutation satisfont les

relations de récurrence suivantes :

==

==

−••• 1i10ii

00

Q...QQKJ

1KJ

ou encore :

Page 67: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 67/68

67

==

==

−•− 1iQ1iii

00

JKJ

1KJ

Procédons de même pour réaliser un décompteur, nous écrivons la table des transitions

recherchées :

# top Q2 Q1 Q0 J2 = K2 J1 = K1 J0 = K0

0 1 1 1 1 1 1

1 1 1 0 0 0 1

2 1 0 1 0 1 1

3 1 0 0 0 0 1

4 0 1 1 1 1 1

5 0 1 0 0 0 16 0 0 1 0 1 1

7 0 0 0 0 0 1

8 0 0 0

Table 11

Nous en déduisons l'expression logique des entrées d'un décompteur :

•====

==

1022

011

00

QQKJ

QKJ

1KJ

Nous constatons que les équations de commutation sont identiques en utilisant cette fois les

sorties complémentaires Q .

Aux deux manières d'exprimer les relations de récurrence des équations de commutationcorrespondent deux types de circuits. Le premier (fig. 33) est dit à report parallèle, le second

(fig. 34) à report série. Dans le report série on utilise la fonction J i-1. On évite ainsi des portes à

multiples entrées. Par contre, il faut tenir compte du retard dans l'établissement de J i-

1. Ιλ φαυτ δονχ θυε λα λαργευρ δεσ ιµπυλσιονσ δ∋ηορλογε σοιτ ασσεζ γρανδε ετ λα ϖιτεσσε µαξιµυµ δε φονχτιοννεµεντ σερα πλυσ φαιβλε θυε πουρ λε ρεπορτ παραλλλε.

Λεσ δευξ σχηµασ πρσεντσ συρ λεσ φιγυρεσ 33 ετ 34 χορρεσπονδεντ ◊ δεσ χοµπτευρσ−δχοµπτευρσ (Ξ = 0 ⇒ compteur, X = 1 ⇒ décompteur).

Page 68: cour autimatisme

8/2/2019 cour autimatisme

http://slidepdf.com/reader/full/cour-autimatisme 68/68

J

K

Q

Q

Clk 

J

K

Q

Q

Clk 

J

K

Q

Q

Clk 

J

K

Q

Q

Clk "1"

X

H

Figure 33

J

K

Q

Q

Clk 

J

K

Q

Q

Clk 

J

K

Q

Q

Clk 

J

K

Q

Q

Clk "1"

X

H

Figure 34