ChapII bascules et

  • View
    217

  • Download
    2

Embed Size (px)

Transcript

  • - II.1 -

    CHAPITRE II :

    CIRCUITS SEQUENTIELS ET SYNTHESE D'AUTOMATES

    INTRODUCTION

    Un circuit squentiel est un circuit dont la sortie dpend de la squence d'entres appliquesdepuis la mise en route du circuit : ce circuit mmorise une information. La valeur del'information mmorise forme l'tat du circuit ; le support de cette information est lesvariables d'tats. Ces variables tant binaires, un circuit squentiel n variables d'tat peutprendre 2n tats.

    Nous n'tudierons ici que les circuits squentiels synchrones : les changements de valeur dechacune des variables d'tat sont synchroniss par un signal ; quand ce signal n'est pas actif,l'tat ne peut pas tre modifi.

    Aprs avoir prsent l'lment de base des circuits squentiels : les bascules, et leur utilisationpour raliser des registres (1), le modle d'automate synchrone sera prsent (2), ainsi queles mthodes de synthse d'automates (3).

    1. CIRCUITS SEQUENTIELS DE BASE : BASCULES ET REGISTRES

    1.1. DEFINITION

    Une bascule est un circuit squentiel lmentaire, capable de mmoriser une variable d'tat et

  • - II.2 -

    donc qui peut prendre 2 tats (tat 0 et tat 1). Il existe diffrents types de bascules, quipeuvent tre classs par :

    - leurs entres de valeur,- l'interprtation de leur(s) entre(s) d'activation,- les entres d'initialisation dont elles disposent.

    1.2. BASCULE D

    Une bascule D (pour Delay) synchrone est un circuit 2 tats, qui a une entre de valeur D,une entre d'activation Act, et 2 sorties y (tat de la bascule) et .

    La figure II-1 dfinit les entres et sorties d'une bascule D, ainsi que son tableau defonctionnement.

    D

    Act

    y

    y

    a) schma symbolique d'une bascule D

    y t : valeur courante de l'tat y t+? t : valeur suivante de l'tat

    Act D yt+? t non * y t oui 0 0 oui 1 1

    b) fonctionnement

    Figure II-1 : bascule D

    Tant qu'il n'y a pas activation de la bascule (Act : non), la bascule garde son tat antrieur,quelle que soit la valeur de l'entre D. Quand la bascule est active (Act : oui), l'tat de labascule prend la valeur de l'entre D : une bascule D permet de mmoriser une valeur entredeux activations.

    La bascule D est la plus utilise, en particulier pour raliser des registres, mais il existe d'autresbascules avec des entres de valeurs diffrentes.

    1.3. BASCULES JK, RS, ...

    Les bascules JK, RS et T sont dfinies ci-dessous (figures II-2 II-4).

  • - II.3 -

    Act

    y

    y

    a) schma symbolique d'une bascule RS

    Act R S y t+? t non * * y t oui 0 0 y t oui 0 1 1 oui 1 0 0 oui 1 1 ???

    b) fonctionnement

    R S

    Figure II 2 : bascule RS

    Act

    y

    y

    a) schma symbolique d'une bascule JK

    Act J K y t+?t non * * y t oui 0 0 y t oui 0 1 0 oui 1 0 1 oui 1 1 y t

    b) fonctionnement

    J K

    Figure II-3 : bascule JK

    T

    Act

    y

    y

    a) schma symbolique d'une bascule T

    Act T y t+?t non * y t oui 0 yt oui 1 yt

    b) fonctionnement

    Figure II-4 : bascule T

    Une bascule D peut tre ralise partir d'une bascule RS (avec S = D et R complmentaire)ou d'une bascule JK (avec J = D et K complmentaire). Une bascule T peut tre ralise partir d'une bascule JK (avec J et K = T).

    1.4. FONCTIONS D'ACTIVATIONS DES BASCULES

    On distingue trois types de bascules d'aprs la fonction d'activation (l'interprtation de l'entreAct).

  • - II.4 -

    1.4.A. BASCULES DE TYPE VERROU (LATCH)

    Il s'agit de bascules sensibles la valeur de l'entre Act :

    - verrou sensible au niveau haut : la bascule est active ds que (et tant que) Act = 1,- verrou sensible au niveau bas : la bascule est active ds que (et tant que) Act = 0,ce qui veut dire que quand la bascule est active, son tat est gal la valeur de l'entre D : unverrou est "transparent" quand il est activ.

    Le fonctionnement temporel d'un verrou D sensible au niveau haut est indiqu l'aide d'unchronogramme donn dans la figure II-5 : la figure II-5 a) illustre le fonctionnement de typeverrou, tandis que la figure II-5 b) met en vidence les retards associs au fonctionnement (enfait, c'est plus complexe : les retards sont diffrents suivant que l'tat passe de 0 1 ou de 1 0 ; de plus, les retards sont diffrents pour la sortie y et la sortie .

    Act

    D

    y ?

    a) verrou sensible au niveau haut

    ?? ??? t2? t1

    Act

    D

    y

    b) retards de positionnement de y par rapport Act ( ? t1) et D (? t2)

    Figure II-5 : fonctionnement temporel d'un verrou D

    Si l'entre D change "au moment o" l'entre d'activation Act passe de 1 0 (pour un verrousensible au niveau haut), l'tat de la bascule aprs la fin de l'activation est indtermin : on nesait pas si la nouvelle valeur de l'entre a t mmorise ou non. Des intervalles de temps t1(temps de positionnement, tset-up) et t2 (temps de maintien, thold) dfinissent l'intervalle de

    temps o D doit tre stable autour du passge de Act de 1 0.

    1.4.B. BASCULES SENSIBLES AU FRONT (EDGE-TRIGGERED FLIP-FLOPS)

    Il s'agit de bascules sensibles aux changements de valeurs de l'entre d'activation Act :

    - bascule sensible au front montant : la bascule est active quand Act passe de 0 1,- bascule sensible au front descendant : la bascule est active quand Act passe de 1 0,ce qui veut dire qu'une telle bascule ne peut changer d'tat qu' des instants bien prcis : la(les) entre(s) de valeur sont chantillonnes aux fronts de l'entre d'activation.

  • - II.5 -

    Act

    D

    y ???? t

    Act

    D

    y

    a) bascule sensible au front montant

    ? ?t1 t2

    b) l'entre D doit tre stable autour du front montant de Act

    Figure II-6 : fonctionnement temporel d'une bascule D sensible au front

    La figure II-6 illustre le fonctionnement temporel d'une bascule D sensible au front montant : ilfaut que D soit stable t1 avant le front de Act (temps de positionnement, set-up time) et t2aprs le front (temps de maintien, hold-time). La sortie varie t aprs le front de l'horloge. Anoter : ce retard est diffrent suivant le sens de variation ; passage de 0 1 : tpLH, passage de1 0 : tpHL.

    Au lieu d'utiliser la notation "tat t+t", on peut se contenter de dfinir le fonctionnementd'une bascule sensible au front en termes de l'tat t + 1 en fonction de l'tat et des entres t, car les fronts d'activation des bascules permettent une discrtisation du temps.

    1.4.C. UTILISATION DES DIFFERENTS TYPES DE BASCULESSupposons qu'on veuille concevoir un circuit 2 tats, qui complmente son tat chaqueactivation (squence d'tats 0101010.....). Il semble logique d'utiliser le montage de la figureII-7 :

  • - II.6 -

    D y

    Act

    a) montage propos

    Act

    D

    y

    ? ? ? ? ?

    ? ? ? ? ?

    b) utilisation d'un verrou

    Act

    D

    y

    ???t ?

    c) utilisation d'une bascule sensible au front

    Figure II-7 : utilisation des bascules

    Si la bascule utilise dans le montage de la figure II-7 a) est de type verrou, le fonctionnementn'est pas correct (Fig.II-7 b)) : ds que la bascule est active, l'tat y est complment ;l'entre D est complmente en consquence. Comme le verrou est toujours activ, son tatse complmente ..... On obtient bien en sortie la squence 010101..., mais les changementsde valeurs ne sont pas synchroniss par l'entre d'activation, et quand Act passe 0, l'tat dela bascule est indtermin.

    Note : un verrou D toujours activ, reboucl suivant le schma de la figure II-7-a avec unechane de 1 ou 2p +1 inverseurs permet de gnrer un signal d'horloge dont la priodedpend du nombre et du retard des inverseurs utiliss. Mais il ne s'agit pas s d'un circuitsquentiel synchrone : le changement d'tat n'est pas synchronis par un signal (Act toujoursvrai).

    Quand on utilise une bascule sensible au front, le fonctionnement est correct (Fig. II-7 c)), condition que l'entre reste stable autour du front de Act, c'est--dire que :

    t + > t2,

    o t est le temps de positionnement de y aprs le front d'activation, est le retard del'inverseur et t2 est le temps de stabilit ncessaire de D aprs le front (hold time).

    Pour que le fonctionnement soit correct, on obtient la condition suivante:

  • - II.7 -

    Min ( tpLH, tpHL.) + > thold.

    En gnral, les bascules sont conues de faon ce que Min ( tpLH, tpHL.) > thold, donc cette

    relation est toujours vrifie.

    De mme, l'entre d'activation Act doit respecter la contrainte suivante :

    T > t + + t1 , o T est le temps entre 2 fronts de Act et t1 le temps minimal destabilit de D avant le front d'activation (set-up time)

    ce qui fixe une frquence maximale pour Act. Par exemple, si = 0 (cas des registres dcalage, voir plus loin), on obtient :

    T > tsetup + Max( tpLH, tpHL.)

    Pour les circuits TTL utiliss en travaux pratiques (les temps caractristiques se comptent ennano-secondes), on obtient des frquences maximales entre 16MHz (7474) et 75 MHz(74AS74). Pour les technologies actuelles, o les temps se comptent en pico-secondes, onobtient des frquences maximales de l'ordre du GHz.

    1.4.D. BASCULES DE TYPE MAITRE-ESCLAVE (MASTER-SLAVE FLIP-FLOPS)

    Pour raliser le type de montage de la figure II-7, on peut aussi utiliser 2 bascules de typeverrou au lieu d'une bascule sensible au front : on connecte ces 2 verrous en srie, en lesactivant alternativement. On obtient une bascule de type matre-esclave (Figure II-8).

    E1

    E2

    D

    y M

    y

    DM y M

    E1

    Act

    DDE y