Chapitre 7 egistres et compteurs Un circuit séquentiel synchrone est constitué d un groupe de bascules et circuits combinatoires ayant une horloge. Les bascules sont essentielles, puisque sans elles le circuit devient purement combinatoire. Un circuit composé de bascules est un circuit séquentiel même s il n y a pas de portes combinatoires. Les circuits contenant des bascules sont typiquement classifiés selon leur fonction. On verra ici deux fonctions des circuits séquentiels : 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 à 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 l information, et les portes déterminent comment l information est transférée dans le registre. Un compteur est un registre qui passe à travers une séquence ordonnée d états binaires. Les portes du compteur sont branchées de sorte que le compteur produit toujours la même séquence d états. Même si un compteur est un registre spécialisé, il est commun de les différentier. 7.1 egistre à décalage Un registre qui peut décaler de l information binaire d une cellule à une autre dans une direction spécifique est appelé un registre à décalage. Un registre à décalage est constitué d une série de bascules en cascade, où la sortie d une bascule est branchée à l entrée de la bascule suivante. Un exemple est montré à la figure 7.1. 1
Entrée Série Sortie Série Figure 7.1 egistre à décalage de 4 bits ans le circuit de la figure 7.1, le contenu de chaque bascule est transféré à la bascule suivante à chaque pulse d horloge. Chaque pulse transfère 1 bit de gauche vers la droite. Le circuit de la figure 7.1 est unidirectionnel : seul un transfert de gauche à droite est permis. 7.1.1 ransfert sériel Un système numérique est dit sériel si l information est transformée et manipulée 1 bit à la fois. L information est transférée un bit à la fois du registre source au registre de destination. Un exemple est montré à la figure 7.2, où on a aussi un système pour contrôler quand l information est transférée : on a une entrée d activation. L entrée CL permet de contrôler quand l horloge globale est passée aux registres, ce qui permet de contrôler le transfert des données. egistre A egistre B SO B Horloge CL Horloge CL 1 2 3 4 Figure 7.2 ransfert sériel Le tableau de la figure 7.3 montre un exemple de transfert de données, si les deux registre de la figure 7.2 sont de 4 bits. À chaque pulse 1, 2, 3 et 4, un bit est transféré du registre A au registre B. ans cet exemple, on suppose que la valeur initiale du registre A est 1011 et la valeur initiale du registre B est 0010. À chaque pulse d horloge, 1 bit est Gabriel Cormier 2 GELE2442
transféré de A à B. Après 4 pulses, la valeur de A est inscrite dans B, et la valeur de A est revenue à la valeur initiale. Pulse egistre A egistre B Valeur initiale 1 0 1 1 0 0 1 0 Après 1 1 1 0 1 1 0 0 1 Après 2 1 1 1 0 1 1 0 0 Après 3 0 1 1 1 0 1 1 0 Après 4 1 0 1 1 1 0 1 1 Figure 7.3 Exemple de transfert sériel 7.1.2 Addition sérielle La plupart des opérations dans un ordinateur sont effectuées en parallèle, parce que les calculs sont plus rapides. Cependant, ceci nécessite des circuits plus complexes et plus gros. ans des circuits où la taille est importante, on utilise parfois des opérations sérielles plutôt que parallèle. Le circuit de la figure montre un additionneur sériel. On utilise des registres pour faire l addition bit par bit. Le report de sortie est transféré à une bascule, qui devient ensuite le report d entrée pour les 2 bits suivants. CL Horloge SI egistre A x y z FA S C Entrée série SI egistre B Clear Figure 7.4 Additionneur sériel Gabriel Cormier 3 GELE2442
7.2 Compteurs Un registre qui passe à travers une séquence prédéfinie d états suite à l application d un pulse d entrée est un compteur. L entrée peut être un pulse d horloge, ou provenir d une source externe. La séquence d états n a pas besoin d être une séquence numérique (0-1-2-etc). N importe quelle séquence prédéfinie est acceptable. Un compteur qui suit une séquence numérique est un compteur binaire. Un compteur binaire à n bits est constitué de n bascules et peut compter de 0 à 2 n 1. Il existe deux types de compteurs binaires : les compteurs en cascade (ripple counter) et les compteurs synchrones. ans les compteurs en cascade, les entrées d horloge ne sont pas activées par une horloge commune, mais plutôt par la sortie des autres bascules. ans un compteur synchrone, une horloge commune est branchée aux entrées de toutes les bascules. 7.2.1 Compteur binaire en cascade Un compteur binaire en cascade est une série de bascules où la sortie d une bascule est branchée à l entrée de la bascule suivante. La bascule qui contient le bit le moins significatif reçoit les pulses d entrée. Un exemple de compteur à 4 bits avec des bascules est montré à la figure 7.5. À chaque fois que A 0 change de 1 à 0, la valeur de A 1 est complémentée. À chaque fois que A 1 change de 1 à 0, la valeur de A 2 est complémentée, et ainsi de suite. 7.2.2 Compteur CB en cascade Un compteur décimal va passer à travers la séquence de 0 à 9 puis recommencer à 0. Il faut 4 bascules pour créer ce circuit, puisque le CB nécessite 4 bits. La séquence est montrée à la figure 7.6. On peut combiner des compteurs CB pour réaliser des compteurs de plus de 10. Un exemple de compteur pouvant aller jusqu à 999 est montré à la figure 7.7. Les entrées des décades supérieures sont le bit 8 de l étage précédent. Gabriel Cormier 4 GELE2442
A 0 Compte C A 1 C A 2 C A 3 eset C Figure 7.5 Compteur binaire en cascade à 4 bits 0000 0001 0010 0011 0100 1001 1000 0111 0110 0101 Figure 7.6 iagramme d état d un compteur CB 7.3 Compteurs synchrones Les compteurs synchrones sont différents des compteurs en cascade parce que l horloge est appliquée à toutes les bascules. Une horloge commune active toutes les bascules Gabriel Cormier 5 GELE2442
8 4 2 1 8 4 2 1 8 4 2 1 Compteur CB Compteur CB Compteur CB Compte 10 2 10 1 10 0 Figure 7.7 Compteur CB à trois décades simultanément, plutôt qu une à la fois. Un exemple est montré à la figure 7.8 avec des bascules. Le circuit possède aussi une entrée d activation globale (CNEN). Chaque bascule va seulement inverser si CNEN = 1. Il faut quand même faire attention à la vitesse de l horloge : si l horloge est trop rapide, il est possible qu un changement au LSB n ait pas le temps de se propager au MSB. CNEN 0 C 1 C 2 C 3 C Figure 7.8 Compteur binaire synchrone à 4 bits Gabriel Cormier 6 GELE2442