Vous êtes sur la page 1sur 68

1

Fonctions logiques lmentaires


II.1 Systmes binaires et algbre de Boole
Actuellement, alors que les ordinateurs analogiques sont encore du domaine de la
recherche, les informations traites par les systmes informatiques sont codes sous forme
binaire. Un systme binaire (signal, circuit, etc) est un systme qui ne peut exister que dans
deux tats autoriss. 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 V
0
ne peut tre gale qu' +5 V ou 0 V.
R
+5V
S
V
0
Figure 1
Diverses notations peuvent tre utilises pour reprsenter ces deux tats :
numrique : 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 algbre dveloppe au
XIX
me
sicle par un mathmaticien anglais : Georges Boole. Dans ce chapitre nous nous
proposons de prsenter les fonctions de base de l'algbre boolenne ainsi que leurs
reprsentations symboliques en lectronique. Nous rappellerons galement, sans prtendre la
rigueur mathmatique, les quelques notions lmentaires ncessaires l'tude des circuits
lectroniques.
2
L'algbre de Boole concerne la logique des systmes binaires. Une variable boolenne ne
peut prendre que deux valeurs possibles 0 ou 1. En lectronique les deux tats d'une telle variable
peuvent tre associs deux niveaux de tension : V(0) et V(1) pour les tats 0 et 1
respectivement. On distingue les logiques positive et ngative selon que V(1) > V(0) ou
V(1) < V(0). Ce que nous pouvons rsumer dans la table suivante donnant la signification logique
des niveaux physiques :
Niveau Logique positive Logique ngative
H 1 0
L 0 1
Table 1
En pratique un niveau est dfini 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 infrieur +0.8 V.
V(1)
V(0)
V(1)
V(0)
Logique positive Logique ngative
"0"
"1" "0"
"1"
Figure 2
II.2 Porte OU (inclusif)
L'opration OU (OR), encore appele addition logique, a au moins deux entres. La sortie
d'une fonction OU est dans l'tat 1 si au moins une de ses entres est dans l'tat 1. La fonction
OU, note +, est reprsente par le symbole indiqu sur la figure 3 et est dfinie par la table de
vrit suivante :
A B Y = A + B
0 0 0
0 1 1
1 0 1
1 1 1
Table 2
3
A
B
Y
Figure 3
Il est facile de vrifier les proprits suivantes de la fonction OU :
(A + B) + C = A + (B + C) = A + B + C Associativit
A + B = B + A Commutativit
A + A = A Idempotence
A + 0 = A Elment neutre
A + 1 = 1
II.3 Porte ET
L'opration ET (AND), encore dnomme produit logique ou intersection, a au moins
deux entres. La sortie d'une fonction AND est dans l'tat 1 si et seulement si toutes ses entres
sont dans l'tat 1. La fonction ET, note , est reprsente par le symbole indiqu sur la figure 4 et
est dfinie par la table de vrit suivante :
A B Y = A B
0 0 0
0 1 0
1 0 0
1 1 1
Table 3
A
B
Y
Figure 4
Il est facile de vrifier les proprits suivantes de la fonction ET :
(A B) C = A (B C) = A B C Associativit
A B = B A Commutativit
A A = A Idempotence
A 1 = A Elment neutre
A 0 = 0
4
D'autre part, les oprations 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'opration NON (NOT) a une seule entre et une seule sortie. La sortie d'une fonction
NON prend l'tat 1 si et seulement si son entre est dans l'tat 0. La ngation logique est
symbolise par un petit cercle dessin l'endroit o une ligne en entre ou en sortie rejoint un
symbole logique, comme par exemple sur la figure 5. La table 4 donne la table de vrit
correspondante.
A
Y = A
0 1
1 0
Table 4
A Y
Figure 5
A partir des dfinitions des fonctions NON, OU et ET nous pouvons dduire :
, , B A B A A
0 A A
1 A A
A A
+ +

5
II.5 Thormes de De Morgan
De Morgan a exprim deux thormes qui peuvent se rsumer sous la forme suivante :
... C B A ... C B A
... C B A ... C B A


+ + +
+ + +
Pour vrifier le premier thorme nous remarquons que si toutes les entres sont 1 les deux
membres de l'quation sont nuls. Par contre si une au moins des entres est 0 les deux membres
de l'quation sont gaux 1. Il y a donc galit quels que soient les tats des diverses entres. Le
second thorme se vrifie de la mme manire : si toutes les entres sont 0 les deux membres
de l'quation sont 1, par contre si au moins une des entres est 1 les deux expressions sont 0.
Les thormes de De Morgan montrent qu'une fonction ET peut tre fabrique partir des
fonctions OU et NON. De mme une fonction OU peut tre obtenue partir des fonctions ET et
NON. La figure 6 montre la conversion d'une porte OU en porte ET et rciproquement, utilisant
le fait que :
B A B A B A
B A B A B A

+
+ +
De mme, partir des thormes de De Morgan nous pouvons montrer qu'une porte ET en
logique positive fonctionne comme une porte OU en logique ngative et vice versa.
A+B
A
B
A
B
A.B
A
B
A.B
A
B
A+B
Figure 6
II.6 Portes NON ET et NON OU
Une porte NON ET (NAND : NOT AND) est constitue par un inverseur la sortie d'une
porte ET (fig 7). Une ngation la sortie d'une porte OU constitue une fonction NON OU (NOR :
NOT OR) symbolise sur la figure 8. Leurs tables de vrit respectives sont donnes par les
tables 5 et 6 :
6
A B
B A Y
A B
B A Y +
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
B
Y
Figure 7
A
B
Y
Figure 8
Comme les transistors qui interviennent comme lments de base des portes sont par
essence des inverseurs, les portes NAND et NOR sont trs usites dans la ralisation des circuits
logiques. Grce aux lois de De Morgan il est possible de raliser des systmes logiques avec
uniquement des portes NAND ou NOR. La figure 9 montre, par exemple, comment les portes
NOT, OR et AND peuvent tre obtenues partir de portes NOR.
Y=A.B
A
B
A Y=A
A
B
Y=A+B
Figure 9
II.7 Porte OU exclusif
La sortie d'une fonction OU exclusif (XOR) deux entres est dans l'tat 1 si une entre
et seulement une est dans l'tat 1. La reprsentation symbolique d'une fonction XOR (note )
est donne sur la figure 10 et sa table de vrit est la suivante :
A B B A Y
0 0 0
0 1 1
1 0 1
1 1 0
Table 7
7
A
B
Y
Figure 10
Nous pouvons formuler de diverses manires la dfinition prcdente : B A Y est gal 1 si
et seulement si A = 1 ou B = 1 mais pas simultanment. Ce que nous pouvons crire :
) B A ( ) B A ( B A +
Nous pouvons encore dire B A Y est gal 1 si A = 1 et B = 0 ou si B = 1 et A = 0. Soit :
) A B ( ) B A ( B A +
Une fonction XOR fournit un comparateur d'ingalit : B A Y ne vaut 1 que si A et B sont
diffrents. Si A et B sont gaux 1 ou si A et B sont gaux 0 alors Y = 0. Ce qui s'crit :
) B A ( ) B A ( B A +
La fonction B A Y Z correspond un dtecteur d'galit. Nous avons encore la relation
suivante qui peut tre dmontre en utilisant les thormes de De Morgan :
) B A ( ) B A ( B A + +
A ces quatre relations logiques correspondent quatre circuits ralisant la fonction XOR partir de
portes OR et AND.
A
B
A
B
A
B
A
B
Figure 11
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 utilise pour connecter une sortie sur une ligne commune plusieurs circuits (un
bus par exemple). Elle remplace gnralement une porte ET. En effet, la mise en parallle sur une
mme ligne de plusieurs portes ET introduit des capacits parasites. Ceci augmente les constantes
de temps et a pour effet de dtriorer les fronts de monte et de descente des signaux. Cela peut
perturber le fonctionnement d'un systme. Une porte 3 tats est schmatise sur la figure
suivante :
A Y
C
Figure 12
C A Y sortie
1 0 0 faible impdance
1 1 1 faible impdance
0 X 0 haute impdance
Table 8
Lorsque la commande C est 0 l'impdance de sortie est trs grande : pratiquement dconnecte.
D'autre part, ces portes "3 tats" fournissent une amplification de puissance.
9
II.9 Rsum des identits boolennes de base
Il est possible montrer que toute fonction boolenne d'un nombre quelconque de variables
peut s'crire avec les trois fonctions de base ET, OU et NON. Nous avons rassembl dans la table
9 les relations de base de l'algbre 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 = A
A + 1 = 1
Associativit
Commutativit
Idempotence
Elment neutre
ET (A B) C = A (B C) = A B C
A B = B A
A A = A
A 1 = A
A 0 = 0
Associativit
Commutativit
Idempotence
Elment neutre
Distributivit A (B + C) = (A B) + (A C)
A + (B C) = (A + B) (A + C)
NON
A A
1 A A +
0 A A
A + (A B) = A
A (A + B) = A
A ) B A ( ) B A ( + +
B A ) B A ( A + +
De Morgan
... C B A ... C B A
... C B A ... C B A


+ + +
+ + +
OU exclusif
) B A ( ) B A ( B A +
) A B ( ) B A ( B A +
) B A ( ) B A ( B A +
) B A ( ) B A ( B A + +
Table 9
10
II.10 Ecritures canoniques d'une fonction logique
II.10.a Somme canonique de produits
Considrons trois variables boolennes x, y et z. A partir de ces trois variables nous
pouvons construire huit produits logiques (ou minterms) P
i=0,7
faisant intervenir x ou x , y ou y
et z ou z . Pour chacune des huit combinaisons C
i=0,7
(000, 001, 010, etc) des variables x, y et
z, nous pouvons calculer les valeurs de ces produits. Celles-ci sont rassembles 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 C
i
.
P
0
P
1
P
2
P
3
P
4
P
5
P
6
P
7
C
i
x y z
z y x z y x z y x z y x z y x z y x z y x
z y x
0 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
vrit, c'est--dire expliciter sa valeur pour chacune des huit combinaisons C
i
. Considrons, par
exemple, la fonction F dont la table de vrit est donne dans la table 11 :
C
i
x y z F P
1
+ P
3
+ P
4
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 11
Cette fonction F prend la valeur 1 pour la combinaison C
1
comme le produit P
1
, la combinaison
C
3
comme P
3
et la combinaison C
4
comme P
4
. La fonction F prenant la valeur 0 pour toutes les
11
autres combinaisons comme les produits P
1
, P
3
, P
4
, nous pouvons donc crire que F est gale la
fonction :
F = P
1
+ P
3
+ P
4
Nous pouvons vrifier cette identit dans la table 11. Nous pouvons donc exprimer F en fonction
des variables x, y et z sous la forme :
z y x z y x z y x F + +
Cette faon, trs gnrale, d'crire une fonction boolenne est appele somme canonique de
produits.
II.10.b Produit canonique de sommes
Soient encore trois variables binaires x, y et z. Nous pouvons dfinir huit sommes
logiques des trois variables faisant intervenir x ou x , y ou yet z ou z . La table 12 donne les
tables de vrit de ces sommes. Nous constatons que chacune de ces fonctions ne prend la valeur
0 que pour une et une seule combinaison.
S
0
S
1
S
2
S
3
S
4
S
5
S
6
S
7
C
i
x y z z y x + + z y x + + z y x + + z y x + + z y x + + z y x + + z y x + + z y x + +
0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 0 1 1 1 1 1 1
2 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 prcdent de la fonction F. Celle-ci vaut 0 pour les combinaisons
C
0
, C
2
, C
5
, C
6
et C
7
en mme temps que S
0
, S
2
, S
5
, S
6
et S
7
. La fonction F peut donc tre vue
comme le produit logique de ces cinq sommes, ce qui est vrifi dans la table 13. Nous pouvons
donc exprimer la fonction F sous la forme suivante :
) z y x ( ) z y x ( ) z y x ( ) z y x ( ) z y x ( F + + + + + + + + + +
Cette criture est appele produit canonique de sommes. Celle-ci est moins utilise que la somme
canonique de produits.
12
C
i
x y z F S
0
S
2
S
5
S
6
S
7
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 algbrique
Simplifier une expression boolenne c'est lui trouver une forme plus condense, faisant
intervenir moins d'oprateurs et conduisant une ralisation matrielle plus compacte. On peut
simplifier une fonction par manipulation algbrique en utilisant par exemple les relations
rassembles dans la table 9. Considrons la fonction F dfinie par la table de vrit suivante :
x y z F
0 0 0 0
0 0 1 0
0 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 dduisons sa forme canonique somme de produits :
z y x z y x z y x z y x F + + +
Nous pouvons crire :
x z z y y x
) z z ( y x ) y y ( z x ) x x ( z y
) z y x z y x ( ) z y x z y x ( ) z y x z y x (
z y x z y x z y x z y x F
+ +
+ + + + +
+ + + + +
+ + +
13
Cependant cette mthode, qui demande astuce et chance, n'est pas toujours trs aise mettre en
uvre. Nous allons maintenant dcrire une mthode graphique trs utile pour un nombre de
variables infrieur 6.
II.11.b Tableaux de Karnaugh
La mthode de simplification de Karnaugh repose sur l'identit :
A ) B B ( A ) B A ( ) B A ( + +
Elle est base sur l'inspection visuelle de tableaux disposs de faon telle que les cases adjacentes
en ligne et en colonne ne diffrent que par l'tat d'une variable et une seule.
Si une fonction dpend de n variables il y a 2
n
produits possibles. Chacun de ces produits
est reprsent 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 reprsentations sont
possibles. Le tableau de Karnaugh peut tre traits comme deux tableaux 4x4 superposs (fig. 15)
ou un seul tableau de 4x8 (fig. 16). Observez comment sont numrotes les lignes et les
colonnes : d'une case sa voisine une seule variable change d'tat.
0 1
0
1
x
y
Tableau 2 variables
Figure 13
xy
z 00 01 11 10
0
1
Tableau 3 variables
Figure 14
14
xy
zt 00 01 11 10
00
01
11
10
Tableau 4 variables
Figure 15
00
01
11
10
00 01 11 10 zt
xy
00
01
11
10
00 01 11 10 zt
xy
u
0 1
Tableau 5 variables
Figure 16
xyz
tu 000 001 011 010 110 111 101 100
00
01
11
10
Tableau 5 variables
Figure 17
15
Chaque case d'un tableau correspond au seul minterm prenant la valeur 1 pour la combinaison
identifie par la ligne et la colonne. Par exemple les trois cases colories dans les tableaux de la
figure 18 correspondent respectivement aux produits suivants :
t z y x et t z y x , t z y x
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 extrmit de la
ligne ou de la colonne. Les tableaux de la figure 18 illustrent ce concept, les croix y matrialisent
les voisins des cases colories :
00
01
11
10
00 01 11 10 zt
xy
00
01
11
10
00 01 11 10 zt
xy
00
01
11
10
00 01 11 10 zt
xy
Figure 18
Dans le cas de la reprsentation en deux tableaux superposs chaque case a cinq voisins :
les quatre dans le mme plan et une dans l'autre plan.
Le passage de la table de vrit au tableau de Karnaugh consiste remplir chaque case
avec la valeur de la fonction pour le produit correspondant. Il est possible de n'indiquer que les 1.
La mthode de simplification de Karnaugh consiste rassembler les cases adjacentes
contenant des 1 par groupes de 2, 4 ou 8 termes. Considrons en effet le groupement vertical de
deux cases, en rouge, de la figure 19. Il correspond la somme de deux termes :
t y x t y x G +
Il est possible de factoriser le produit x y :
y x ) t t ( y x G +
La variable t qui prend les deux valeurs 0 et 1 dans le groupement disparat. Il ne reste que le
produit 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
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 le
maximum de termes. Une mme 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 isoles on ne peut liminer aucune variable. On conserve donc le produit
caractrisant la case. L'expression logique finale est la runion des groupements aprs limination
des variables qui changent d'tat.
Reprenons l'exemple de la fonction F dfinie par la table de vrit 14. La figure 19 donne
le tableau de Karnaugh correspondant :
xy
t
0
1
00 01 11 10
1 1
1
1 xt
yt
xy
Figure 19
Nous y observons trois groupements de deux termes, nous pouvons crire pour la fonction :
x z z y y x F + +
Nous retrouvons le rsultat prcdent.
Considrons une autre fonction F de quatre variables x, y, z et t dfinie par la table 15. La
figure 20 donne le tableau de Karnaugh quivalent. Sur cette figure nous avons galement
matrialis les trois groupements possibles : deux groupements de quatre termes, dont un
contenant les quatre coins, et un groupement de deux termes. Cette mthode nous permettent
d'crire :
t z y t y y x F + +
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 1
1 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
xy
zt
1
1
1
1
1
1 1
1
Figure 20
18
Logique combinatoire
Dans ce chapitre nous nous intressons une famille de circuits logiques pour lesquels la
sortie dpend uniquement des tats des entres.
III.1 Addition binaire
III.1.a Demi-additionneur
Addition et soustraction sont deux oprations arithmtiques de base. Commenons par
l'addition de deux nombres binaires, la soustraction sera tudie dans le prochain paragraphe. En
base 2 l'addition de deux bits s'crit :

'

+
+
+
+
10 1 1
01 0 1
01 1 0
00 0 0
Comme en dcimal, nous devons donc tenir compte d'une ventuelle retenue (carry). La figure 1
montre la dcomposition de l'addition de deux nombres binaires de quatre bits.
a
3
a a a
0 1 2
b b b b
3 2 1 0
s
3 2 1 0
s s s
r
3 2 1 0
r r r
nombre A
nombre B
somme : S = A + B
retenues
+
Figure 1
L'addition des deux bits de bas poids (LSB : Least Significant Bit) a
0
et b
0
, donne un rsultat
partiel s
0
et une retenue r
0
. On forme ensuite la somme des deux bits a
1
et b
1
et de la retenue r
0
.
Nous obtenons un rsultat partiel s
1
et une retenue r
1
. Et ainsi de suite, nous obtenons un rsultat
sur quatre bits S et une retenue r
3
.
Considrons la cellule symbolise sur la figure 2, comptant deux entres A et B les deux bits
sommer et deux sorties D le rsultat de la somme et C la retenue.
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 vrit 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 :

'

+
B A C
B A B A D
Nous reconnaissons pour la sortie D une fonction OU exclusif, donc :

'


B A C
B A D
Ce qui peut tre ralis par le circuit schmatis sur le logigramme de la figure 3.
A
B
D
C
Figure 3
20
III.1.b Additionneur
Il faut en fait tenir compte de la retenue des bits de poids infrieurs, un circuit
additionneur doit donc comporter trois entres et deux sorties, comme reprsent sur la figure 4.
A B
FA
C S
R
Figure 4
Ce serait possible en combinant deux demi-additionneurs comme prsent par la figure 5. En
pratique pour minimiser le nombre de composants, ou de portes dans un circuit intgr, un tel
additionneur est ralis directement.
HA
HA
C
2
C
S
1
1
R
A
B
S
C
Figure 5
Les entres A et B reprsentent les bits additionner et R le report de la retenue de l'addition des
bits de poids infrieurs. La sortie S reprsente le rsultat de la somme et C la retenue. La table de
vrit 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
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 boolennes suivantes :

'

+ + +
+ + +
R B A R B A R B A R B A C
R B A R B A R B A R B A S
Nous pouvons simplifier l'expression de C en utilisant un tableau de Karnaugh :
AB
R 00 01 11 10
0
1 1 1
1
1
Figure 6
Nous en dduisons :
C = A B + A R + B R
Le bit de carry est gal 1 si au moins deux des entres 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 vrit reste globalement invariante par inversion des entres et des sorties,
nous avons donc :
R B R A B A C + +
A partir de cette relation, nous pouvons crire :

'

+ + + +

R B A C R
R B A R B A R B A C ) R B A ( R B A C B
R B A C A
Ce qui nous permet de rcrire l'expression de S :
R B A C ) R B A ( S + + +
22
La figure 7 donne un exemple de ralisation 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 parallle
L'addition de nombres comptant plusieurs bits peut se faire en srie (bit aprs bit) ou en
parallle (tous les bits simultanment). La figure 8 montre l'exemple d'un additionneur 4 bits
comptant quatre "Full Adders", comparables celui schmatis figure 7, monts en parallle ou
en cascade. Chaque additionneur FA
i
est affect l'addition des bits de poids i. L'entre
correspondant au report de retenue pour FA
0
est impose 0 (en logique positive). La retenue
finale C indique un dpassement de capacit si elle est gale 1. Le temps d'tablissement du
rsultat correspondant au temps de propagation des retenues au travers des diverses cellules. Si t
est le temps rponse d'une cellule, la sortie S
0
et la retenue R
0
sont valables aprs un retard t, la
sortie S
1
et la retenue R
1
ne sont correctes qu'aprs un retard 2 t, et ainsi de suite. La figure 9
prsente un exemple de ralisation logique d'un additionneur de deux mots de 2 bits.
23
A B
FA
C S
3
3 3
3
FA
2
FA
1
FA
0
A A A
2 1 0
B B B
2 1 0
S S S
0 1 2
Figure 8
R A B
0 0
A
1 1
B
S
0
S
1
C
1
Figure 9
24
III.1.d Addition squentielle
Dans un additionneur squentiel chacun des nombres A et B est reprsent par un train
d'impulsions (figure 10) synchrones par rapport un signal d'horloge. L'ordre chronologique
d'arrive des impulsions correspond l'ordre croissant des poids : le bit le moins significatif se
prsentant le premier. Ces impulsions sont injectes sur les deux lignes d'entre d'un additionneur
(figure 11). A chaque cycle d'horloge, la retenue provenant des bits de poids infrieurs doit tre
mmorise (par exemple, l'aide d'une bascule D qui sera tudie dans le chapitre suivant).
Un additionneur parallle est plus rapide mais ncessite plus de composants.
A = 01101
B = 01011
D = 11000
LSB
2
0
2 2 2 2
2 3 4 1 t
Figure 10
A B
FA
C S
R
TD
Figure 11
25
III.2 Soustraction
III.2.a Demi-soustracteur
La table de vrit pour un demi-soustracteur (ne tenant pas compte d'une ventuelle
retenue provenant des bits de poids infrieurs) 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 reprsente le rsultat de la soustraction A B et C la retenue. Nous en dduisons les
expressions logiques dfinissant D et C :

'

+
B A C
B A B A B A D
et le schma correspondant :
A
B
D
C
Figure 12
Nous pourrions maintenant tudier un soustracteur prenant en compte la retenue. Nous
allons plutt tirer parti de certaines proprits de la numration binaire pour traiter de la mme
manire l'addition et la soustraction.
III.2.b Additionneur-soustracteur
Nous savons qu'avec un mot de n bits nous pouvons reprsenter un entier positif dont la
valeur est comprise entre 0 et 2
n
1. Le complmentaire d'un mot de n bits est obtenu entre
prenant le complment de chacun des n bits. Ainsi, si nous sommons un nombre et son
complment nous obtenons un mot dont tous les bits sont 1. C'est--dire :
1 2 A A
n
+
26
Attention : dans ce paragraphe le signe + reprsente l'opration addition et non la fonction logique
OU. Nous pouvons encore crire :
n
2 1 A A +
Mais sur n bits l'entier 2
n
est identique 0 :
) bits n ( 0 2
n

C'est--dire qu'il est possible dcrire un nombre entier ngatif comme le "complment 2" de sa
valeur absolue :
1 A A +
Nous reviendrons sur les divers codages des entiers signs plus tard. Nous pouvons utiliser cette
proprit pour crire la soustraction de deux mots de n bits sous la forme suivante :
) bits n ( 1 B A 2 1 B A B A
n
+ + + +
Ce rsultat conduit au schma de principe prsent sur la figure 13 combinant les fonctions
addition et soustraction. Celui-ci est bas sur l'emploi d'un additionneur n bits et d'un
multiplexeur deux lignes d'entre. Nous tudierons ce type de circuit un peu plus loin dans ce
chapitre. Selon le code opration O (0 pour une addition et 1 pour une soustraction) ce
multiplexeur permet de slectionner une des deux entres, B ou son complmentaire. Le code
opration est galement inject sur l'entre report de retenue de l'additionneur. Pour simplifier le
schma et viter de reprsenter n lignes de connexion parallles, on ne matrialise qu'une seule
ligne. Celle-ci est barre et accompagne d'une valeur qui indique le nombre rel de connexions.
n
n
n
n
n
n
1
0
C
D A
B
O
A
D
D
Figure 13
27
III.3 Comparaison
On rencontre trs souvent la ncessit de comparer deux entiers (A = B, A > B ou A < B).
Ecrivons la table de vrit 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 dduisons les expressions logiques de C, D et E :

'

+ +

D C B A B A B A E
B A D
B A C
La figure 14 prsente le diagramme d'un bloc logique comparant deux bits A et B.
A
B
C
E
D
Figure 14
III.4 Contrle de parit
La parit d'un mot binaire est dfinie 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 contrle 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 reprsente le diagramme logique d'un gnrateur-
28
contrleur de parit pour 4 bits. Si l'entre P' est impose 0 ce circuit fonctionne comme
gnrateur de parit : la sortie P reprsente la parit du mot compos par les bits A, B, C et D.
P
A
B
C
D
P'
Figure 15
Le contrle de la parit est utilis, par exemple, pour augmenter la fiabilit d'un systme
de transmission ou de stockage de donnes. La figure 16 montre l'utilisation du circuit prcdent
en gnrateur de parit du ct de l'mission et contrleur de parit du ct de la rception. La
sortie P
2
doit tre 0 pour chaque mot transmis, sinon cela indique un problme de transmission.
Emetteur
A
C
D
P'
P
B
Rcepteur
A
C
D
P'
P
B
P
2
Figure 16
Remarquons cependant que la parit ne permet de dtecter qu'un nombre impair de bits en
erreur dans un mot. Par ailleurs il ne permet pas corriger les erreurs dtectes. Pour ce faire il faut
utiliser des codes correcteurs d'erreur qui ncessitent plusieurs bits supplmentaires.
III.5 Dcodage
Dans un systme numrique les instructions, tout comme les nombres, sont transportes
sous forme de mots binaires. Par exemple un mot de 4 bits peut permettre d'identifier 16
instructions diffrentes : l'information est code. Trs souvent l'quivalent d'un commutateur 16
positions permet de slectionner l'instruction correspondant un code. Ce processus est appel
dcodage. La fonction de dcodage consiste faire correspondre un code prsent en entre sur n
lignes une seule sortie active parmi les N = 2
n
sorties possibles. A titre d'exemple, nous allons
tudier le dcodage de la reprsentation DCB des nombres.
29
III.5.a Reprsentation DCB (Dcimale Code Binaire)
Le code DCB (ou en anglais BCD : Binary Coded Decimal) transforme les nombres
dcimaux en remplaant chacun des chiffres dcimaux par 4 chiffres binaires. Cette
reprsentation conserve donc la structure dcimale : units, dizaines, centaines, milliers, etc
Chaque chiffre est cod sur 4 bits selon le code de la table 6 :
Dcimal 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 dcimal 294 sera cod en DCB : 0010 1001 0100. Ce type de codage
permet, par exemple, de faciliter l'affichage en dcimal du contenu d'un compteur. Pour ce faire
on 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
dcodeur
4
10
dizaines
4
units
4
N
i
x
i
e
10
N
i
x
i
e
10
N
i
x
i
e
dcodeur dcodeur
Figure 17
30
La fonction de chaque dcodeur est d'activer une des dix lignes en sortie et une seule en
fonction du code prsent sur les quatre entres. 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
units
transcodeur
4
7
Figure 18
La fonction de chacun des transcodeurs est de positionner 1 les lignes de sortie
correspondant aux segments allumer selon de code port par les quatre lignes d'entre. De
manire gnrale, un transcodeur fait correspondre un code A en entre sur n lignes, un code B
en sortie sur m lignes.
III.5.b Dcodeur DCB-dcimal
Nous allons tudier l'exemple d'un dcodeur DCB-dcimal. La table de vrit de ce
dcodeur est trs simple :
D C B A L
0
L
1
L
2
L
3
L
4
L
5
L
6
L
7
L
8
L
9
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
31
A chacune des lignes de sortie nous pouvons associer un produit prenant en compte
chacune des quatre entres ou leur complment. Ainsi la ligne 5 correspond :
D C B A
D'autre part, on souhaite souvent n'activer les lignes de sortie qu'en prsence d'un signal
de commande global (strobe ou enable). Ce signal S est mis en concidence sur chacune des dix
portes de sortie. Dans l'exemple suivant, si S est dans l'tat 0 le dcodeur 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 20
en prsente une analogie mcanique avec deux commutateurs plusieurs positions. Choisir une
ligne revient dfinir l'angle du levier ou une adresse.
multiplexeur dmultiplexeur
Figure 20
32
III.6.a Dmultiplexeur
Un dmultiplexeur est un circuit comptant une entre et N sorties et qui met en relation
cette entre avec une sortie et une seule. Pour pouvoir slectionner cette sortie il faut galement
des lignes d'adressage : le code port par ces lignes identifie la ligne de sortie utiliser. Ce circuit
est trs proche d'un dcodeur. Considrons un dmultiplexeur avec quatre lignes de sortie. Il faut
deux lignes d'adresse. Supposons que nous souhaitons galement valider les donnes avec un
signal de contrle E (pour laisser par exemple le temps aux niveaux d'entre de se stabiliser). Par
convention nous choisissons de prendre en compte les donnes pour E = 0.
E B A Y
0
Y
1
Y
2
Y
3
Produit
0 0 0 D 0 0 0
D E B A
0 0 1 0 D 0 0
D E B A
0 1 0 0 0 D 0
D E B A
0 1 1 0 0 0 D
D E B A
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 dduisons le logigramme suivant :
0
1
2
3
A B
D
E
D : donnes
E : enable
(A, B) : adresse
Figure 21
33
Il existe sous forme de circuits intgrs des dmultiplexeurs avec 2, 4 ou 16 lignes de
sortie. Pour constituer des dmultiplexeurs d'ordre suprieur on peut tre amen cascader des
dmultiplexeurs. Par exemple un dmultiplexeur avec 32 sorties peut tre ralis 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 A
A B C D E : adresse
S : donnes
Figure 22
III.6.b Multiplexeur
Un multiplexeur, ralise l'opration inverse. Il slectionne une entre parmi N et transmet
l'information porte par cette ligne un seul canal de sortie. Considrons un multiplexeur
quatre entres, donc deux lignes d'adressage, et une ligne de validation. La table de vrit de ce
circuit est donne par la table 9. De cette table nous dduisons une expression logique pour la
sortie :
3 2 1 0
X E B A X E B A X E B A X E B A Y + + +
Cette expression correspond au schma prsent sur la figure 23.
34
E B A Y
0 0 0 X
0
0 0 1 X
1
0 1 0 X
2
0 1 1 X
3
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 dmultiplexeurs on peut cascader plusieurs multiplexeurs pour
obtenir un multiplexeur d'ordre suprieur. La figure 24 montre comment un multiplexeur 32
entres peut tre ralis partir de quatre multiplexeurs 8 entres et d'un multiplexeur 4
entres.
35
Y
E D
A B C
24
31
16
23
8
15
0
7
A B C D E : adresse
Y : sortie
Figure 24
III.6.c Conversion parallle-srie
Considrons un mot de n bits (par exemple 4) prsent en parallle sur les entres d'un
multiplexeur :
- X
0
bit correspondant 2
0
;
- X
1
bit correspondant 2
1
;
- X
2
bit correspondant 2
2
;
- X
3
bit correspondant 2
3
.
Supposons que les lignes d'adresse A et B soient connectes aux sorties d'un compteur de priode
T, nous aurons en fonction du temps :
36
t B A Y
[0,T] 0 0 X
0
[T,2T] 0 1 X
1
[2T,3T] 1 0 X
2
[3T,4T] 1 1 X
3
[4T,5T] 0 0 X
0
Table 10
Les bits X
0
, X
1
, X
2
et X
3
se retrouvent en srie dans le temps sur la sortie Y du multiplexeur.
III.7 Encodage
Nous venons d'tudier le principe du dcodage, passons l'opration inverse ou encodage.
Un encodeur est un systme qui comporte N lignes d'entre et n lignes de sortie. Lorsquune des
lignes d'entre est active l'encodeur fournit en sortie un mot de n bits correspondant au codage
de l'information identifie par la ligne active.
Considrons un encodeur transformant un nombre dcimal en son quivalent en code
DCB. Il comportera donc 10 entres (0 9) et 4 sorties. Nous pouvons par exemple imaginer que
chacune des dix lignes d'entre peut tre relie une touche d'un clavier. La table 11 correspond
la table de vrit de cet encodeur. A partir de cette table nous pouvons crire les expressions
logiques dfinissant les sorties partir des entres.
W
0
W
1
W
2
W
3
W
4
W
5
W
6
W
7
W
8
W
9
Y
3
Y
2
Y
1
Y
0
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
37

'

+
+ + +
+ + +
+ + + +
9 8 3
7 6 5 4 2
7 6 3 2 1
9 7 5 3 1 0
W W Y
W W W W Y
W W W W Y
W W W W W Y
En effet Y
0
est gal 1 quand la ligne W
1
est dans l'tat 1, ou la ligne W
3
, ou la ligne W
5
, ou la
ligne W
7
, ou la ligne W
9
. La ligne Y
0
est nulle dans tous les autres cas. Il est possible de raliser
ces fonctions OU avec des diodes selon le montage de la figure suivante :
Y Y Y Y
0 1 2 3
+
-
5 V
W
9
W
W
W
W
W
W
7
6
5
4
3
8
0
1
2
W
W
W
Figure 25
38
En effet considrons le circuit de la figure 26 :
A
B S
D
A
D
B
Figure 26
A B S
0 0 D
A
et D
B
bloques 0
+V 0 D
A
passante/D
B
bloque +V
0 +V D
A
bloque/D
B
passante +V
+V +V D
A
et D
B
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 vrit 12. La fonction ralise 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 reprsente un exemple de ralisation dun encodeur DCB ralis avec des
diodes. Le bon fonctionnement de ce codeur suppose qu'une seule ligne d'entre peut tre dans
l'tat 1.
Par contre, si plusieurs entres sont actives simultanment le rsultat pourra ne pas avoir
de signification. Par exemple, si les deux lignes W
7
et W
8
sont dans l'tat 1 (frappe simultane
des deux touches), il en sera de mme pour les quatre sorties. Pour viter ce problme on utilise
un encodeur prioritaire. Pour ce type de circuit si plusieurs lignes d'entre sont actives
simultanment le rsultat correspondant une seule parmi celles-ci est affich en sortie. La rgle
peut tre, par exemple, de mettre en sortie le code correspondant la ligne d'entre d'indice le
plus lev. Par exemple, si W
7
et W
8
sont dans l'tat 1 l'encodeur prioritaire donne en sortie le
code correspondant W
8
. La table de vrit correspondant ce choix est donne par la table 13.
Chaque croix indique que le code en sortie doit tre indpendant de l'tat de l'entre concerne.
39
W
0
W
1
W
2
W
3
W
4
W
5
W
6
W
7
W
8
W
9
Y
3
Y
2
Y
1
Y
0
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 dfinissant les lignes de sortie Y
i
ne dpendaient que des 1
dans la table 11, il faut ici tenir compte des 0. Par exemple pour Y
0
nous avons :
9
9 8
7
9 8 7 6
5
9 8 7 6 5 4
3
9 8 7 6 5 4 3 2
1 0
W W W W W W W W W
W W W W W W W W W W W W W W W W Y
+ + +
+
Nous pouvons mettre le complmentaire de W
9
en facteur dans les quatre premiers termes, puis
en utilisant l'identit :
B A B A A + +
il vient, aprs factorisation du complment de W
8
:
9 7
7 6
5
7 6 5 4
3
7 6 5 4 3 2
1
8
0
W ) W W W W W W W W W W W W W W W W ( W Y + + + +
Soit encore :
9 7
6
5
6 5 4
3
6 5 4 3 2
1
8
0
W ) W W W W W W W W W W W W W ( W Y + + + +
9 7
6
5
5 4
3
5 4 3 2
1
8
0
W ) W W ) W W W W W W W W W (( W Y + + + +
9 7
6
5
4
3
4 3 2
1
8
0
W ) W W ) W W W W W W W (( W Y + + + +
9 7
6
5
4
3
3 2
1
8
0
W ) W W ) W W ) W W W W ((( W Y + + + +
9 7
6
5
4
3
2
1
8
0
W ) W W ) W W ) W W W ((( W Y + + + +
40
Soit en rorganisant l'ordre des termes :
))) W W W ( W W ( W W ( W W Y
2
1 3
4
5
6
7
8
9 0
+ + + +
Pour la ligne Y
1
nous avons :
9 8
7
9 8 7
6
9 8 7 6 5 4
3
9 8 7 6 5 4 3
2 1
W W W W W W W
W W W W W W W W W W W W W W W Y
+ +
+
Soit en factorisant :
)) W W ) W W W ( W W ( W W ( W W Y
5 4 3
2 3
6
6
7
7
9 8
1
+ + +
En utilisant toujours la mme identit nous pouvons simplifier cette expression, il vient en
rordonnant les termes :
)) W W ( W W W W ( W W Y
2 3
4 5
6 7
8 9
1
+ + +
Pour Y
2
nous devons crire :
9 8
7
9 8 7
6
9 8 7 6
5
9 8 7 6 5
4 2
W W W W W W W W W W W W W W W W W W Y + + +
Soit encore :
))) W W W ( W W ( W W ( W W Y
4
5
5
6
6
7
7
8 9
2
+ + +
En utilisant toujours la mme identit il vient :
) W W W W ( W W Y
4 5 6 7
8 9
2
+ + +
Enfin pour Y
3
nous avons :
8 9 9
9
8 3
W W W W W Y + +
41
Logique squentielle
IV.1 Logique squentielle asynchrone et synchrone
Dans le chapitre prcdent portant sur la logique combinatoire nous avons fait abstraction
du temps : les signaux de sortie ne dpendaient que des tats des variables d'entre. Pour les
circuits de logique squentielle nous devons tenir compte de l'tat du systme. Ainsi les sorties
dpendent des entres mais galement de l'tat du systme. Celui-ci dpend aussi des entres. Si
nous notons Q l'tat d'un systme squentiel, X ses entres et Y ses sorties, nous avons de
manire gnrale :

'

) Q , X ( g Y
) Q , X ( f Q
La logique squentielle permet de raliser des circuits dont le comportement est variable
avec le temps. L'tat d'un systme constitue une mmoire du pass.
Lorsque les changements d'tat des divers composants d'un circuit squentiel se
produisent des instants qui dpendent des temps de rponse des autres composants et des temps
de propagation des signaux on parle de logique squentielle asynchrone. Cependant les retards
peuvent ne pas tre identiques pour toutes les variables binaires et conduire certains alas.
Ceux-ci peuvent tre vits en synchronisant la squence des diverses oprations logiques sur les
signaux priodiques provenant d'une horloge. La logique squentielle est alors dite synchrone :
tous les changements d'tat sont synchroniss sur un signal de contrle.
Nous commenons notre tude par celle des bascules, lments de base des circuits
squentiels. Puis nous tudierons les registres et les compteurs.
IV.2 Les bascules
Une bascule (flip-flop) a pour rle de mmoriser une information lmentaire. C'est une
mmoire 1 bit. Une bascule possde deux sorties complmentaires Q et Q. La mmorisation
fait appel un verrou (latch) ou systme de blocage, dont le principe de rtro-action peut tre
reprsent de la faon suivante :
42
Q
Q
A
B
Figure 1
Nous pouvons vrifier :

'



) 0 Q ( ) 1 A ( ) 1 Q ( ) 0 B ( ) 0 Q (
) 1 Q ( ) 0 A ( ) 0 Q ( ) 1 B ( ) 1 Q (
Une bascule ne peut donc tre que dans deux tats : "1" ) 0 Q , 1 Q ( et "0" ) 1 Q , 0 Q ( . Les
interconnexions du verrou interdisent les deux autres combinaisons : 1 Q Q ou 0 Q Q .
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 charger
cet tat.
IV.2.a Les bascules R-S
Les verrous les plus frquemment rencontrs sont raliss avec deux portes NOR ou
NAND. Considrons dans un premier temps le circuit suivant :
R
S
Q
Q
Figure 2
La table 1 donne la table de vrit 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
complmentaire. Cet tat se maintient lorsque les deux entres retournent 0. La configuration
S = R = 1 est proscrire car ici elle conduit 0 Q Q , ce qui est inconsistant logiquement
avec notre dfinition. Mais surtout, lorsque R et S reviennent 0, l'tat Q Q tant incompatible
avec les interconnexions, l'une de ces deux sorties va reprendre l'tat 1, mais il est impossible de
43
prdire laquelle : la configuration S = R = 1 conduit une indtermination de l'tat des sorties et
est donc inutilisable. La reprsentation d'une bascule RS est donne sur la figure 4.
S R Q
Q
0 0 Q
Q
Sorties inchanges
1 0 1 0 Set : Remise Un : RAU
0 1 0 1 Reset : Remise Zro : RAZ
1 1 0 0 A proscrire
Table 1
Considrons maintenant la bascule ralise avec des portes NON-ET.
Q
Q
S
R
R
S
Figure 3
Il lui correspond la table de vrit 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'entre nous permet de retrouver une table de
vrit comparable celle de la bascule RS prcdente.
S
R
Q
Q
Figure 4
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 instantanment et on peut observer une srie de rebonds du signal avant
d'obtenir la position ferme (fig. 5). Pour viter ce dfaut on ralise un montage quivalent celui
prsent 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 t
3 4
t t
1 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'entre S est la masse donc, en logique positive, dans l'tat logique "0" et l'entre R sous
tension c'est--dire dans l'tat logique "1". La sortie Q se trouve donc dans l'tat "1". A l'instant t
1
nous basculons l'interrupteur de la position 1 la position 2. Ds que le contact est ouvert en 1
45
l'entre S se trouve sous tension et passe dans l'tat logique "1". Par contre le contact en 2 peut
s'tablir avec un lger retard d au mouvement du contacteur et ne pas tre immdiatement franc.
L'entre R passe dans l'tat "0" t
2
, quelques rebonds peuvent suivre. A t
2
lorsque les entres 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 t
1
et t
2
et pendant les rebonds, les sorties restent
inchanges : les rebonds ne sont pas visibles sur la sortie Q. Le fonctionnement est symtrique
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 entres S et R ne sont prises en compte
qu'en concidence avec un signal de commande. Ce signal peut tre fourni par une horloge, nous
avons alors une bascule synchrone. Ce circuit peut tre ralis de la faon suivante et sa
reprsentation est donne 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
prcdemment et les sorties suivent les variations des entres S et R. Par contre, lorsque le signal
de commande est 0, la bascule est bloque : Q est indpendant des ventuels changements de S
et R. L'tat mmoris correspond au dernier tat avant le passage de la ligne de commande de 1
0.
S
R
Q
Q
ClK
Figure 8
Dans un systme synchrone le signal de commande est fourni par une horloge (clock).
Celui-ci est constitu par une succession priodique d'impulsions de largeur t
p
, suppose petite
devant la priode T. L'tat de chacune des sorties restera donc bloqu pendant les intervalles
sparant deux impulsions. Nous notons Q
n
la valeur de la sortie Q pendant le n
ime
intervalle
prcdant la n
ime
impulsion et Q
n+1
la valeur correspondante dans l'intervalle suivant la n
ime
impulsion (fig 9).
46
0 T (n-1)T nT (n+1)T
t
Q
n
Q
n+1
Figure 9
Considrons l'instant t = nT + , o Clk = 1. Si S = R = 0, la sortie Q ne change pas donc
Q
n+1
= Q
n
. Si S = 1 et R = 0 alors la sortie Q est force 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 indtermin,
dpendant des vitesses relatives des portes. Cette situation ne doit pas tre autorise. L'tat Q
reste ensuite fig jusqu' (n+1)T. Si nous notons S
n
et R
n
les valeurs de S et R juste avant l'instant
t = nT nous pouvons crire la table de vrit :
S
n
R
n
Q
n+1
0 0 Q
n
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'ambigut qui existe dans la table 3. Ceci peut tre
obtenu en asservissant les entres R et S aux sorties Q et Q selon le schma logique indiqu sur
la figure 10.
S
R
Q
Q
ClK
J
Q
K
Q
Figure 10
Nous avons alors pour les signaux R et S :
47

'

Q K R
Q J S
Ce qui nous permet de construire la table de vrit de la bascule J-K.
J
n
K
n
Q
n
n
Q
S R Q
n+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 1
1 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
rsumer sous la forme suivante :
J
n
K
n
Q
n+1
0 0 Q
n
0 1 0
1 0 1
1 1
n
Q
Table 5
La figure 11 explicite le diagramme logique d'une bascule J-K. Le rle des entres Pr et Cr sera
tudi dans le prochain paragraphe.
Q
Q
J
K
Clk
Pr
Cr
Figure 11
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 entres J et K pour obtenir chacune des
quatre transitions possibles de la sortie Q. Une croix indique que l'tat de l'entre considre est
indiffrent : 0 ou 1. Par exemple, pour obtenir la transition 0 1 de la sortie Q il faut que l'entre
J soit dans l'tat 1, quelque soit l'tat de l'entre K. En effet, nous pouvons avoir J = K = 1 qui
inverse l'tat de la bascule ou J = 1 et K = 0 qui charge 1 dans la bascule.
Q
n
Q
n+1
J
n
K
n
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
Table 6
Comme les deux entres ne sont jamais spcifies simultanment il est possible de choisir pour
simplifier l'galit des deux entres :
J = K
On utilise parfois l'expression logique donnant Q
n+1
en fonction de J
n
, K
n
et Q
n
. Pour
cela nous pouvons par exemple construire le tableau de Karnaugh partir de la table de vrit
(table 4) de la bascule J-K :
00 01 11 10
0
1
JK
Q
1 1
1 1
D'o nous tirons l'quation caractristique qui exprime l'tat futur en fonction de l'tat prsent et
des entres :
n
n
n n 1 n
Q K Q J Q +
+
49
IV.4.b Preset et Clear
Les entres 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 ala. En fonctionnement normal ces deux entres doivent tre maintenues 1. Lorsque
le signal d'horloge est 0 nous avons la table de vrit suivante :
Pr Cr Q
1 1 Q
0 1 1
1 0 0
Table 7
La figure 12 donne la reprsentation symbolique d'une bascule J-K avec les entres Preset et
Clear.
J
K
Q
Q
ClK
Cr
Pr
Figure 12
IV.4.c Bascule J-K Matre-Esclave
Jusqu' prsent nous avons construit les tables de vrit partir de la logique
combinatoire qui suppose que les entres sont indpendantes des sorties. Or dans la bascule J-K
nous avons introduit des connexions d'asservissement entre les entres 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 aprs un
intervalle de temps t. Nous avons alors J = K = Q = 1. D'aprs 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 dure du
signal d'horloge rendant le rsultat ambigu.
Pour viter ce problme on monte deux bascules R-S en cascade (fig. 13) en asservissant
(traits pais) les entres de la premire (Matre) aux sorties de la seconde (Esclave). D'autre part,
le signal d'horloge parvenant l'esclave est invers.
50
Supposons Pr = Cr = 1. Pendant la n
ime
impulsion le signal d'horloge est haut pour le
matre et bas pour l'esclave. L'tat Q
n
est donc invariant pendant la dure t
p
de l'impulsion. Le
problme prcdent est donc rsolu et l'tat de la sortie de la bascule matre Q
M
est donn par la
table 5. Ensuite lorsque le signal d'horloge passe 0 pour le matre celui-ci est bloqu alors que
l'esclave est libr. Nous avons alors :

'



+ +
+ +
) 1 Q , 0 Q ( ) 1 R , 0 S ( ) 1 Q , 0 Q (
) 0 Q , 1 Q ( ) 0 R , 1 S ( ) 0 Q , 1 Q (
1 n 1 n M M
1 n 1 n M M
L'tat de la bascule matre est transfr la bascule esclave lors de la transition 1 0 (front
descendant) du signal d'horloge.
J
Clk
K
Q
M
Q
M
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 simultanment
une donne sur l'entre J et son inverse sur l'entre K :
J
K
Q
Q
ClK
Cr
Pr
D
H
51
Figure 14
A partir de la table 5 nous pouvons crire :

'



+
+
0 Q ) 1 K , 0 J ( 0 D
1 Q ) 0 K , 1 J ( 1 D
1 n n n n
1 n n n n
Ce qui peut se rsumer par Q
n+1
= D
n
. Ainsi l'tat de la bascule Q pendant l'intervalle n+1 est
gal la valeur de l'entre D pendant l'intervalle n. Une bascule D agit comme une unit retard
pour laquelle la sortie suit l'entre avec un cycle de retard. Sa reprsentation symbolique est
donne 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
Q H
D
Clear
Preset
Figure 16
52
Dans ce deuxime type de bascule D c'est la valeur de l'entre D prsente au moment de
la transition 0 1 du signal d'horloge qui est charge dans la bascule. Ensuite, que H soit gal
1 ou 0, la bascule est isole de l'extrieur jusqu'au prochain front montant du signal H. L'entre
doit tre stabilise un peu avant la transition de H et conserver cette valeur un certain temps
aprs.
Considrons le circuit schmatis sur la figure 16, dont la reprsentation symbolique est
donne par la figure 17. Notons S
1
, S
2
, S
3
et S
4
les sorties des portes NAND numrotes
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 S
2
= S
3
= 1. Considrons maintenant le passage de H 1.
1
er
cas : D = 1
Porte 1 : D = S
2
= Clear = 1 S
1
= 0
Porte 2 : S
1
= 0 S
2
= 1
Porte 4 : S
1
= 0 S
4
= 1
Porte 3 : H = S
4
= Clear = 1 S
3
= 0
Porte 6 : S
3
= 0 Q = 1
Porte 5 : Q = S
2
= Clear = 1 0 Q
2
me
cas : D = 0
Porte 1 : D = 0 S
1
= 1
Porte 2 : H = S
1
= S
3
= 1 S
2
= 0
Porte 4 : S
1
= S
3
= Preset = 1 S
4
= 0
Porte 3 : S
4
= 0 S
3
= 1
Porte 5 : S
2
= 0 1 Q
Porte 6 : 1 Q eset Pr S
3
Q = 0
Dans les deux cas nous vrifions que Q = D. Maintenant considrons une transition de D alors
que le signal H est encore 1.
1
er
cas : D = 1 0 (juste avant cette transition nous avons : S
1
= S
3
= 0, S
2
= S
4
= 1)
Porte 1 : D = 0 S
1
= 1
Porte 2 : S
3
= 0 S
2
= 1
Porte 4 : S
3
= 0 S
4
= 1
Porte 3 : H = S
4
= Clear = 1 S
3
= 0
53
Porte 6 : S
3
= 0 Q = 1
Porte 5 : Q = S
2
= Clear = 1 0 Q
2
me
cas : D = 0 1 (juste avant cette transition nous avons : S
1
= S
3
= 1, S
2
= S
4
= 0)
Porte 1 : S
2
= 0 S
1
= 1
Porte 2 : H = S
1
= S
3
= 1 S
2
= 0
Porte 4 : S
1
= S
3
= Preset = 1 S
4
= 0
Porte 3 : S
4
= 0 S
3
= 1
Porte 5 : S
2
= 0 1 Q
Porte 6 : 1 Q eset Pr S
3
Q = 0
Dans les deux cas la sortie Q reste inchange. Etudions maintenant les oprations de Remise
Zro et Remise Un :
Preset = 0 et Clear = 1 :
Preset = 0 S
4
= Q = 1
si H = 0 alors S
2
= 1
si H = 1 alors H = S
4
= Clear = 1 S
3
= 0 S
2
= 1
Dans les deux cas : 0 Q 1 Clear S Q
2

Preset = 1 et Clear = 0 :
Clear = 0 1 Q S S
3 1

1 eset Pr Q S
3
Q = 0
D Q
Q
ClK
Cr
Pr
Figure 17
54
IV.4.f Bascule T
Dans la table 5 nous constatons que si J = K = 1 alors
n 1 n
Q Q
+
. L'tat de la sortie est
invers chaque cycle d'horloge. Une bascule T (Trigger) est obtenue partir d'une bascule J-K
en injectant le mme tat dans les entres J et K (fig. 18). Sa table de vrit est donne dans la
table 7 et sa reprsentation par la figure 19.
J
K
Q
Q
ClK
Cr
Pr
T
H
Figure 18
T
n
Q
n+1
1
n
Q
0 Q
n
Table 7
T Q
Q
ClK
Cr
Pr
Figure 19
55
IV.5 Registre de mmorisation
Un registre permet la mmorisation de n bits. Il est donc constitu de n bascules,
mmorisant chacune un bit. L'information est emmagasine sur un signal de commande et ensuite
conserve et disponible en lecture. La figure 20 donne un exemple de registre 4 bits ralis avec
quatre bascules D.
Q
Q
D
Clk
E
0
Q
0
Q
Q
D
Clk
E
1
Q
1
Q
Q
D
Clk
E
2
Q
2
Q
Q
D
Clk
E
3
Q
3
W
R
Figure 20
En synchronisme avec le signal d'criture W le registre mmorise les tats des entres E
0
,
E
1
, E
2
et E
3
. Ils sont conservs jusqu'au prochain signal de commande W. Dans cet exemple les
tats mmoriss peuvent tre lus sur les sorties Q
0
, Q
1
, Q
2
et Q
3
en concidence avec un signal de
validation R.
IV.6 Registre dcalage
Dans un registre dcalage les bascules sont interconnectes de faon ce que l'tat
logique 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 charge de deux
manires dans ce type de registre.
- Entre parallle : comme dans le cas d'un registre de mmorisation. En gnral une porte
d'inhibition est ncessaire pour viter tout risque de dcalage pendant le chargement parallle.
- Entre srie : l'information est prsente squentiellement bit aprs bit l'entre de la premire
bascule. A chaque signal d'horloge un nouveau bit est introduit pendant que ceux dj
mmoriss sont dcals d'un niveau dans le registre. La figure 21 schmatise le chargement d'un
registre 4 bits en quatre coups d'horloge.
56
a
3
a
4
a
4
a
2
a
3
a
4
a
2
a
3
a
4
a
1
a
1
a
2
a
3
a
4
top n 1
top n 2
top n 3
top n 4
Figure 21
De mme l'information peut tre lue en srie ou en parallle. D'autre part, certains
registres peuvent tre capables de dcaler gauche et droite. Un registre dcalage universel
serait donc constitu des entres, des sorties et des commandes suivantes :
Registre dcalage
Horloge
Sortie srie
dcalage droite
Sortie srie
dcalage gauche
Sorties
parallles
Entres
parallles
Validation
entres parallles
Dcalage droite
ou gauche
Entre
srie
Validation
entre srie
Figure 22
Gnralement on utilise des bascules du type matre-esclave D ou R-S.
57
IV.6.a Entre srie - Sortie parallle
La figure suivante donne un exemple de registre de 4 bits entre srie et sortie parallle
ralis avec des bascules D.
Q D
Clk
S
0
Q D
Clk
S
1
Q D
Clk
S
2
Q D
Clk
S
3
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 stocke en mmoire statique).
La sortie srie peut galement tre utilise. L'intrt d'utilisation d'un registre dcalage
en chargement et lecture srie rside dans la possibilit d'avoir des frquences d'horloge
diffrentes au chargement et la lecture. Le registre constitue alors un tampon.
IV.6.b Entre parallle - sortie srie
La figure 24 prsente un exemple de registre dcalage entre parallle ou srie et
sortie srie. Si X = 1 l'entre parallle est inhibe et l'entre srie est valide. Si X = 0 l'entre
srie est bloque par contre le chargement par l'entre parallle est autoris.
Q D
Clk
E
0
Q D
Clk
E
1
E.S.
H
X
S.S.
Figure 24
Un registre dcalage entre parallle et sortie srie transforme un codage spatial en codage
temporel.
58
IV.6.c Entre parallle - Sortie parallle
La figure suivante prsente un exemple de registre dcalage avec entres srie et
parallle et sorties srie et parallle ralis avec des bascules de type D.
D Q
ClK
Cr
Pr
Q
0
E
0
D Q
ClK
Cr
Pr
Q
1
E
1
E.S.
H
X
Figure 25
La commande permet de slectionner le mode de chargement et d'inhiber le signal
d'horloge en cas de chargement parallle. 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 entres nous
avons :
i i
i i
i i
E Q
0 Q ) 0 Cr , 1 (Pr 0 E
1 Q ) 1 Cr , 0 (Pr 1 E

'



59
IV.6.d Registre dcalage droite et gauche
La figure 26 prsente un exemple de registre dcalage universel de 4 bits. Les diverses
possibilits sont slectionnes par les lignes commande S
0
et S
1
. Considrons la ligne
transportant le signal d'horloge aux bascules, elle est gouverne par l'expression logique :
) S S ( H S S H Clk
1 0
1 0
+ +
Le signal d'horloge sera donc inhib si S
0
= S
1
= 0.
Pour slectionner le chargement parallle (entres A, B, C et D) il faut :
1 S S S S
1 0
1 0
+
C'est--dire S
0
= S
1
= 1. Le chargement se fera sur un signal d'horloge.
Pour slectionner le dcalage droite (entre E
1
, sortie Q
D
) il nous faut S
0
= 1 et S
1
= 0 et pour
le dcalage gauche (entre E
0
, sortie Q
A
) S
0
= 0 et S
1
= 1. Ce que nous pouvons rsumer dans
le tableau suivant :
S
0
S
1
Fonction
0 0 Registre bloqu
0 1 Dcalage gauche
1 0 Dcalage droite
1 1 Chargement parallle
Table 8
Un registre dcalage droite et gauche permet d'effectuer des multiplications et des
divisions entires par des puissances de 2. En effet une multiplication par 2 est quivalente un
dcalage vers la gauche et une division par 2 un dcalage vers la droite. Une multiplication par
2
n
sera obtenue par n dcalages gauche et une division par 2
n
par n dcalages droite.
60
S R
Q
C
l
k
Q
B
S R
Q
C
l
k C
r
Q
B
S R
Q
C
l
k
Q
C
S R
Q
C
l
k C
r
Q
C
S R
Q
C
l
k
Q
A
S R
Q
C
l
k C
r
Q
A
Q
D
S R
Q
C
l
k C
r
Q
D
S
0
S
1
H
C
l
e
a
r
E
0
E
1
Figure 26
61
IV.7 Compteurs
Un compteur est un ensemble de n bascules interconnectes par des portes logiques. Ils
peuvent donc mmoriser des mots de n bits. Au rythme d'une horloge ils peuvent dcrire une
squence dtermine c'est--dire occuper une suite d'tats binaires. Il ne peut y avoir au
maximum que 2
n
combinaisons. Ces tats restent stables et accessibles entre les impulsions
d'horloge. Le nombre total N des combinaisons successives est appel le modulo du compteur.
On a N 2
n
. Si N < 2
n
un certain nombre d'tats ne sont jamais utiliss.
Les compteurs binaires peuvent tre classs en deux catgories :
- les compteurs asynchrones;
- les compteurs synchrones.
De plus on distingue les compteurs rversibles ou compteurs-dcompteurs.
IV.8 Compteurs asynchrones
Un compteur asynchrone est constitu de n bascules J-K fonctionnant en mode T. Le
signal d'horloge n'est reu 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
immdiatement infrieur.
Considrons par exemple (fig. 27) un compteur modulo 8 suivant le code binaire pur
constitu de trois bascules J-K matres-esclaves.
J
K
Q
Q
ClK
J
K
Q
Q
ClK
J
K
Q
Q
ClK
Q
0
Q
2
Q
1
H
"1"
Figure 27
Supposons les trois bascules zro l'instant t = 0. Nous avons vu que pour une bascule
matre-esclave la sortie change d'tat juste aprs le passage du signal d'horloge de l'tat 1 l'tat 0
(front descendant). L'volution temporelle des trois sorties Q
0
, Q
1
et Q
2
par rapport aux
impulsions d'horloge est reprsente sur la figure 28. La sortie Q
0
bascule sur chaque front
descendant du signal d'horloge. La sortie Q
1
change d'tat chaque transition 1 0 de la sortie
62
Q
0
. De mme le basculement de la sortie Q
2
est dclench par une transition 1 0 de la sortie
Q
1
.
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 Q
2
Q
1
Q
0
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 ralis un compteur s'incrmentant d'une unit chaque top d'horloge, avec un cycle
de huit valeurs de 0 7 (modulo 8).
Nous constatons que les sorties Q
0
, Q
1
et Q
2
fournissent des signaux priodiques de
frquences respectivement 2, 4 et 8 plus faibles. La division de frquence est une des applications
des compteurs.
63
IV.8.a Compteur-dcompteur asynchrone
Nous obtenons un compteur en dclenchant chaque bascule lorsque celle de rang
immdiatement infrieur passe de l'tat 1 0. Pour raliser un dcompteur il faut que le
changement d'tat d'une bascule intervienne lorsque la bascule de rang immdiatement infrieur
passe de l'tat 0 1. Pour cela il suffit d'utiliser la sortie Q de chaque bascule pour dclencher la
suivante.
On ralise un compteur-dcompteur en utilisant un multiplexeur 2 entres - 1 sortie entre
chaque tage pour slectionner la sortie utiliser. Pour l'exemple prsent sur la figure 29, selon
l'tat de la ligne de commande X nous pouvons slectionner le mode de comptage :
X = 1 compteur;
X = 0 dcompteur.
J
Clk
K
Q
Q
Etage i
Q
i
J
Clk
K
Q
Q
Etage i+1
Q
i+1
"1"
X
Figure 29
IV.8.b Remise Zro et chargement d'un compteur
La figure 30 prsente un exemple de montage permettant de remettre zro un compteur
ou de le charger avec une valeur dtermine. Pour cela on utilise les entres asynchrones des
bascules. 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.
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 donne prsenter sur l'entre D, donc d'initialiser le compteur.
J
K
Q
Q
ClK
Cr
Pr
D.S.
R
D
Figure 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 (systme dcimal). Pour cela on utilise un compteur de n bascules, tel que 2
n
> N. On
lui ajoute un asservissement de l'entre Clear pour remettre le compteur zro tous les N coups.
Considrons par exemple un compteur modulo 10. Nous voulons que l'entre Clear soit
0 lorsque le compteur atteint 10
10
= 1010
2
. Pour cela nous pouvons crire l'expression logique :
0 1 2 3
Q Q Q Q Cr
En fait dans ce cas particulier nous pouvons simplifier cette relation logique en ne tenant compte
que des sorties 1 dans l'expression binaire de N. En effet il ne peut y avoir ambigut : toute
combinaison contenant les mmes sorties 1 et au moins une autre 1 correspond un nombre
plus grand que N et ne peut tre rencontre dans la squence dcrite par le compteur. Pour un
compteur modulo 10 nous pouvons donc utiliser :
65
1 3
Q Q Cr
ce qui nous conduit au schma 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
Q
0
H
"1"
Figure 31
IV.8.d Inconvnients des compteurs asynchrones
Comme chaque bascule a un temps de rponse le signal d'horloge ne parvient pas
simultanment sur toutes les bascules. Ceci a pour consquence de provoquer des tats
transitoires qui peuvent tre indsirables. Supposons le mme temps de rponse t
r
pour toutes les
bascules. Considrons la chronologie du passage d'un compteur asynchrone 4 bits de 0111
1000. Celle-ci est prsente sur la figure 32. Nous constatons que le compteur passe par les tats
transitoires 0110, 0100 et 0000 qui sont faux. Ceci est un inconvnient rdhibitoire chaque fois
que le compteur est exploit par des organes rapides.
0111 0111 0110 0100 0000 1000
t
H
Q
0
1
2
3
Q
Q
Q
Figure 32
66
IV.9 Compteurs synchrones
Dans un compteur synchrone toutes les bascules reoivent en parallle le mme signal
d'horloge. Pour faire dcrire au compteur une squence dtermine il faut chaque impulsion
d'horloge dfinir les entres synchrones J et K. Pour cela on utilise la table de transition de la
bascule J-K (table 6). Nous avons dj remarqu que cette table peut se simplifier. En effet, pour
chacune des quatre transitions possibles une seule des entres J ou K est dfinie. Rien ne nous
interdit donc de les mettre dans le mme 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 prcisant les valeurs des entres 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 entres soient 1.
# top Q
2
Q
1
Q
0
J
2
= K
2
J
1
= K
1
J
0
= K
0
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 1
8 0 0 0
Table 10
Chaque ligne de cette table correspond une mme tranche de temps. Il est assez facile d'en
dduire les expressions logiques reliant les entres aux sorties :

'

1 0 2 2
0 1 1
0 0
Q Q K J
Q K J
1 K J
De manire gnrale nous pouvons vrifier que les quations de commutation satisfont les
relations de rcurrence suivantes :

'


1 i 1 0 i i
0 0
Q ... Q Q K J
1 K J
ou encore :
67

'

1 i
Q
1 i i i
0 0
J K J
1 K J
Procdons de mme pour raliser un dcompteur, nous crivons la table des transitions
recherches :
# top Q
2
Q
1
Q
0
J
2
= K
2
J
1
= K
1
J
0
= K
0
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 1
6 0 0 1 0 1 1
7 0 0 0 0 0 1
8 0 0 0
Table 11
Nous en dduisons l'expression logique des entres d'un dcompteur :

'




1 0 2 2
0 1 1
0 0
Q Q K J
Q K J
1 K J
Nous constatons que les quations de commutation sont identiques en utilisant cette fois les
sorties complmentaires Q.
Aux deux manires d'exprimer les relations de rcurrence des quations de commutation
correspondent deux types de circuits. Le premier (fig. 33) est dit report parallle, le second
(fig. 34) report srie. Dans le report srie on utilise la fonction J
i-1
. On vite ainsi des portes
multiples entres. Par contre, il faut tenir compte du retard dans l'tablissement de J
i-
1
.
.
33 34
, 0 compteur, X = 1 dcompteur).
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