Un registre est constitué d'un ensemble de bascules synchrones permettant de stocker une information binaire, de la transférer ou de lui faire subir des opérations (décalage par exemple). On distingue quatre structure de registres selon la manière dont les données entrent et sortent:
-entrée série,
-entrée parallèle
-sortie série,
-sortie parallèle.
C'est un registre à entrée parallèle et sortie parallèle. On s'en sert pour mémoriser les données et les transférer surtout vers des dispositifs lents.
Le registre à décalage est constitué de cellules mémoires (bascules) qui sont reliées entre elles de telle sorte que la sortie de la bascule au rang n soit reliée à l'entrée de la bascule de rang n+1, les bascules ayant le même signal d'horloge. On décale ainsi à chaque front d'horloge la valeur présente à la sortie d'une cellule mémoire à la suivante. On distingue différents modes de décalage: le décalage à droite qui consiste à faire avancer l'information binaire vers la droite et inversement pour le décalage à gauche.
Le SN74LS194 est un exemple de circuit intégrant un registre universel avec des entrées et des sorties parallèles, un décalage à droite ou à gauche, des entrées série et une entrée de remise à zéro asynchrone. L'exemple qui suit va vous aider à bien comprendre la table de fonctionnement de ce circuit.
Exemple 2.4.1: synthèse de séquences à l'aide d'un registre à décalage |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Faire les connections permettant de réaliser la séquence qui suit à l'aide du registre à décalage SN74LS194.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Solution |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cette séquence peut être divisée en 3 étapes: une première étape qui consiste à charger la valeur binaire 1000. Une seconde étape qui est un décalage vers la droite avec remplacement du bit décalé par 0 et la dernier étape et une dernière étape qui est plutôt un décalage vers la gauche avec également remplacement du bit décalé par 0.
D'après la table de fonctionnement du SN74LS194, pour charger la valeur 1000 il faut appliquer les valeurs résumées dans le tableau qui suit, sur les différentes entrées:
Pour effectuer le décalage de la valeur chargée précédemment vers la droite, l'entrée CLEAR doit être à 1. Il faut ensuite appliquer la valeur 01 à S1S0. Pour avoir un zéro à la place du bit décalé, il faut que SR soit à 0.
Durant tout le décalage à droite, la valeur binaire 01 présente sur les entrées S1S0 reste inchangée: il faut donc la mémoriser. On peut également observer que le décalage est fini quand la sortie QD prend la valeur binaire 1.
Le même raisonnement peut être mené pour le décalage à gauche, d'où le tableau ci-dessous:
La valeur binaire 10 présente sur les entrées S1S0 doit être également mémorisée pendant le décalage. Ce décalage prend fin quand la sortie QA a atteint la valeur binaire 1. On observe donc que les sorties QA et QD commandent le décalage:
A partir du tableau on en déduit que SR et SL peuvent prendre n'importe quelle valeur donc particulièrement la valeur 0 (SR=SL=0). Les deux états de S0 et S1 peuvent être mémorisés par une bascule RS de type NOR car l'état 11 n'est pas codé (inutile).
Les deux tableaux ci-dessous laissent apparaître que S0=/Q et S1=Q , que R=QD et S=QA.
On introduit une variable binaire LOAD: si LOAD=1 alors il y a chargement de la valeur binaire 1000, sinon il y a décalage.
|