elecnum
IV. Circuits logiques séquentiels

Page d'accueil

Plan :

I. Les composants à semi-conducteurs

1. La diode

2. Le transistor bipolaire

3. Le transistor JFET

4. Le transistor MOS


II. Les différentes familles technologiques de circuits logiques

1. L'algèbre de Boole

2. Circuits logiques
à éléments discrets


3. Circuits intégrés logiques DTL

4. Circuits intégrés logiques TTL

5. Circuits intégrés logiques C-MOS


III. Circuits logiques combinatoires

1. Circuits multiplexeurs

2. Circuits démultiplexeurs et décodeurs

3. Circuits encodeurs

4. Circuits comparateurs et détecteurs d'égalité


IV. Circuits logiques séquentiels

1. Bascule RS

2. Bascule D

3. Bascule D à déclenchement par front

4. Bascule JK et JK à déclenchement par front

    Un système logique est dit "séquentiel" lorsque une ou plusieurs sorties sont reliées à une ou plusieurs entrées. Le système est ainsi bouclé. Ainsi, à un instant t, une sortie dépend de l'état des entrées, mais aussi de son propre état à l'instant t-1.

Page d'accueil


1. Bascule RS
2. Bascule D
3. Bascule D à déclenchement par front
4. Bascule JK et JK à déclenchement par front






1. Bascule RS

   1. Bascule RS élémentaire
   
    Réalisation :

RS_elementaire


    Table de vérité :

R S Qn+1
0 0 Qn (mémoire)
0 1 1
1 0 0
1 1 Etat interdit !


    Explications :

    Commençons par analyser les états où R et S sont différents :

    - si R = 0 et S = 1 : S = 1 => A = 0 => Q = 1 quelque soit B. Or Q = C = 1, de plus comme R = 0 => D = 1 => /Q = /(1.1)  = 0.
    - si R = 1 et S = 0 : R = 1 => D = 0 => /Q = 1 quelque soit C. Or /Q = B = 1, de plus comme S = 0 => A = 1 => Q = 0.

    Analysons maintenant les états où R et S sont identiques :

     - si R = S = 0 : on a donc A = D = 1, on ne peut donc pas se prononcer sur l'état des NAND. En fait à un instant "n+1", l'état des NAND va dépendre de l'état de Q et de /Q à l'instant précedent "n" (c'est le principe de la logique séquentielle !).
    Ainsi :
        - si Q = 1 ( => /Q = 0 ) alors B = 0 => Q = 1 et C = 1 => /Q = 0.
        - si Q = 0 ( => /Q = 1 ) alors C = 0 => /Q = 1 et B = 1 => Q = 0.
        On remarque donc que lorsque R = S = 0, l'état des sorties est inchangé : si R = S = 0 à un instant "n+1" alors les sorties Q et /Q garderont l'état qu'elles avaient à l'instant "n" précédent => Qn+1 = Qn (et /Qn+1 = /Q évidemment). On dit que la bascule RS est en état "mémoire".

    - si R = S = 1 : on a donc A = D = 0 => Q = /Q = 1. Ainsi quand on va vouloir passer de l'état R = S = 1 => Q = /Q = 1 à l'état R = S = 0       => Qn+1 = Qn alors les sorties devraient rester inchangées ( = 1).
    Mais dans la pratique il faut considérer les temps de commutation des opérateurs logiques. En effet, même s'ils proviennent d'un même fabriquant, leurs temps de commutation seront toujours légèrement différents. Ainsi lorsqu'on va passer de l'état R = S = 1 à R = S = 0, une des entrées A ou B va passer à 1 avant l'autre, ce qui va faire passer soit Q, soit /Q à 0. Mais on ne peut pas savoir qui de A ou de B sera à 1 avant l'autre, donc on ne peut pas déterminer précisement l'état de la sortie... On dit qu'il y a une indétermination sur la sortie. On préfère donc interdire la combinaison    R = S =1 !

    2. Bascule RS synchronisée

    Le fonctionnement est le même que celui d'une bascule RS élémentaire. Seulement les changements d'état vont être synchronisés par une horloge "clk" (clock = horloge en anglais).

    Réalisation :
RS_synchronisee

    À noter : /Preset et /Clear sont des commandes prioritaires. Elles sont indépendantes de l'horloge "clk" : lorsque /Preset = 0, alors Q = 1 (instantanément) et lorsque /Clear = 0, alors Q = 0 (instantanément).

    Bien entendu pour représenter une bascule RS dans un schéma électrique, on ne va pas redessiner le montage avec les 4 bascules NAND. Il existe un symbole :

symbole_RS

    À noter : les "petits cercles" représentés sur les commandes /Preset et /Clear signifient que ces commandes sont actives au niveau bas (0).

    Fonctionnement :

    Pour expliquer le fonctionnement de la bascule RS synchronisée, on peut tracer des chronogrammes : c'est à dire l'état des sorties en fonctions de l'état des entrées dans le temps :

RS_chronogrammes

retour plan



2. Bascule D

    Nous allons voir que cette bascule peut être utilisée de 2 façons : en bascule "délai" ou "verrou" (appelée aussi "latch").

    Réalisation :

    Il y a 2 manières de réaliser une bascule D. Elles sont complètement équivalentes :

realisation_D

    Symbole :

symbole_D

    Fonctionnement :
   
    Quand l'horloge "clk" va passer de 0 à 1, alors la sortie Q va prendre l'état de l'entrée D. On a donc cette table de vérité :

D Qn+1
0 0
1 1


    Il y a 2 types de fonctionnement : en "délai" ou en "verrou" ("latch") :

    1. Délai

    Ce mode de fonctionnement permet de retarder l'évolution d'un signal : le signal de sortie Q prendra l'état du signal d'entrée D au bout d'un certain temps "délai" donné par l'horloge "clk". Chronogramme :

delai

    2. Verrou ( ou "Latch")

    En mode "verrou", la sortie Q peut soit suivre l'évolution de l'entrée D, soit rester dans un état de mémoire, selon que "clk" soit à 1 ou à 0. Chronogramme :

verrou

    Remarque : Finalement, on constate que les 2 modes de fonctionnement diffèrent simplement par le signal d'horloge. En "délai" l'horloge n'a pas besoin d'un grand rapport cyclique, tandis qu'en "verrou" il faudra adapter ce rapport cylclique selon la durée des états suiveur et mémoire désirés.
retour plan



3. Bascule D à déclenchement par front

    Le fonctionnement est le même que celui d'une bascule D "simple", sauf que l'information sur l'entrée D ne sera prise en compte que sur le front montant (passage de 0 à 1) de "clk" ou sur le front descendant (1 à 0). Contrairement au cas précédent où le changement se faisait sur un état logique de "clk" (0 ou 1 : 1 dans l'exemple).

    Réalisation :

    Prenons l'exemple d'une bascule D à déclenchement par front montant :

realisation_D_front

    Symbole :

symbole_D_front

    Ce qui change par rapport au symbole d'une bascule D "simple", c'est le triangle sur l'horloge "clk". Il indique que l'entrée D est prise en compte sur le front montant de l'horloge.

    À noter : pour une bascule D à déclenchement par front descendant, le symbole est  :

symbole_D_front_descendant

    On met un cercle devant le triangle de l'horloge "clk" : cela signifie qu'il faut considérer le front descendant de l'horloge.

    Fonctionnement :

    La table de vérité reste la même, mais l'état de D n'est pris en compte que sur un front de l'horloge (le front montant dans notre exemple). Ainsi on peut tracer le chronogramme suivant :




4. Bascule JK et JK à déclenchement par front

    1. Bascule JK

    Pour décrire rapidement le fonctionnement d'une bascule JK, on peut dire que c'est une bascule RS améliorée. En effet, le principe est le même (avec J au lieu de S et K au lieu de R) mais il n'y a plus d'état indéterminé ! En effet lorsque J = K = 1, alors la sortie Qn+1 (Q à un instant n+1) prendra l'état inverse de Qn (Q à l'état antérieur n).

    Réalisation :

realisation_JK

    Symbole :

symbole_JK

    Fonctionnement :

    Dans l'exemple étudié, les changements d'état de la sortie Q se font lorsque l'horloge "clk" est à 0. On peut établir la table de vérité suivante :

J K Qn+1
0 0 Qn (mémoire)
0 1 0
1 0 1
1 1 /Qn ("Toggle")
   
    - si J = K = 0, alors Qn+1 = Qn. On dit que la bascule fonctionne en mode "mémoire".
    - si J = 0 et K = 1, alors Q = 0.
    - si J = 1 et K = 0, alors Q = 1.
    - si J = K = 1, alors Qn+1 = /Qn. L'état de Q s'inverse, on dit que la bascule fonctionne en mode "Toggle".

    Remarque : comme pour la bascule RS,  les commandes /Pre (Preset) et /Clr (Clear) sont prioritaires : quelque soit l'état des entrées, si /Pre = 0 alors Q = 1, et si /Clr = 0 alors  Q =0.

retour plan

    2. Bascule JK à declenchement par front

    Le fonctionnement est bien entendu le même. Seulement le changement de la sortie Q se fait sur un front montant (passage de 0 à 1) ou descendant (passage de 1 à 0) de l'horloge "clk", contrairement au fonctionnement précédent où le changement de la sortie se faisait sur un état logique de "clk" ( 0 ou 1 : 0 dans l'exemple). La réalisation est plus complexe.

    Réalisation :

realisation_JK_front

    Fonctionnement :

    Le fonctionnement est le même que précedemment. Sauf que les changements d'état de la sortie se font sur un front de "clk" : le front montant pour l'exemple choisi.

    Symbole :

symbole_JK_front

    Remarques :
        - le symbole est quas-identique à celui de la JK simple. On voit qu'il s'agit d'une bascule JK à déclenchement par front montant grâce au "petit triangle" situé sur l'entrée "clk".
        - dans notre exemple les commandes prioritaires "Pre" et "Clr" sont actives à l'état haut (1 logique) contrairement au cas précedent.
        - comme je l'ai déjà mentionné, il existe aussi des bascules JK à déclenchement par front descendant. Le symbole reste le même, sauf qu'il faut ajouter le "petit rond" sur l'entrée de "clk" :


   
En construction...