cours de mr jbilou
DESCRIPTION
CoursTRANSCRIPT
-
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 V0 ne peut tre gale qu' +5 V ou 0 V.
R
+5V
S
V0
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
XIXme 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.
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
-
2
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
A
BY
Figure 3
Il est facile de vrifier les proprits suivantes de la fonction OU :
-
3
(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
BY
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
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
-
4
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 :
BABAA0AA
1AA
AA
II.5 Thormes de De Morgan
De Morgan a exprim deux thormes qui peuvent se rsumer sous la forme suivante :
...CBA...CBA
...CBA...CBA
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 :
-
5
BABABA
BABABA
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 :
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 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.
-
6
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 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 BAY 0 0 0
0 1 1
1 0 1
1 1 0
Table 7
A
BY
Figure 10
Nous pouvons formuler de diverses manires la dfinition prcdente : BAY est gal 1 si et seulement si A = 1 ou B = 1 mais pas simultanment. 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'ingalit : BAY 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 :
)BA()BA(BA
La fonction BAYZ correspond un dtecteur d'galit. Nous avons encore la relation suivante qui peut tre dmontre en utilisant les thormes de De Morgan :
-
7
)BA()BA(BA
A ces quatre relations logiques correspondent quatre circuits ralisant la fonction XOR partir de
portes OR et AND.
A
B
A
B
AB
AB
Figure 11
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.
-
8
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 AA
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
-
9
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) 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 rassembles dans la table 10.
Chacun de ces produits ne prend la valeur 1 que pour une et une seule combinaison : Pi 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 zyx 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 Ci. Considrons, par
exemple, la fonction F dont la table de vrit est donne 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 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 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
autres combinaisons comme les produits P1, P3, P4, nous pouvons donc crire que F est gale la
fonction :
F = P1 + P3 + P4
-
10
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 :
zyxzyxzyxF
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 y et 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.
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 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
C0, C2, C5, C6 et C7 en mme temps que S0, S2, S5, S6 et S7. 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 :
)zyx()zyx()zyx()zyx()zyx(F
Cette criture est appele produit canonique de sommes. Celle-ci est moins utilise que la somme
canonique de produits.
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
-
11
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 :
zyxzyxzyxzyxF
Nous pouvons crire :
xzzyyx
)zz(yx)yy(zx)xx(zy
)zyxzyx()zyxzyx()zyxzyx(
zyxzyxzyxzyxF
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 :
-
12
A)BB(A)BA()BA(
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 2n 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
xy
Tableau 2 variables
Figure 13
xyz 00 01 11 10
0
1
Tableau 3 variables
Figure 14
xyzt 00 01 11 10
00
01
11
10
Tableau 4 variables
-
13
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
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 :
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 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 :
-
14
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 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 :
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 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
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 :
-
15
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 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 :
tzytyyxF
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
-
16
00 01 11 10
00
01
11
10
xyzt
1
1
1
1
1
1 1
1
Figure 20
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 :
1011
0101
0110
0000
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.
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
-
17
L'addition des deux bits de bas poids (LSB : Least Significant Bit) a0 et b0, donne un rsultat
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 rsultat partiel s1 et une retenue r1. Et ainsi de suite, nous obtenons un rsultat
sur quatre bits S et une retenue r3.
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.
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 :
BAC
BABAD
Nous reconnaissons pour la sortie D une fonction OU exclusif, donc :
BAC
BAD
Ce qui peut tre ralis par le circuit schmatis sur le logigramme de la figure 3.
-
18
A
BD
C
Figure 3
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
CS
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
HAC2
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 :
-
19
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
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 :
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 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 :
RBRABAC
A partir de cette relation, nous pouvons crire :
RBACR
RBARBARBAC)RBA(RBACB
RBACA
-
20
Ce qui nous permet de rcrire l'expression de S :
RBAC)RBA(S
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 FAi est affect l'addition des bits de poids i. L'entre
correspondant au report de retenue pour FA0 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 S0 et la retenue R0 sont valables aprs un retard t, la
sortie S1 et la retenue R1 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.
-
21
A B
FA
C S
3
3 3
3
FA 2 FA 1 FA 0
A AA2 1 0B BB2 1 0
S SS 012
Figure 8
RA B0 0 A1 1B
S0 S1
C1
Figure 9
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).
-
22
Un additionneur parallle est plus rapide mais ncessite 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
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
-
23
O D reprsente le rsultat de la soustraction A B et C la retenue. Nous en dduisons les expressions logiques dfinissant D et C :
BAC
BABABAD
et le schma correspondant :
A
BD
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 2n 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 :
12AA n
Attention : dans ce paragraphe le signe + reprsente l'opration addition et non la fonction logique
OU. Nous pouvons encore crire :
n21AA
Mais sur n bits l'entier 2n est identique 0 :
)bitsn(02n
C'est--dire qu'il est possible dcrire un nombre entier ngatif comme le "complment 2" de sa valeur absolue :
1AA
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 :
)bitsn(1BA21BABA n
-
24
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
n1
0
C
DA
B
O
A
D
D
Figure 13
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 :
DCBABABAE
BAD
BAC
-
25
La figure 14 prsente le diagramme d'un bloc logique comparant deux bits A et B.
AB
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-
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
AB
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 P2 doit tre 0 pour chaque mot transmis, sinon cela indique un problme de transmission.
Emetteur
A
C
D
P'
PB
Rcepteur
A
C
D
P'
PB
P2
Figure 16
-
26
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 = 2n sorties possibles. A titre d'exemple, nous allons
tudier le dcodage de la reprsentation DCB des nombres.
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).
-
27
centaines
dcodeur
4
10
dizaines
4
units
4
Nixie
10
Nixie
10
Nixie
dcodeur dcodeur
Figure 17
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 6me
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 :
-
28
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
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 :
DCBA
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
-
29
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
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 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 dduisons le logigramme suivant :
-
30
0
1
2
3
A B
D
E
D : donnesE : enable
(A, B) : adresse
Figure 21
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 AA B C D E : adresse
S : donnes
Figure 22
-
31
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 :
3210 XEBAXEBAXEBAXEBAY
Cette expression correspond au schma prsent sur la figure 23.
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
-
32
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.
Y
ED
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 :
- 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 connectes aux sorties d'un compteur de priode
T, nous aurons en fonction du temps :
-
33
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 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.
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
983
76542
76321
975310
WWY
WWWWY
WWWWY
WWWWWY
-
34
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 raliser
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
En effet considrons le circuit de la figure 26 :
A
B S
DA
DB
Figure 26
A B S
0 0 DA et DB bloques 0
+V 0 DA passante/DB bloque +V
0 +V DA bloque/DB passante +V
+V +V DA et DB passantes +V
-
35
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 W7 et W8 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 W7 et W8 sont dans l'tat 1 l'encodeur prioritaire donne en sortie le
code correspondant W8. 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.
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 dfinissant les lignes de sortie Yi ne dpendaient que des 1
dans la table 11, il faut ici tenir compte des 0. Par exemple pour Y0 nous avons :
998798765
98765439876543210
WWWWWWWWW
WWWWWWWWWWWWWWWWY
-
36
Nous pouvons mettre le complmentaire de W9 en facteur dans les quatre premiers termes, puis
en utilisant l'identit :
BABAA
il vient, aprs factorisation du complment de W8 :
9776576543765432180 W)WWWWWWWWWWWWWWWW(WY
Soit encore :
9765654365432180 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
Soit en rorganisant 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 mme identit nous pouvons simplifier cette expression, il vient en
rordonnant les termes :
))WW(WWWW(WWY 234567891
Pour Y2 nous devons crire :
9879876987659876542 WWWWWWWWWWWWWWWWWWY
Soit encore :
-
37
)))WWW(WW(WW(WWY 4556677892
En utilisant toujours la mme identit il vient :
)WWWW(WWY 4567892
Enfin pour Y3 nous avons :
899983 WWWWWY
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(gY
)Q,X(fQ
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
-
38
fait appel un verrou (latch) ou systme de blocage, dont le principe de rtro-action peut tre
reprsent de la faon suivante :
Q
Q
A
B
Figure 1
Nous pouvons vrifier :
)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 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 0QQ , ce qui est inconsistant logiquement
avec notre dfinition. 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
-
39
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
RR
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
IV.2.b Dispositif anti-rebond
-
40
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 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'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 t1
nous basculons l'interrupteur de la position 1 la position 2. Ds que le contact est ouvert en 1
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" t2, quelques rebonds peuvent suivre. A t2 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 t1 et t2 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.
-
41
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 tp, suppose petite
devant la priode T. L'tat de chacune des sorties restera donc bloqu pendant les intervalles
sparant deux impulsions. Nous notons Qn la valeur de la sortie Q pendant le nime
intervalle
prcdant la nime
impulsion et Qn+1 la valeur correspondante dans l'intervalle suivant la nime
impulsion (fig 9).
0 T (n-1)T nT (n+1)T t
Qn Qn+1
Figure 9
Considrons 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 force 1. Si R = 1 et S = 0 alors la sortie Q est
-
42
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 Sn et Rn les valeurs de S et R juste avant l'instant
t = nT nous pouvons crire la table de vrit :
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'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
JQ
KQ
Figure 10
Nous avons alors pour les signaux R et S :
QKR
QJS
Ce qui nous permet de construire la table de vrit 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 1
1 1 0 1 1 0 1
1 1 1 0 0 1 0
Table 4
-
43
Nous constatons que nous ne rencontrons jamais la combinaison R = S = 1. Cette table peut se
rsumer sous la forme suivante :
Jn Kn Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 nQ
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
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.
Qn Qn+1 Jn Kn
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
-
44
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 vrit
(table 4) de la bascule J-K :
00 01 11 10
0
1
JKQ
11
11
D'o nous tirons l'quation caractristique qui exprime l'tat futur en fonction de l'tat prsent et
des entres :
nnnn1n QKQJQ
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
-
45
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.
Supposons Pr = Cr = 1. Pendant la nime
impulsion le signal d'horloge est haut pour le
matre et bas pour l'esclave. L'tat Qn est donc invariant pendant la dure tp de l'impulsion. Le
problme prcdent est donc rsolu et l'tat de la sortie de la bascule matre QM 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 :
)1Q,0Q()1R,0S()1Q,0Q(
)0Q,1Q()0R,1S()0Q,1Q(
1n1nMM
1n1nMM
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
QM
QM
Q
Q
S
R
Pr
Cr
Figure 13
-
46
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
PrD
H
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 rsumer par Qn+1 = Dn. 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
QH
D
Clear
Preset
Figure 16
-
47
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 S1, S2, S3 et S4 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 S2 = S3 = 1. Considrons 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
2me 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 vrifions que Q = D. Maintenant considrons 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
-
48
Porte 6 : S3 = 0 Q = 1
Porte 5 : Q = S2 = Clear = 1 0Q
2me 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 inchange. Etudions maintenant les oprations de Remise
Zro 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 S3 = 0 S2 = 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
-
49
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-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
PrT
H
Figure 18
Tn Qn+1
1 nQ
0 Qn
Table 7
T Q
Q
ClK
Cr
Pr
Figure 19
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.
-
50
Q
Q
D
Clk
E0
Q0
Q
Q
D
Clk
E1
Q1
Q
Q
D
Clk
E2
Q2
Q
Q
D
Clk
E3
Q3
W
R
Figure 20
En synchronisme avec le signal d'criture W le registre mmorise les tats des entres E0,
E1, E2 et E3. Ils sont conservs jusqu'au prochain signal de commande W. Dans cet exemple les
tats mmoriss peuvent tre lus sur les sorties Q0, Q1, Q2 et Q3 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.
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
-
51
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 sriedcalage droite
Sortie sriedcalage gauche
Sorties
parallles
Entresparallles
Validation
entres parallles
Dcalage droiteou gauche
Entresrie
Validationentre srie
Figure 22
Gnralement on utilise des bascules du type matre-esclave D ou R-S.
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.
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 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.
-
52
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.
QD
Clk
E0
QD
Clk
E1
E.S.
H
X
S.S.
Figure 24
Un registre dcalage entre parallle et sortie srie transforme un codage spatial en codage
temporel.
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
Q0
E0
D Q
ClK
Cr
Pr
Q1
E1
E.S.
H
X
Figure 25
-
53
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 :
ii
ii
iiEQ
0Q)0Cr,1(Pr0E
1Q)1Cr,0(Pr1E
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 S0 et S1. Considrons la ligne
transportant le signal d'horloge aux bascules, elle est gouverne par l'expression logique :
)SS(HSSHClk 1010
Le signal d'horloge sera donc inhib si S0 = S1 = 0.
Pour slectionner le chargement parallle (entres 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 slectionner le dcalage droite (entre E1, sortie QD) il nous faut S0 = 1 et S1 = 0 et pour
le dcalage gauche (entre E0, sortie QA) S0 = 0 et S1 = 1. Ce que nous pouvons rsumer dans
le tableau suivant :
S0 S1 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
2n sera obtenue par n dcalages gauche et une division par 2n par n dcalages droite.
-
54
SR
Q
Clk
Q
B
SR
Q
ClkC
r
QB
SR
Q
Clk
QC
SR
Q
ClkC
r
Q
C
SR
Q
Clk
Q
A
SR
Q
ClkC
r
QA
QD
SR
Q
ClkC
r
Q
D
S0
S1
HC
lear
E0
E1
Figure 26
-
55
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 2n 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 2n. Si N < 2n 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 2Q 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 Q0, Q1 et Q2 par rapport aux
impulsions d'horloge est reprsente 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
Q0. De mme le basculement de la sortie Q2 est dclench par une transition 1 0 de la sortie
Q1.
-
56
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 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 Q0, Q1 et Q2 fournissent des signaux priodiques de
frquences respectivement 2, 4 et 8 plus faibles. La division de frquence est une des applications
des compteurs.
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.
-
57
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.
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.
-
58
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 2n > 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 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 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 :
13 QQCr
ce qui nous conduit au schma suivant :
-
59
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 tr 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
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
-
60
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 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 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 :
1022
011
00
QQKJ
QKJ
1KJ
De manire gnrale nous pouvons vrifier que les quations de commutation satisfont les
relations de rcurrence suivantes :
1i10ii
00
Q...QQKJ
1KJ
ou encore :
1iQ1iii
00
JKJ
1KJ
Procdons de mme pour raliser un dcompteur, nous crivons la table des transitions
recherches :
# 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
-
61
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 :
1022
011
00
QQKJ
QKJ
1KJ
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 Ji-1. On vite ainsi des portes
multiples entres. Par contre, il faut tenir compte du retard dans l'tablissement de Ji-1. Il faut
donc que la largeur des impulsions d'horloge soit assez grande et la vitesse maximum de
fonctionnement sera plus faible que pour le report parallle.
Les deux schmas prsents sur les figures 33 et 34 correspondent des compteurs-dcompteurs
(X = 0 compteur, X = 1 dcompteur).
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
-
62
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