registres à décalage - Université Virtuelle de Tunis

publicité
CIRCUITS LOGIQUES SEQUENTIELS
Université Virtuelle de Tunis
Chap-II: Registres à décalage
CIRCUITS LOGIQUES
SEQUENTIELS
Registres à décalage
TRABELSI Hichem
Attention !
Ce produit pédagogique numérisé est la propriété exclusive de
l'UVT. Il est strictement interdit de la reproduire à des fins
commerciales. Seul le téléchargement ou impression pour un
usage personnel (1 copie par utilisateur) est permis.
1
TRABELSI Hichem
Université Virtuelle de Tunis
CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-II : Registres à décalage
REGISTRES À DÉCALAGE
Introduction
Un registre à décalage est un circuit séquentiel constitué d’un ensemble de N bascules,
commandées par le même signal d’horloge, afin de stocker et de déplacer les données à N bits
qu’il reçoit à ses entrées. La capacité d’un registre à stocker les données rend ce composant
comme un élément de mémorisation important.
La propriété de décalage d’un registre permet le déplacement des données de l’entrée vers la
sortie du registre de différentes manières. La figure ci-dessous illustre les différents
déplacements des données dans un registre à décalage.
Entrée
Sortie
Entrée
Sortie
Entrée série / sortie série
Entrée parallèle / sortie série
Entrée
Entrée
Sortie
Sortie
Entrée série / sortie parallèle
Entrée parallèle / sortie parallèle
Déplacements des données dans les registres à décalage
Structure d’un registre à décalage
La structure du registre à décalage va dépendre de la façon dont on introduit les bits
d’information, c’est à dire du chargement du registre. Ce chargement peut être sous forme série,
c’est à dire les bits sont introduits les uns après les autres ou sous forme parallèle, c’est à dire
simultanément.
Registre à décalage à chargement série
Les bits d’information sont présentés bit après bit à l’entrée de la première bascule et se
propagent à travers le registre à chaque impulsion d’horloge, pour sortir par la dernière bascule,
c’est donc une sortie série.
2
TRABELSI Hichem
Université Virtuelle de Tunis
CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-II : Registres à décalage
L’applet représente un registre à décalage à 5 bits vers la droite (Shift Right) à chargement
série. A chaque front montant de l’impulsion d’horloge, les sorties des bascules prennent la
valeur de sortie qu’avait la bascule immédiatement à gauche avant l’application du front
d’horloge.
L’applet montre sur un chronogramme, comment l’application d’une succession d’impulsion
d’horloge déplace les données d’entrée de gauche à droite d’une bascule à une autre.
Un décalage à gauche peut être obtenu en changeant la connexion des sorties des bascules
comme le montre l’applet.
Dans certaines applications, il peut arriver que l’on ait besoin de décaler les données soit
vers la gauche soit vers la droite, donc d’un décalage bidirectionnel. Pour réaliser cette fonction,
il faut transmettre à chaque entrée de bascule soit la sortie de la bascule située à gauche (Qi-1)
dans le cas d’un décalage à droite, soit la sortie située à droite (Qi+1) dans le cas d’un décalage à
gauche. Pour cela, il faut disposer d’un multiplexeur 2 vers 1 commandé par un signal de
commande noté SENS comme le montre l’applet.
La récupération des données peut se faire d’une façon parallèle, il suffit pour cela que les
sorties des différentes bascules du registre soient accessibles. La lecture du contenu du registre
se fait d’une façon simultanée après que le registre soit rempli.
REMARQUE: Il est indispensable que les bascules du registre aient un temps de maintien tH
excessivement faible, au moins inférieur au retard de propagation tpd. Heureusement les bascules
modernes déclenchées par un signal d'horloge respectent cette exigence.
Registre à décalage à chargement parallèle
Chargement parallèle asynchrone
Dans le cas d’un chargement parallèle asynchrone, les entrées asynchrones RAZ et RAU
sont utilisées pour écrire dans les bascules du registre.
La figure ci-dessous montre le principe de chargement parallèle asynchrone. Le circuit
additif de portes NAND est nécessaire pour charger les données d’une façon asynchrone à
travers les entrées de forçage RAZ et RAU .
ei-1
ei
LD (Load)
Di-1
RAU
RAZ
Qi-1
Di
RAU
Qi
RAZ
CLK
Chargement parallèle asynchrone
3
TRABELSI Hichem
Université Virtuelle de Tunis
CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-II : Registres à décalage
A l’entrée RAU de la bascule (i), on a :
RAU = LD .ei
A l’entrée RAZ , on a :
RAZ = LD .e i .LD
- Si LD = 0 on a alors :
RAU = RAZ = 1. Les entrées de forçage sont inactives.
- Si LD = 1 , On a alors :
RAU = ei
RAZ = ei
Si ei = 0, c’est l’entrée RAZ qui est activée (chargement de 0).
Si ei =1, c’est l’entrée RAU qui est activée (chargement de 1).
L’applet représente un registre à décalage à 5 bits vers la droite (Shift Right) à chargement
parallèle asynchrone.
Parmi les différents registres à décalage à chargement parallèle asynchrone disponibles en
circuits intégrés, on peut citer le 74165.
Chargement parallèle synchrone
Pour que le chargement parallèle des données ei soit synchrone avec le signal d’horloge, il faut
appliquer ces données aux entrées synchrones Di. En fonction de l’ordre de chargement
parallèle LD (load), chaque bascule i recopie l’entrée ei ou bien la sortie de la bascule i-1, à
chaque front d’horloge. il faut donc utiliser un multiplexeur 2 vers 1 à l’entrée Di de chaque
bascule, comme le montre le montage de la figure ci-dessous.
ei
ei-1
LD (Load)
I0
S
I1
I0
S
MUX
Z
Di-1
Qi-1
I1
MUX
Z
Di
Qi
CLK
Chargement parallèle synchrone
4
TRABELSI Hichem
Université Virtuelle de Tunis
CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-II : Registres à décalage
L’équation logique de l’entrée Di :
Di = Qi −1 .LD + ei .LD (équation de sortie d’un multiplexeur à deux entrées).
- Si LD = 0, alors Di = Qi-1 : c’est l’opération de décalage.
- Si LD = 1, alors Di = ei : c’est l’opération du chargement.
L’applet représente un registre à décalage à 5 bits vers la droite (Shift Right) à chargement
parallèle synchrone.
Parmi les registres à décalage à chargement parallèle synchrone, on peut citer le 74178.
Registre à décalage universel
Un registre dit universel est un registre qui effectue le décalage à droite ou à gauche et un
chargement série ou parallèle. Ce type de registre dispose d’entrées de mode de fonctionnement
qui définissent le sens de décalage et le type de chargement.
La figure ci-dessous représente les différentes entrées et sorties d’un registre universel
procurant tous les modes de fonctionnement.
Entrées parallèles
Entrée série
droite
Chargement (Load)
REGISTRE A DECALAGE
UNIVERSEL
Entrée série
gauche
Sens de décalage
Horloge
Sortie série
décalage
à gauche
Sortie série
décalage
à droite
Sorties parallèles
Schéma bloc d’un registre à décalage universel
Le circuit intégré 74194 est un exemple de registre universel.
Registre à décalage à sorties 3 états
Dans différentes applications et en particulier dans les systèmes contrôlés par microprocesseur,
les différents blocs fonctionnels sont reliés les uns aux autres au moyen d’un ou plusieurs bus de
données. Pour l’instant, nous allons illustrer le concept de bus dans le cas de transfert de
données d’un registre à décalage à autre.
Un registre à décalage à 3 états est un circuit qui possède des sorties reliées au bus par
l’intermédiaire de circuits de types 3 états, commandés par un signal de validation E. Ces
registres peuvent être connectés en parallèle sur le bus, comme le montre la figure ci-dessous.
Etant donné que les sorties de tous ces registres sont connectées au même bus, il est
indispensable que seulement un des registres à la fois ait ses sorties validées et que les sorties
des autres soient déconnectées, c’est à dire en état haut impédance. S’il en est autrement, il y
aura un conflit d’utilisation du bus. Le contenu de l’un des registres peut être transféré par
5
TRABELSI Hichem
Université Virtuelle de Tunis
CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-II : Registres à décalage
l’intermédiaire du bus grâce à l’application appropriée des niveaux logiques sur les entrées de
validation E des registres.
Le circuit intégré 74295 est un exemple de registre à 3 états.
QN-1 ……. Q1 Q0
EN
……. QN-1 ……. Q1
E2
QN-1 ……. Q1 Q0
Q0
E1
BUS
Connexion de registres à 3 états à un bus de données
Illustrations
Nous avons vu précédemment que qu’il existe 4 types de registres à décalage :
•
•
•
•
•
Registre à décalage à entrée série (ou chargement série) sortie série (ou lecture série).
Pour illustrer son fonctionnement lancer l’applet
Registre à décalage à entrée série sortie parallèle.
Pour illustrer son fonctionnement lancer l’applet
Registre à décalage à entrée parallèle sortie série.
Pour illustrer son fonctionnement lancer l’applet
Registre à décalage à entrée parallèle sortie parallèle.
Pour illustrer son fonctionnement lancer l’applet
Registre à décalage universel.
Pour illustrer son fonctionnement lancer l’applet
Applications des registres à décalage
La conversion série parallèle et parallèle série de l’information numérique constitue une
application fréquente d’un registre à décalage.
Conversion série parallèle d’une information
Une information binaire à N bits chargée en série dans un registre à décalage, peut être
récupérée en parallèle après l’entrée du dernier bit (Nème bit). Au total, N impulsions d’horloge
sont nécessaires afin que cette information soit présente en sortie. On peut effectuer donc à
l’aide d’un registre à décalage, la conversion de données transmises en série sur une seule ligne,
en données parallèles sur plusieurs lignes. Le nombre de lignes parallèles nécessaires
correspond au nombre de bits à transmettre (N).
6
TRABELSI Hichem
Université Virtuelle de Tunis
CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-II : Registres à décalage
Entrée
Série
REGISTRE
A
DECALAGE
Q0
Q1
Q2
Qn-1
Conversion série parallèle
Conversion parallèle série d’une information
Si l’information est disponible à l’origine sous forme parallèle, elle peut être convertie en série
pour se propager bit après bit à la sortie d’un registre à décalage, au rythme du signal d’horloge.
Ce type de conversion est utilisé dans le cas de la transmission à longue distance pour
économiser le nombre de fils de transmission, donc du coût. La figure 6.15 résume les deux
types de conversions.
D0
D1
D2
DN-1
REGISTRE
DECALAGE
Sortie
série
LOAD
CLK
Conversion parallèle série
Ligne à retard
Un registre à chargement série et à lecture série peut jouer le rôle d’une ligne à retard
numérique. En effet, l’information présente à l’entrée du registre à décalage à N bascules ne
peut se récupérer à la sortie série qu’après N impulsions d’horloge, réalisant ainsi un retard de
durée N.T, avec T période du signal d’horloge.
Calcul arithmétique
Le registre à décalage peut être utilisé pour effectuer certaines opérations arithmétiques sur des
données numériques, opérations pouvant nécessiter ou non l’introduction de circuits
combinatoires supplémentaires reliés au registre. A titre d’exemple : pour effectuer l’opération
de multiplication binaire, on a besoin d’un registre à décalage gauche (voir chapitre 8).
7
TRABELSI Hichem
Téléchargement