Chap-II: Regstres à décalage CIRCUITS LOGIQUES SEQUENTIELS Regstres à décalage Attenton! Ce produt pédagogque numérsé est la proprété exclusve de l'uvt. Il est strctement nterdt de la reprodure à des fns commercales. Seul le téléchargement ou mpresson pour un usage personnel (1 cope par utlsateur) est perms. 1
REGISTRES À DÉCALAGE Introducton Un regstre à décalage est un crcut séquentel consttué d un ensemble de N bascules, commandées par le même sgnal d horloge, afn de stocker et de déplacer les données à N bts qu l reçot à ses entrées. La capacté d un regstre à stocker les données rend ce composant comme un élément de mémorsaton mportant. La proprété de décalage d un regstre permet le déplacement des données de l entrée vers la sorte du regstre de dfférentes manères. La fgure c-dessous llustre les dfférents déplacements des données dans un regstre à décalage. Sorte Sorte sére / sorte sére parallèle / sorte sére Sorte sére / sorte parallèle Sorte parallèle / sorte parallèle Déplacements des données dans les regstres à décalage Structure d un regstre à décalage La structure du regstre à décalage va dépendre de la façon dont on ntrodut les bts d nformaton, c est à dre du chargement du regstre. Ce chargement peut être sous forme sére, c est à dre les bts sont ntroduts les uns après les autres ou sous forme parallèle, c est à dre smultanément. Regstre à décalage à chargement sére Les bts d nformaton sont présentés bt après bt à l entrée de la premère bascule et se propagent à travers le regstre à chaque mpulson d horloge, pour sortr par la dernère bascule, c est donc une sorte sére. 2
L applet représente un regstre à décalage à 5 bts vers la drote (Shft Rght) à chargement sére. A chaque front montant de l mpulson d horloge, les sortes des bascules prennent la valeur de sorte qu avat la bascule mmédatement à gauche avant l applcaton du front d horloge. L applet montre sur un chronogramme, comment l applcaton d une successon d mpulson d horloge déplace les données d entrée de gauche à drote d une bascule à une autre. Un décalage à gauche peut être obtenu en changeant la connexon des sortes des bascules comme le montre l applet. Dans certanes applcatons, l peut arrver que l on at beson de décaler les données sot vers la gauche sot vers la drote, donc d un décalage bdrectonnel. Pour réalser cette foncton, l faut transmettre à chaque entrée de bascule sot la sorte de la bascule stuée à gauche (Q -1 ) dans le cas d un décalage à drote, sot la sorte stuée à drote (Q +1 ) dans le cas d un décalage à gauche. Pour cela, l faut dsposer d un multplexeur 2 vers 1 commandé par un sgnal de commande noté SENS comme le montre l applet. La récupératon des données peut se fare d une façon parallèle, l sufft pour cela que les sortes des dfférentes bascules du regstre soent accessbles. La lecture du contenu du regstre se fat d une façon smultanée après que le regstre sot rempl. REMARQUE: Il est ndspensable que les bascules du regstre aent un temps de manten t H excessvement fable, au mons nféreur au retard de propagaton t pd. Heureusement les bascules modernes déclenchées par un sgnal d'horloge respectent cette exgence. Regstre à 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 utlsées pour écrre dans les bascules du regstre. La fgure c-dessous montre le prncpe de chargement parallèle asynchrone. Le crcut addtf de portes NAND est nécessare pour charger les données d une façon asynchrone à travers les entrées de forçage RAZ et RAU. LD (Load) e -1 e D -1 Q RAU -1 D RAU Q CLK RAZ RAZ Chargement parallèle asynchrone 3
A l entrée RAU de la bascule (), on a : RAU = LD.e A l entrée RAZ, on a : RAZ = LD.e. LD - S LD = 0 on a alors : RAU = RAZ = 1. Les entrées de forçage sont nactves. - S LD = 1, On a alors : RAU = e RAZ = e S e = 0, c est l entrée RAZ qu est actvée (chargement de 0). S e =1, c est l entrée RAU qu est actvée (chargement de 1). L applet représente un regstre à décalage à 5 bts vers la drote (Shft Rght) à chargement parallèle asynchrone. Parm les dfférents regstres à décalage à chargement parallèle asynchrone dsponbles en crcuts ntégrés, on peut cter le 74165. Chargement parallèle synchrone Pour que le chargement parallèle des données e sot synchrone avec le sgnal d horloge, l faut applquer ces données aux entrées synchrones D. En foncton de l ordre de chargement parallèle LD (load), chaque bascule recope l entrée e ou ben la sorte de la bascule -1, à chaque front d horloge. l faut donc utlser un multplexeur 2 vers 1 à l entrée D de chaque bascule, comme le montre le montage de la fgure c-dessous. e -1 e LD (Load) I 0 S Z I 1 MUX I 0 S Z I 1 MUX D -1 Q -1 D Q CLK Chargement parallèle synchrone 4
L équaton logque de l entrée D : D = Q 1.LD e.ld (équaton de sorte d un multplexeur à deux entrées). + - S LD = 0, alors D = Q -1 : c est l opératon de décalage. - S LD = 1, alors D = e : c est l opératon du chargement. L applet représente un regstre à décalage à 5 bts vers la drote (Shft Rght) à chargement parallèle synchrone. Parm les regstres à décalage à chargement parallèle synchrone, on peut cter le 74178. Regstre à décalage unversel Un regstre dt unversel est un regstre qu effectue le décalage à drote ou à gauche et un chargement sére ou parallèle. Ce type de regstre dspose d entrées de mode de fonctonnement qu défnssent le sens de décalage et le type de chargement. La fgure c-dessous représente les dfférentes entrées et sortes d un regstre unversel procurant tous les modes de fonctonnement. s parallèles sére drote Chargement (Load) Sens de décalage REGISTRE A DECALAGE UNIVERSEL sére gauche Horloge Sorte sére Sorte sére décalage décalage à gauche à drote Sortes parallèles Schéma bloc d un regstre à décalage unversel Le crcut ntégré 74194 est un exemple de regstre unversel. Regstre à décalage à sortes 3 états Dans dfférentes applcatons et en partculer dans les systèmes contrôlés par mcroprocesseur, les dfférents blocs fonctonnels sont relés les uns aux autres au moyen d un ou pluseurs bus de données. Pour l nstant, nous allons llustrer le concept de bus dans le cas de transfert de données d un regstre à décalage à autre. Un regstre à décalage à 3 états est un crcut qu possède des sortes relées au bus par l ntermédare de crcuts de types 3 états, commandés par un sgnal de valdaton E. Ces regstres peuvent être connectés en parallèle sur le bus, comme le montre la fgure c-dessous. Etant donné que les sortes de tous ces regstres sont connectées au même bus, l est ndspensable que seulement un des regstres à la fos at ses sortes valdées et que les sortes des autres soent déconnectées, c est à dre en état haut mpédance. S l en est autrement, l y aura un conflt d utlsaton du bus. Le contenu de l un des regstres peut être transféré par 5
l ntermédare du bus grâce à l applcaton approprée des nveaux logques sur les entrées de valdaton E des regstres. Le crcut ntégré 74295 est un exemple de regstre à 3 états.. Q N-1. Q 1 Q 0 Q 1 Q 0 Q N-1. Q N-1. Q 1 Q 0 E N E 2 E 1 BUS Connexon de regstres à 3 états à un bus de données Illustratons Nous avons vu précédemment que qu l exste 4 types de regstres à décalage : Regstre à décalage à entrée sére (ou chargement sére) sorte sére (ou lecture sére). Pour llustrer son fonctonnement lancer l applet Regstre à décalage à entrée sére sorte parallèle. Pour llustrer son fonctonnement lancer l applet Regstre à décalage à entrée parallèle sorte sére. Pour llustrer son fonctonnement lancer l applet Regstre à décalage à entrée parallèle sorte parallèle. Pour llustrer son fonctonnement lancer l applet Regstre à décalage unversel. Pour llustrer son fonctonnement lancer l applet Applcatons des regstres à décalage La converson sére parallèle et parallèle sére de l nformaton numérque consttue une applcaton fréquente d un regstre à décalage. Converson sére parallèle d une nformaton Une nformaton bnare à N bts chargée en sére dans un regstre à décalage, peut être récupérée en parallèle après l entrée du derner bt (N ème bt). Au total, N mpulsons d horloge sont nécessares afn que cette nformaton sot présente en sorte. On peut effectuer donc à l ade d un regstre à décalage, la converson de données transmses en sére sur une seule lgne, en données parallèles sur pluseurs lgnes. Le nombre de lgnes parallèles nécessares correspond au nombre de bts à transmettre (N). 6
Q 0 Q 1 REGISTRE Q 2 Sére A DECALAGE Q n-1 Converson sére parallèle Converson parallèle sére d une nformaton S l nformaton est dsponble à l orgne sous forme parallèle, elle peut être converte en sére pour se propager bt après bt à la sorte d un regstre à décalage, au rythme du sgnal d horloge. Ce type de converson est utlsé dans le cas de la transmsson à longue dstance pour économser le nombre de fls de transmsson, donc du coût. La fgure 6.15 résume les deux types de conversons. D 0 D 1 D 2 D N-1 LOAD CLK REGISTRE DECALAGE Sorte sére Lgne à retard Converson parallèle sére Un regstre à chargement sére et à lecture sére peut jouer le rôle d une lgne à retard numérque. En effet, l nformaton présente à l entrée du regstre à décalage à N bascules ne peut se récupérer à la sorte sére qu après N mpulsons d horloge, réalsant ans un retard de durée N.T, avec T pérode du sgnal d horloge. Calcul arthmétque Le regstre à décalage peut être utlsé pour effectuer certanes opératons arthmétques sur des données numérques, opératons pouvant nécesster ou non l ntroducton de crcuts combnatores supplémentares relés au regstre. A ttre d exemple : pour effectuer l opératon de multplcaton bnare, on a beson d un regstre à décalage gauche (vor chaptre 8). 7