Registres et compteurs
Un circuit sequentiel synchrone est constitue dun groupe de bascules et circuits com-
binatoires ayant une horloge. Les bascules sont essentielles, puisque sans elles le circuit
devient purement combinatoire. Un circuit compose de bascules est un circuit sequentiel
meme sil ny a pas de portes combinatoires. Les circuits contenant des bascules sont typi-
quement classifies selon leur fonction. On verra ici deux fonctions des circuits sequentiels :
des registres et des compteurs.
Un registre est un groupe de bascules qui partagent une horloge commune et qui peut
stocker un bit. Un registre a` n bits est un groupe de n bascules qui peuvent stocker n bits.
Un registre peut aussi avoir des portes combinatoires qui permettent de mieux traiter les
bits. Les bascules dont le stockage de linformation, et les portes determinent comment
linformation est transferee dans le registre.
Un compteur est un registre qui passe a` travers une sequence ordonnee detats binaires.
Les portes du compteur sont branchees de sorte que le compteur produit toujours la meme
sequence detats. Meme si un compteur est un registre specialise, il est commun de les
differentier.
Un registre qui peut decaler de linformation binaire dune cellule a` une autre dans une
direction specifique est appele un registre a` decalage. Un registre a` decalage est constitue
dune serie de bascules en cascade, ou` la sortie dune bascule est branchee a` lentree de la
bascule suivante. Un exemple est montre a` la figure 7.1.
1
CHAPITRE 7. REGISTRES ET COMPTEURS
Entree Sortie
D Q D Q D Q D Q
Serie Serie
CLK
Figure 7.1 Registre a` decalage de 4 bits
Dans le circuit de la figure 7.1, le contenu de chaque bascule est transfere a` la bascule
suivante a` chaque pulse dhorloge. Chaque pulse transf`ere 1 bit de gauche vers la droite. Le
circuit de la figure 7.1 est unidirectionnel : seul un transfert de gauche a` droite est permis.
7.1.1
Transfert seriel
CLK CLK
Horloge
CTRL
Horloge
CTRL
CLK
T1 T2 T3 T4
Figure 7.2 Transfert seriel
7.1.2
Addition serielle
La plupart des operations dans un ordinateur sont effectuees en parall`ele, parce que
les calculs sont plus rapides. Cependant, ceci necessite des circuits plus complexes et plus
gros. Dans des circuits ou` la taille est importante, on utilise parfois des operations serielles
plutot que parall`ele.
Le circuit de la figure montre un additionneur seriel. On utilise des registres pour faire
laddition bit par bit. Le report de sortie est transfere a` une bascule D, qui devient ensuite
le report dentree pour les 2 bits suivants.
SI
CTRL Registre A
Horloge x S
y FA
z C
Entree
SI
serie
Registre B
Q D
CLK
Clear
Figure 7.4 Additionneur seriel
7.2 Compteurs
Un registre qui passe a` travers une sequence predefinie detats suite a` lapplication
dun pulse dentree est un compteur. Lentree peut e tre un pulse dhorloge, ou provenir
dune source externe. La sequence detats na pas besoin detre une sequence numerique
(0-1-2-etc). Nimporte quelle sequence predefinie est acceptable. Un compteur qui suit une
sequence numerique est un compteur binaire. Un compteur binaire a` n bits est constitue de
n bascules et peut compter de 0 a` 2n 1.
Il existe deux types de compteurs binaires : les compteurs en cascade (ripple counter) et
les compteurs synchrones. Dans les compteurs en cascade, les entrees dhorloge CLK ne
sont pas activees par une horloge commune, mais plutot par la sortie des autres bascules.
Dans un compteur synchrone, une horloge commune est branchee aux entrees CLK de
toutes les bascules.
Un compteur binaire en cascade est une serie de bascules ou` la sortie dune bascule
est branchee a` lentree CLK de la bascule suivante. La bascule qui contient le bit le moins
significatif recoit les pulses dentree. Un exemple de compteur a` 4 bits avec des bascules
D est montre a` la figure 7.5. A ` chaque fois que A0 change de 1 a` 0, la valeur de A1 est
`
complementee. A chaque fois que A1 change de 1 a` 0, la valeur de A2 est complementee, et
ainsi de suite.
On peut combiner des compteurs DCB pour realiser des compteurs de plus de 10. Un
exemple de compteur pouvant aller jusqu`a 999 est montre a` la figure 7.7. Les entrees des
decades superieures sont le bit Q8 de letage precedent.
D Q A0
Compte C Q
R
D Q A1
C Q
R
D Q A2
C Q
R
D Q A3
C Q
R
Reset
Figure 7.5 Compteur binaire en cascade a` 4 bits
Les compteurs synchrones sont differents des compteurs en cascade parce que lhorloge
est appliquee a` toutes les bascules. Une horloge commune active toutes les bascules
Q8 Q4 Q2 Q1 Q8 Q4 Q2 Q1 Q8 Q4 Q2 Q1
simultanement, plutot quune a` la fois. Un exemple est montre a` la figure 7.8 avec des
bascules T. Le circuit poss`ede aussi une entree dactivation globale (CNTEN). Chaque
bascule T va seulement inverser si CNTEN = 1. Il faut quand meme faire attention a` la
vitesse de lhorloge : si lhorloge est trop rapide, il est possible quun changement au LSB
nait pas le temps de se propager au MSB.
CNTEN T Q Q0
CLK C Q
T Q Q1
C Q
T Q Q2
C Q
T Q Q3
C Q