Vous êtes sur la page 1sur 10

1

VIII- Circuits squentiels. Mmoires


Maintenant le temps va intervenir. Nous avions dj indiqu que la traverse dune porte ne se faisait pas instantanment et quil fallait en tenir compte, notamment lors de la propagation de la retenue dans une addition. Dautre part, un certain timing dans la succession des vnements est indispensable, pour synchroniser les oprations et viter la machine de semmler les pinceaux. Cest l quintervient lhorloge interne, qui dlivre une alternance rgulire de signaux 0 et 1, haut et bas, grce un oscillateur quartz. En combinant lhorloge et le retard lors de la traverse dune porte, on obtient de nouveaux circuits logiques, comme le dtecteur de front montant, ou la division du cycle dhorloge en sous-cycles. Dtecteur de front montant Faisons passer le signal dhorloge C dans un fil, avec une drivation sur un deuxime fil qui fait traverser au signal une porte NON. Cela introduit un lger dcalage entre les deux signaux C et C obtenus. La mise en place dune porte ET donne la sortie S une succession de brves impulsions qui se produisent lorsque le signal dentre passe de 0 1. Le circuit dtecte cette transition qui correspond au front montant du signal dhorloge. Un tel procd est notamment utilis dans le conception des mmoires, comme nous le verrons dans la suite.

En introduisant une nouvelle drivation dans ce signal impulsions, avec un temps de retard plus important, on peut obtenir deux signaux dcals dun demi-cycle dhorloge lun par rapport lautre. Cela permet de grer certains vnements deux fois plus rapidement, par rapport au cycle dhorloge initial.

Les circuits squentiels que nous allons voir maintenant intgrent les notions de temps et de mmorisation. Ils permettent dobtenir une sortie qui est fonction des entres, mais aussi de ce qui sest pass antrieurement. Tout se passe comme si le circuit gardait une mmoire du pass. Cest par exemple le cas dun bouton poussoir qui allume une lampe lorsque lon appuie dessus, puis qui lteint quand on appuie encore, puis qui la rallume quand on r-appuie, Sans mmorisation, cela ne serait pas possible. Les circuits logiques mmoire que nous allons voir sont de deux sortes. Il sagit soit de verrous (latch en anglais) permettant une forme rudimentaire de mmorisation, soit de bascules au nom vocateur de flip flops en anglais, qui sont plus pratiques pour de nombreuses applications, notamment la conception de mmoires dans lordinateur. Si la notion de temps est fondamentale dans les circuits squentiels, lhorloge interne de lordinateur nest pas pour autant concerne dans les cas les plus simples, notamment celui du verrou SR, que nous allons commencer par tudier.

1) Le verrou SR
Cette porte logique comporte deux entres S pour Set et R pour Reset, ainsi que deux sorties dont on va voir que lune est la ngation de lautre, soit Q et Q . Dans ces conditions seule la sortie
Q nous intresse. Dautre part on considre comme impossible de faire set et reset en mme temps, davoir la fois S = R = 1. Le verrou SR comporte deux portes NON OU, et deux boucles de rtroaction qui font intervenir le temps. Un changement lentre fait passer de la valeur Q qui existait jusque l une nouvelle valeur de Q, que nous noterons Q*.

Que va-t-il se passer ? Imaginons que le Reset ait lieu, savoir R = 1 et S = 0. Le forage de R 1 provoque une valeur Q en sortie gale 0, cause de la deuxime porte NON OU o se trouve R. A son tour la premire porte impose que Q = 1. Le fait de se mettre ensuite R = 0 et S = 0 maintient la situation prcdente, aucune contradiction ne se produisant. Il en est de mme pour le
Set, avec S = 1 et R = 0. La sortie Q doit passer 1 et Q 0. Le fait de remettre les pendules 0

maintient la situation avec Q = 1 et Q = 0. On en dduit le comportement du verrou SR : S 0 0 1 1 R 0 1 0 1 comportement pas de changement Q* = 0 Q* =1 tat interdit

Rsumons ce qui se produit. Le Reset provoque le maintien de Q 0 ou son passage 0. Le Set provoque le maintien de Q 1 ou son passage 1. Et dans le cas S = R = 0, il y a conservation de la valeur de Q, ce qui constitue une mmorisation (ou un verrouillage) qui peut durer aussi longtemps quon le dsire, notamment si la sortie Q est 1, elle va le rester mme si S passe 1. Elle ne passera 0 que si lon fait R = 1 (avec S = 0). Exercice 1: Construire la table de vrit du verrou SR avec en entres S, R et lancienne valeur de Q, et en sortie la nouvelle valeur de Q, soit Q . Construire le tableau de Karnaugh et en dduire lquation du verrou SR.

3 Table de vrit Q S R Q* 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 x 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 x Tableau de Karnaugh


SR 00 01 11 10 Q 0 1 0 1 0 0 x x 1 1

On en dduit lquation : Q* = S R + Q R ou mme Q* = S + Q R si lon considre que dans les


cases x on peut mettre ce que lon veut.

Exercice 2 : Construire le verrou SR en utilisant R , S et des portes NON ET

2) Le verrou SRH
Maintenant ajoutons un signal dhorloge C (clock) en entre, avec sa succession rgulire dtats 0 et 1. On fait en sorte que pour C = 1, le verrou SRH se comporte comme le verrou SR classique, et que lorsque C passe 0, il se met en position mmoire, cest--dire que Q reste dans ltat o il se trouvait avant le passage de C 0.

soit :

3) Le verrou D
Cest un driv du cas prcdent, avec une seule entre D au lieu de S et R, telle que D = S et

D = R. On en dduit la table de vrit et le schma lectronique :

4 C 0 0 1 1 D 0 1 0 1 Q* Q Q 0 1

Il y a donc deux cas : Lorsque C = 1, la sortie Q reproduit lentre D, on dit que le circuit est transparent. Lorsque C passe 0, Q conserve la valeur quelle avait avant, les variations possibles de D nont plus aucun effet, , on dit que le circuit est verrouill. Ces deux comportements peuvent tre schmatiss par la prsence dun interrupteur ferm ou ouvert :

Remarquons que le cas interdit S = R = 1 du verrou SR ne se produit plus dans le verrou D. Voici un exemple dvolution dans le temps, o lon suppose que Q est 0 au dpart :

4) La bascule D, ou flip flop D


Prenons maintenant deux verrous D en succession, le premier tant appel matre et le second esclave . Comme lentre du deuxime recopie la sortie du premier, lesclave est effectivement asservi au matre. Dautre part lhorloge lhorloge C synchronise les deux verrous mais cela est effectu en opposition, par le biais dun inverseur. Le signal dhorloge arrivant sur le premier verrou est C , tandis que celui sur le deuxime est C.

Reprenons la reprsentation du verrou D par un interrupteur ferm ou ouvert. ouvert La bascule comporte deux interrupteurs en srie, et cause des de deux temps C et C inverss, un des interrupteurs est ouvert et lautre ferm, quoi quil il arrive, et rien ne passe dune extrmit lautre de la bascule. Lentre D na donc d jamais aucune influence sur la sortie Q. Cest du moins ce qui se passerait idalement, et la bascule D naurait aucun intrt. Heureusement il nen est pas ainsi. En fait lhorloge nmet pas des impulsions parfaites. Son passage du niveau bas 0 au niveau ni haut 1, ou inversement, nest pas instantan, il demande un court intervalle de temps, temps, lors de la monte ou de la descente. . Cest l que tout va se jouer pour la bascule D. On va considrer que linverseur qui cre C bascule de 1 0 lgrement avant les portes logiques du verrou D soumis C, puisque lesclave doit attendre le matre, et lgrement aprs lorsquil bascule de 0 1. Les signaux logiques C et C ragissent de la faon suivante par rapport au signal rel de lhorloge :

On pourra constater que pendant des laps de temps trs courts, C et C , normalement opposs, vont tre gaux. Il sensuit les phnomnes suivants, suivant les intervalles de temps successifs : Avant le temps t1, le matre est transparent et lesclave est verrouill, la sortie Q du matre a la valeur de lentre D, mais la sortie finale Q conserve son tat :

Au temps t1, et de mme jusquau temps t2 , le premier verrou se verrouille son tour, Q garde la valeur quil avait, celle de lancien D, et la sortie Q reste inchange:

Au temps t2, et jusquau temps t3, cest l que tout va se passer ! La sortie Q de la premire porte ne change pas, elle garde la valeur quavait lentre D linstant t1, mais maintenant elle traverse la deuxime porte, et la sortie Q prend ds linstant t3 cette valeur de D t1 :

Au temps t3, et pendant le court instant allant jusqu t4, les deux signaux dhorloge sont 0, et rien ne change.

A linstant t4 et jusqu la fin du cycle, la fermeture de la premire porte fait passer D dans Q mais la sortie finale Q ne change pas. La boucle est boucle, et un nouveau cycle peut commencer.

Finalement, la valeur de lentre D nest prise en compte que lors du front montant de lhorloge, et elle est transfre dans la sortie Q. Le basculement nest possible qu ce moment-l. moment Entre deux fronts montants de lhorloge, la sortie Q ne change pas. Voici un exemple dvolution dans le temps, temps donnant Q partir de D :

Les bascules D qui commutent sur le front montant du signal s gnal dhorloge sont dites positive edge triggered, il en existe iste dautres qui ragissent sur le front descendant.

5) Quelques applications des bascules D


5-1) Conception dun diviseur de frquence par deux
Prenons une bascule D et envoyons sa sortie Q sur lentre D. Que va-t-il il se passer ? Supposons qu linstant initial Q soit 0 (et D = Q 1). Lors du premier front montant de lhorloge C, Q prend la valeur quavait D, soit 1, et D = Q passe 0. Il en est de mme jusquau usquau front montant suivant, o Q prend la valeur 0 quavait D, et Q passe 0. Et ainsi de suite de faon cyclique. La sotie Q est priodique, avec une priode qui est le double de celle de lhorloge C (ou encore sa frquence est la moiti de celle de C).

5-2) Compteur
Mettons maintenant deux bascules D diviseurs de frquence en succession, o lentre dhorloge de la deuxime est la sortie Q1 de la premire. La sortie Q1 de la premire bascule a une frquence moiti de celle de lentre D. A son tour, lentre Q1 joue le rle dhorloge pour la deuxime bascule et elle agit par son front montant, et divisant encore la frquence par deux sur la sortie Q2 de la deuxime bascule.

Finalement les deux sorties Q2 Q1 prennent les valeurs 00, 01, 10, 11, et cela de faon rpte. Le circuit se comporte comme un compteur modulo 4. Cela se gnralise. En plaant n bascules D en cascade, on obtient un compteur modulo 2n. Un tel circuit est asynchrone, car sil est synchronis sur les impulsions de lhorloge pour la premire bascule D, il ne lest plus dans les suivantes, et de lgers dcalages en cascade peuvent finir par perturber le comptage. Exercice : Construire un dcompteur modulo 8. Par dcompteur, on entend un circuit qui donne une succession dcroissante de nombres, soit 111, 110, 101, 100, 011, 010, 001, 000, priodiquement rpte.

5-3) Registre dcalage


Plaons plusieurs bascules D o chaque sortie est relie lentre de la suivante, avec le mme signal dhorloge appliqu toutes les bascules. On a alors un circuit synchrone. Supposons que la premire entre D et toutes les suivantes sont 0. Puis faisons passer cette entre D de la premire bascule de 0 1 un certain instant, celle-ci restant ensuite 1 dfinitivement. Ds le premier front montant de lhorloge C, la sortie Q1 de la premire bascule passe 1 et reste 1 dfinitivement. Comme la sortie Q1 devient lentre de la deuxime bascule, la sortie Q2 de cette bascule passe 1 dfinitivement ds le second front montant de lhorloge. A son tour la sortie Q3 de la troisime bascule passe 1 dfinitivement ds le troisime front dhorloge. Et ainsi de suite pour chaque bascule suivante, ce qui provoque finalement un retard pour la dernire sortie, par rapport lentre

8 D initiale. Ce phnomne de temporisation est dautant plus long quil y a plus de bascules en succession.

Exercice : Prendre comme prcdemment trois bascules D en succession, et soumettons lentre D un signal priodique, avec une priode double de celle de lhorloge C. Les trois sorties des bascules sont aussi relies des lampes L1, L2, L3 qui sallument si la sortie vaut 1 et steignent 0. Que va-t-il se produire ? Aprs le premier passage 1 de lentre D, la sortie Q1 passe 1 ds le premier front montant dhorloge, linstant t1, puis repasse 0 au troisime front t3. A son tour, la sortie Q2 de la deuxime bascule passe 1 au deuxime front montant, linstant t2, et retombe 0 au quatrime t4. Enfin la sortie Q3 passe 1 linstant t3, tout cela se rptant ensuite de faon cyclique. Ainsi, linstant t1, la lampe L1 sallume, linstant t2, la lampe L2 sallume, linstant t3, la lampe L3 sallume et L1 steint, linstant t4, L2 steint, linstant t5 L1 sallume et L3 steint, puis cela recommence.

5-4) Mmoire
Les bascules flip flops D, ainsi que dautres types de flip flops que nous ne verrons pas ici, sont la base de la constitution de certaines mmoires de lordinateur. Un premier modle consiste prendre plusieurs bascules ragissant au front montant dun mme signal dhorloge. Un tel modle est synchrone. A chaque bascule est ajoute une entre CLR (clear). Mis 0, ce signal CLR force la sortie Q de la bascule 0. Un tel signal est notamment important lorsquil sagit de choisir les conditions initiales de la sortie Q. Dans le cas prsent, un seul signal CLR agit sur toutes les

9 bascules simultanment. On donne ci-dessous un schma de circuit huit bascules D, chacune ayant sa propre entre D et sa propre sortie Q. Avec en plus lhorloge, le signal de commande CLR et lalimentation (borne Vcc et 0), ce circuit de huit bits mmoires ncessite 20 broches.

Il existe dautres modles de mmoires, de type rectangulaire ou lieu dtre linaire comme le prcdent, et par suite bien plus conomes en nombre de broches. Maintenant la mmoire va tre forme de mots mmoire de plusieurs bits chacun, ces mots ayant chacun une adresse. Nous avons dessin ci-dessous un modle trs simplifi, organis suivant un tableau rectangulaire de 3 lignes sur 2 colonnes, avec trois mots de deux bits chacun. Chaque lment lmentaire de mmoire de 1 bit est constitue par une bascule D. Prcisons que les entres C (dhorloge) de chaque bascule ne sont pas relies une horloge, le circuit tant dans le cas prsent asynchrone. Les deux donnes arrivent par les entres I0 et I1. Ladresse du mot mmoire concern passe par les entres A0 et A1 (ce qui permet dobtenir quatre adresses, mais pour simplifier nous navons pris que trois mots). A cela sajoutent deux autres entres : CS charge de slectionner ce circuit mmoire (car il peut en exister un grand nombre relis les uns aux autres), et RW qui vaut 1 en cas de lecture et 0 en cas dcriture dans la mmoire.1 Prenons le cas o CS RW = 1 : notre circuit a t slectionn et on est en phase dcriture. La
donne arrive par les fils A0 et A1. Son adresse est indique dans I0 et I1, et un dcodeur se charge de mettre 1 la ligne du mot ayant comme numro en binaire I1 I0 (sur le dessin cest le mot numro 2), toutes les autres lignes tant 0. Une porte ET ayant en entre la ligne de slection concerne et lordre dcriture fait sortir un 1 qui entre dans lentre dhorloge des deux bascules concernes. La donne est ainsi mmorise dans le mot dadresse 2. Les autres mots ont au contraire leur entre dhorloge mise 0 et rien ne se passe, puis une nouvelle porte ET relie au fil de slection force un 0 en sortie. Cette partie finale du circuit na dailleurs pas dimportance dans cette phase dcriture, puisque la donne est bel et bien enregistre dans son mot mmoire. Il suffit juste de placer ce que lon appelle un buffer juste avant chacune des sorties S0 et S1. Ces buffers reoivent comme signal de commande CS . RW, soit 0 dans le cas prsent, ce qui signifie que chaque buffer agit comme un interrupteur ouvert, dconnectant les lignes de sortie de lextrieur. Les donnes crites en mmoire se font en zone protge, sans rien envoyer lextrieur (ni un 0 ni un 1).

En prenant un modle un peu plus raliste, avec quatre mots de trois bits chacun, on utilise 3 fils dentre pour les donnes, deux fils dadresse, trois fils dentre de commande (CS, RW et OE (output enable) pour activer les sorties), plus trois fils de sortie, et deux fils pour lalimentation, il suffit davoir un botier de 14 broches. Rappelons quavec le modle prsent prcdemment, avec ses huit bascules constituant chacune un mot mmoire dun bit, il fallait vingt broches.

10 Prenons maintenant le cas dune lecture, avec CS RW = 0 . Les fils dcriture sont tous 0, et le
passage travers les portes ET donne un 0 qui arrive sur toutes les entres C des bascules. Aucun bascule nest altre pendant lopration de lecture. Par contre cest la sortie Q des bascules que tout se passe. Le mot mmoire concern a t slectionn par le dcodeur dadresse. Le fil de slection correspondant est 1, ceux des autres mots restant 0. Les deux portes ET du mot concern font passer leurs bits au travers, puisque le fil de slection est 1, la diffrence des autres mots, o les portes ET lchent un 0. Les portes OU qui suivent laissent passer les bits du mot en cours de lecture, et ceux-ci arrivent dans les sorties S0 et S1, les buffers laissant passer le mot puisque dans le cas prsent les signaux de commande des buffers sont 1 (CS . RW = 1).

Rfrence bibliographique : Daniel Robert, Electronique et informatique, sur Internet.