Chap4 Logique Sequentielle 2007

Embed Size (px)

Citation preview

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    1/40

    IUT Vlizy - GTR / Emmanuelle Peuch

    I.U.T. de VELIZY

    UNIVERSITE DE VERSAILLES-SAINT-QUENTIN-EN-YVELINES

    RESEAUX

    ET

    TELECOMUNICATIONS

    Cours dinformatique : module I2

    Logique squentielle

    Emmanuelle Peuch

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    2/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch

    INTRODUCTION

    Nous avons tudi jusqu maintenant des circuits logiques combinatoires:les sorties, un instant donn, ne dpendent que des valeurs prsentent sur

    les entres. Toute condition antrieure na aucun effet sur les valeurs actuellesdes sorties, parce que les circuits combinatoires nont pas de mmoire. Ainsi, chaque tat des variables dentre correspond un seul tat desvariables de sortie et inversement.

    Avec les circuits squentiels, il nen est plus de mme : ltat prsent de lasortie dpend non seulement de la combinaison applique lentre mais ausside son tat antrieur. Ces circuits ont donc un effet mmoire (ils sesouviennent de leur tat prcdent).Ainsi, un tat des variables dentrepeut correspondre plusieurs tats diffrents.

    Nous prsenterons dans un premier temps les oprateurs squentiels de base,les bascules, ainsi que leur description VHDL.Ensuite nous dcrirons quelques fonctions squentielles synchrones courantestelles les compteurs, les registres dcalage.Pour terminer, nous tudierons une mthode de synthse dun systmesquentiel synchrone et son implantation dans un FPGA.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    3/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch

    Table des matires

    I. Les bascules asynchrones _______________________ 1

    1 Introduction _______________________________________________ 1

    2 Latch D ou verrou __________________________________________ 1

    3 Synchronisation des systmes squentiels _____________________ 2

    II. Les bascules synchrones___________________________ 3

    1 Les bascules D_____________________________________________ 4

    2 Bascule JK ________________________________________________ 9

    3 Exigences de synchronisation _______________________________ 12

    3.1 Temps de pr-positionnement _____________________ 12

    3.2 Temps de maintien ______________________________ 13

    3.3 Frquence maximale de fonctionnement ____________ 15

    3.4 Synchronisation des entres asynchrones dun systmesynchrone_________________________________________ 16

    III.

    Les compteurs binaires / diviseurs de frquencesynchrones________________________________________ 19

    1 Gnralits et dfinitions ___________________________________ 19

    2 Ralisation VHDL dun compteur synchrone ___________________ 20

    3 Ralisation matrielle dun compteur synchrone________________ 24

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    4/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch

    IV. Les registres et registres dcalage ______________ 26

    1 Dfinition dun registre (entres parallles et sorties parallles) ___ 26

    2 Les registres dcalage ____________________________________ 27

    2.1 Applications des registres dcalage : _____________ 29

    2.2 Description VHDL _______________________________ 30

    ANNEXES_________________________________________ 31

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    5/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 1

    Oprateurs squentiels - fonctionssquentielles

    Llment de mmorisation de base est la bascule. Elle est constitue de une

    ou plusieurs entres et de deux sorties complmentaires Q et Q .

    I. Les bascules asynchrones

    1Introduction

    Les deux principaux types de bascules asynchrones sont le latch D et labascule R-S.La transition dun tat un autre est provoque par des changements deniveauxdune ou plusieurs entres.

    2Latch D ou verrou

    Cette bascule constitue la version la plus simple de la mmoire lmentaire.

    Son principe est le suivant :

    - Une entre D de donnes- Une entre L de commande- Deux sorties Q et son complment.

    L D Qn0 X Qn-11 0 01 1 1

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    6/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 2

    Si L est au niveau haut alors la sortie Q recopie lentre D.

    Si L est au niveau bas alors la sortie conserve sa valeur quelle quesoit lentre D : cest le mode mmoire.

    (Les niveaux actifs de lentre de commande L peuvent tre inverss).

    Exemple de ralisation :

    &0

    0

    0

    &0

    0

    0

    >=10

    0

    0

    1

    L

    D

    Q

    Description VHDL :

    VHDL ne connat pas la fonction mmoire comme lment primitif.

    -- D Latch-- GATE: in STD_LOGIC; entre de commande active ltat haut

    -- DIN: in STD_LOGIC; entre de donnes-- DOUT: out STD_LOGIC;

    process (GATE, DIN)begin

    if GATE='1' thenDOUT

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    7/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 3

    Ainsi, dans une bascule synchrone, le changement dtat de la sortie quicorrespond une nouvelle combinaison dtat des entres ne peut

    seffectuer que sur le front actif, montant ou descendant, dun signal desynchronisation ou signal dhorloge.

    La majorit des systmes numriques existants sont surtout desmachines synchrones (mme si certaines parties sontasynchrones), du fait que les circuits synchrones sont simples concevoir et dpanner. Leur dpannage est plus facile parce queleur sorties ne peuvent changer qu des instants prcis bienconnus.

    La solution couramment adopte est de construire les systmessquentiels avec des bascules synchronesqui disposent

    dune entre qui fixe les instants des ventuelschangements dtat : lhorloge.

    II.Les bascules synchrones

    Il existe plusieurs types de bascules synchrones. Les points communs cesbascules sont :

    1- Une entre dhorloge CLK

    CLK

    Actif sur frontmontant

    CLK

    Actif sur frontdescendant

    2- Au moins une entre de commande. Ces entres sont dsignespar diffrentes lettres, selon leur fonction. Ce sont ces entres qui

    dterminent ltat de sortie de la bascule, mais cet tat napparaten sortie de la bascule quau moment de la transition active de

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    8/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 4

    lhorloge.Leffet de ces entres est donc synchronis avec lapplicationdu signal dhorloge : ce sont des entres dites synchrones.

    3-Deux sorties complmentairesQ et Q .

    1Les bascules D

    Symbole

    Table de vrit

    Horloge D Q 0 0 1 1

    Formes dondes

    Remarque

    La majeure partie des bascules synchrones possde, en plus, des entres

    asynchronesqui agissent indpendamment du signal dhorloge et desentres synchrones. Ce sont des entres qui permettent, nimporte quel

    Cette bascule possde une entre decommande D (Data) synchrone.

    Fonctionnement : sur le front actif de lhorloge

    (ici sur le front montant), la sortie Q recopielentre D.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    9/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 5

    moment, de forcer 1 ou 0 la sortie Q de la bascule quelles que soientles conditions des entres (initialisation du circuit).Dans lexemple de la bascule D on voit quil y a deux entres asynchronesCLR (Clear = initialisation 0) et SET (initialisation 1).

    Doc.technique

    Symbole logique :

    Ces bascules sont dotes de deux entres supplmentaires CLR(Clear) et PRE (Preset). Ces deux entres sont indpendantes delhorloge (elles agissent quelque soit le niveau ou front de lhorloge).Elles sont dites entres asynchrones. Ici, elles sont actives ltatbas.

    Extrait de la documentation du constructeur du circuit intgr 74HC74

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    10/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 6

    Diagramme dtat :

    Voir annexe de ce polycopi (diagramme dtat) p.33

    Description VHDL dune bascule D :

    entity bascule_D isPort ( CLK : in std_logic;

    D : in std_logic;Q : out std_logic);

    end bascule_D;

    architecture version_1 of bascule_D isbegin

    process (CLK) -- le process nest activ que si un front dhorloge se-- prsente (voir table de vrit : Q recopie D que si un-- front actif dhorloge se prsente !)

    beginif CLK'event and CLK='1' then --actif sur front montantQ

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    11/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 7

    Description VHDL avec entres Reset et Set asynchrones :

    Lentre de mise zro RESET estprioritairesur lentre de mise un SET

    entity bascule_d1 is

    Port ( D : in std_logic;CLK : in std_logic;SET : in std_logic;RESET : in std_logic;Q : out std_logic);

    end bascule_d1;

    architecture version_2 of bascule_d1 isbegin

    process (CLK, RESET, SET)begin

    if RESET = '1' then -- entre la plus prioritaire !Q

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    12/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 8

    Description VHDL de la bascule vue comme une machine dtat:

    On traduit directement le diagramme dtat en langage VHDL. On doit donc dfinirun type : voir syntaxe p 15

    Nous utiliserons aussi linstruction squentielle CASE, voir p. 27

    entity bascule_D isPort ( D : in std_logic;

    CLK : in std_logic;RESET : in std_logic;Q : out std_logic);

    end bascule_D;

    architecture version_3 of bascule_D is

    typebulle is(etat0, etat1); -- dfinition de lensemble des tatssignaletat : bulle ;

    begin-- Evolution de la machine dtats: description du diagramme dtats

    process (CLK, RESET)begin

    if RESET = '1' then -- remise zro asynchrone, actif tat hautetat if D = 1 then

    etat

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    13/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 9

    2Bascule JK

    Symbole

    Table de vrit

    Horloge J K Qn+1 0 0 Qn Mmorisation (on garde le niveau de la sortie Q qui

    tait prsent avantle passage du front actif) 0 1 0 mise zro 1 0 1 Mise 1 1 1 Qn Commutation (passage ltat oppos)

    Formes dondes

    Les entres J et K sont les entres synchrones.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    14/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 10

    Doc.technique

    Ces bascules sont dotes de deux entres asynchronesCLR (Clear)et PR (Preset).

    Diagramme dtat:

    Description VHDL:

    Dans le diagramme dtat (ou la table de vrit), on voit que la sortie Q linstant n peut tre gale la sortie Q linstant n-1 (mmorisation) ou son complment (commutation). Or le signal Q, est dclar comme unesortie au niveau de lentit (OUT) et ne peut donc pas tre utilis commeune entre ! Pour contourner cette difficult on va utiliser unsignalinternequi, lui, peut tre la fois une entre et une sortie (Q_inter dansnotre exemple).Avec cette faon dcrire, les signaux de sortie ne sont jamais utilisscomme des entres. Cela permet une plus grande portabilit du code.

    Extrait de la documentation constructeur du circuit intgr 74HC73

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    15/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 11

    entity bascule_JK isPort ( CLK : in std_logic;

    J : in std_logic;K : in std_logic;Q : out std_logic);

    end bascule_JK;

    architecture V1 of bascule_JK is

    --dclaration du signal intermdiaire

    signal Q_inter: std_logic;

    begin

    process(clk)begin

    if CLK'event and CLK='1' then --actif sur front montant

    if J='0' and K='0' thenQ_inter

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    16/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 12

    3Exigences de synchronisation

    Pour que le fonctionnement dune bascule synchrone soit efficace, deuxconditions sont ncessaires : lune concerne la dure de stabilisation (temps depr positionnement) et lautre la dure de maintien.

    Les temps de pr positionnement (set up time, tsu) et de maintien (hold time,tH) concernent les positions temporelles relatives de deux entres dunmme circuit : par exemple la position de lentre D et de lhorloge dunebascule D synchrone qui ragit aux fronts montants de son horloge.

    Pour que la bascule interprte correctement la valeur delentre, quelle que soit cette valeur, celle-ci doit tre stable

    avantla transition active dhorloge et maintenue stableaprscette transition.

    3.1Temps de pr-positionnement

    Sur cet exemple : la sortie Q recopiera

    effectivement la donne D = 1 aumoment du front actif dhorlogeuniquement si cette donne D = 1 taitprsente depuis une certaine duretsuavant le front actif dhorloge.

    Le constructeur fournit la dure de prpositionnement minimaleadmissible.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    17/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 13

    tsu= intervalle de temps qui prcdeimmdiatement lefront actif du signal dhorloge pendant lequel lentresynchrone doit tre garde au niveau appropri.

    Si on ne respecte pas ce temps, il nest pas garanti que la bascule rpondecorrectement larrive du front.

    Pour la srie CMOS-HC, le temps de pr positionnement minimal est de 14 20 nspour une tension dalimentation de 5V.

    3.2Temps de maintien

    Si le retour de lentre de commande ltat 0 (ici, entre D) intervient trop ttaprs le front actif du signaldhorloge, la variable de sortie peutreprendre la valeur 0.

    Pour viter ce mauvais fonctionnement,ltat 1 de lentre D doit tre maintenuesuffisamment longtemps (dure tH).Le constructeur fournit un temps demaintien minimal.

    Pour la srie CMOS-HC, le temps de maintient minimal est de 0 5 ns pour unetension dalimentation de 5V.

    Lintrt davoir un temps de maintien nulapparat ds que lesentres dun circuit synchrone sont les sorties dun autre circuitsynchrone.

    Ainsi, la valeur prendre en compte au moment de la transition activede lhorloge est alors, sans ambigut, celle quiprcde cette

    transition.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    18/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 14

    Pour illustrer ceci, tudions le montage suivant :

    La bascule D, cble de cette faon, ralise la fonction diviseur defrquence par 2 . Cest un montage qui change dtat chaquetransition active. Si la bascule possde un temps de maintien nul, lemontage fonctionne correctement pourvu que le temps de prpositionnement tsu soit suprieur celui fournit par le constructeur.

    Ainsi, le temps de maintien doit tre nul ou, au pire, infrieur auplus petit des temps de propagation.

    Autre exemple : dans nombre de circuits numriques, la sortie dunebascule est couple directement, ou par lintermdiaire de porteslogiques, lentre dune autre bascule, et ces bascules sontcommandes par le mme signal dhorloge.

    Examinons le circuit ci-dessous :

    J

    Q

    Q

    K

    SET

    CLR

    1

    1

    1

    1

    J

    Q

    Q

    K

    SET

    CLR

    2 2

    2 2

    Vcc

    Vcc

    Sortie

    H

    On rappelle la table de vrit de la bascule JK :

    Horloge J K Qn+1 0 0 Qn Mmorisation 0 1 0 Reset 1 0 1 Set 1 1 Qn Commutation

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    19/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 15

    Formes dondes:

    3.3Frquence maximale de fonctionnement

    Reprenons le circuit diviseur par deux , mais en tenant compte cette foisci des temps de propagation dans les bascules. On doit prendre en compteles dfauts afin dvaluer les limites de fonctionnement dun montage.

    Pour que le montage fonctionne correctement les paramtres des circuitsdoivent vrifier :

    tH< min(tpHL, tpLH)

    Relation indpendante de la frquence de lhorloge. Cette relation esttoujours vrifie pour des circuits dont le temps de maintien est nul, do

    lintrt de ces circuits.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    20/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 16

    tsu< TCK- max(tpLH, tpHL)

    soit F1

    t max(t , t )CK

    su pHL pLH

    Qn+1.

    Table de transition dune bascule D

    Transitiondsire

    Commande appliquer

    Qn-> Qn+1 D0 -> 0 00 -> 1 11 -> 0 01 -> 1 1

    Table de transition dune bascule JK

    Transitiondsire

    Commande appliquer

    Qn-> Qn+1 J K

    0 -> 0 0 X0 -> 1 1 X1 -> 0 X 11 -> 1 X 0

    Ce qui correspond au diagrammedtat de la bascule D :

    Etat 0/Q=0

    Etat 1/Q=1

    D=1

    D=1

    D=0

    D=0

    Ce qui correspond au diagrammedtat de la bascule JK :

    Etat 0/Q=0

    Etat 1/Q=1

    1X

    X0

    X1

    0X

    JK

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    29/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 25

    Ces tables vont nous tre utiles pour la dtermination des circuitscombinatoires de commande des basculesafin de raliser uncompteur synchrone:

    Les blocs F0, Fn-1,reprsentent les fonctions combinatoiressynthtiser afin de commander les bascules.

    Compteur synchrone 2 bits (compteur modulo 4) :

    On doit obtenir la squence suivante : 00 - 01 - 10 - 11.Il y a quatre tats : on utilise donc deux bascules JK comme lment demmorisation.

    Ecrivons la table de transition de notre compteur :

    Etat ducompteur

    Q1 Q0(tat

    prsent)

    Q1+Q0+

    (tatfutur)

    J1 K1 J0 K0

    0 0 0 0 1 0 X 1 X1 0 1 1 0 1 X X 12 1 0 1 1 X 0 1 X3 1 1 0 0 X 1 X 1

    On utilise maintenant les mthodes classiques de synthse des systmescombinatoires (table de Karnaugh) afin de dterminer les commandes Jiet Ki de chaque bascule. Pour cela on va synthtiser les entres JK partir de ltat prsent des bascules. On va utiliser les valeurs logiquesindiffrentes X (si cela est possible) afin de simplifier les quationslogiques.

    En fixant les tats X on trouve par exemple : J1 = Q0

    Si on nutilise pas ses tats indiffrents, on obtient : J1 = .Q0Q1 De mme, K1 = Q0 ou alors K1 = Q1.Q0On choisit J0 = K0 = 1

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    30/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 26

    Traons les chronogrammes (on suppose que le compteur est initialis zro de faon asynchrone) :

    IV. Les registres et registres dcalage

    Cest comme lment de mmorisation de donnes que les bascules sont lesplus utilises. Le stockage des donnes a lieu gnralement dans des groupesde bascules appels registres.

    Rappel : Une bascule est capable de mmoriser (ou stocker) un bit. Si on abesoin de stocker n bits (mot de n bits), il faudra donc raliser unregistre compos de n bascules.

    1Dfinition dun registre (entres parallles et sortiesparallles)

    Un registre n bits comprend :

    un assemblage de n bascules (qui peuvent tre du type D, JK). Il peutdonc stocker un mot de n bits : n est sa capacit.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    31/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 27

    Une entre de signal dhorloge pour la synchronisation (commune toutes les bascules).

    Et ventuellement :Une commande pour le chargement, ou lcriture, du mot

    mmoriser.Une commande pour lactivation des sorties, ou la lecture.

    2Les registres dcalageUn registre dcalage est un ensemble de bascules cbles de manire ce que les nombres mmoriss dans les bascules soient dports dunebascule la suivante chaque impulsion dhorloge.

    Ci-dessous, les bascules JK sont connectes de faon raliser un registre

    dcalage de 4 bits :

    Avant le premier front actif dhorloge, les bascules sont mises zro.

    Les bascules JK sont telles que J = K . Daprs la table de vrit de cesbascules, on est dans la configuration o la sortie recopie lentre J.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    32/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 28

    A larrive du premier front descendant, en T1, X3 va recopier la donne J =1, donne prsente sur lentre juste avant le front actif dhorloge. Lesautres bascules vont recopier J = 0, tat prsent sur lentre juste avant lefront actif.On a donc X2= X1= X0= 0.

    En t = T2, X3= J = 0 (la donne dentre est zro avant Le front actif). Ladeuxime bascule va recopier X3qui tait la donne entre en T1. Cettedonne a donc t transfre dans la deuxime bascule. Les sorties X1et X0restent zro.

    Ainsi, chaque front actif de lhorloge, les sorties des bascules prennent lavaleur de sortie quavait la bascule immdiatement gaucheavantle front

    actif.

    En continuant ce raisonnement, on voit que le premier bit de donnes seretrouve en sortie du registre (sur X0) au bout de quatre priodes dhorloge(registre 4 bits).

    Remarque : temps de maintien respecterDans le montage dun registre dcalage, il est ncessaire que lesbascules aient un temps de maintien excessivement faible, du fait que lesentres J et K changent presque en mme temps que le front actif. Enralit, le retard de propagation introduit par X3 par exemple fait en sorteque les entres J et K resteront inchangs pendant une courte priode

    aprs le front descendant. Il faut donc choisir des bascules dont le tempsde maintien est plus petit que le temps de propagation dune seulebascule.Heureusement, la majorit des bascules respectent cette exigence et,pour la plupart, ont un temps de maintien nul.

    Dcalage logique dun nombre

    Si on dcale logiquement gauche ou droite de n pas, on multiplie ou

    on divise le nombre de 2n.

    0 0 1 1

    Dcalage gauche

    On crit dans le registre dcalage de 4bits le nombre N = 3, soit N = % 0011 enbinaire.

    On effectue un dcalage gauche. Tousles bits vont tre dcals de la mmefaon et il apparat des zros droite du

    registre.

    Aprs dcalage On lit dans le registre la valeur binaire N

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    33/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 29

    gauche :

    0 1 1 0

    = % 0110 soit N = 6.

    On a multipli par 2 le nombre binaireinitial.

    2.1Applications des registres dcalage :

    Ralisation de compteurs particuliers:

    Compteur en anneauIl est constitu dun registre dcalage bascules D ; la sortie de ladernire bascule est relie lentre de la premire.

    Le registre est initialis la valeur 1000. A chaque impulsion dhorloge,le contenu du registre est dcal dune position vers la droite. Onobtient un code cyclique dont les tats successifs sont les suivants :

    1000, 0100, 0010, 0001 puis retour au premier tat. On obtient ncombinaisons avec un registre dcalage de n bits.

    Info

    Un code continu est un code dans lequel deux mots de code conscutifs sontadjacents (changement dtat dun seul bit la fois). Si de plus le premier mot estadjacent au dernier, le code est dit code cyclique.

    Compteur de Johnson

    Il est constitu dun registre dcalage bascules D ; la sortie Qde ladernire bascule est relie lentre de la premire. Le registre estinitialis 0000.On obtient un code cyclique dont les tats successifs sont :

    0000, 1000, 1100, 1110, 1111, 0111, 0011, 0001 (et retour audbut !).

    On obtient 2.n combinaisons avec un registre dcalage de n bits.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    34/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 30

    Gnrateur pseudo-alatoire

    Il est constitu dun registre dcalage (bascules D) initialis une valeurdiffrente de zro et reboucl sur lui-mme laide dun ou de plusieursOU exclusif.Sur une sortie quelconque du registre, on obtient une squence binairepseudo alatoire de priodicit maximale de 2n- 1 (qui correspond au

    nombre dtats que lon peut avoir au maximum).

    Cette structure sera tudie en TD.

    En traitement du signal, on utilise cette structure comme brouilleurs dedonnes ou encore comme gnrateur dit de bruit blanc.

    2.2Description VHDL

    Il y a diffrentes faons de dcrire un registre dcalage en VHDL. Onpeut utiliser :

    Loprateur concatnation sreg

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    35/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 31

    library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    -- Registre dcalage srie srie,dcalage--droite : Oprateur concatnation

    entity registre isPort ( s_input : in std_logic;

    s_output : out std_logic;horloge : in std_logic);

    end registre;

    architecture version1 of registre is

    signal inter: std_logic_vector(3 downto0);

    beginprocess (horloge)begin

    if horloge'event and horloge ='1'theninter

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    36/40

    Chapitre 4 : Logique squentielle

    IUT Vlizy - GTR / Emmanuelle Peuch 32

    for I in 0 to 2 loopinter(i)

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    37/40

    Annexes

    IUT Vlizy - GTR / Emmanuelle Peuch 33

    Outils de description des systmes squentiels

    Si loutil danalyse et de synthse des fonctions combinatoires est la table de

    vrit, le diagramme de transition constitue loutil privilgi pour lanalyse et lasynthse des fonctions squentielles.

    Le diagramme de transition ou dtat

    Pour tout systme squentiel :

    - A un instant donn, le systme se trouve dans une situation particulire quiva dpendre des valeurs qui se sont succdes sur les entres depuislinstant initial. Cette situation particulire est appele tatdu systme : lesystme comprend autant dtats quil y a de situations particuliresdiffrentes possibles.

    - Il comporte toujours un nombre fini dtats. Le premier travail consiste donc dnombrer les diffrents tats du systme partir du cahier des charges.

    On utilise ensuite loutil graphique diagramme dtat ou transition pour

    reprsenter le fonctionnement du systme (recenser tous les tats possibles dusystme tudi).

    On associe un cercle chaque tat.

    Lvolution du systme est reprsente par des flchesentre chaque cercle qui traduisent les changements dtatpossibles, les transitions possibles.

    De chaque tat doivent partir autant de flches quil y a decombinaisons binaires associes aux entres.

    Etat 0/

    S0=1S1=1

    Etat 1/

    S0=0S1=1

    E0=1E1=0

    E0=1E1=1

    Chaque flche comporte la valeur delentre E (mot de n bits si n entres) quiprovoque la transition correspondante.Les valeurs des sorties sont

    reprsentes dans les cercles dudiagramme.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    38/40

    Annexes

    IUT Vlizy - GTR / Emmanuelle Peuch 34

    Synthse dun systme squentiel synchrone :machine dtats

    Dans un systme squentiel : une mme combinaison des entres deuxinstants diffrents peut conduire deux rsultats diffrents (contrairementaux systmes combinatoires). En effet, cela dpend aussi de ltatprcdent. Ce qui implique la prsence dun bloc de mmorisation(ensemble de bascules, soit un registre).

    Dfinition:

    Pour tout systme squentiel, un instant donn, le systme se trouve dansune situation particulire qui va dpendre des valeurs qui se sont succdessur les entres depuis linstant initial. Cette situation particulire est appeletat du systmeet le systme comprend autant dtats quil y a de situationsparticulires diffrentes possibles.

    Le premier travail consistera donc dnombrer les diffrents tats dusystme partir du cahier des charges : on utilisera alors loutil diagrammedtats .

    Tout systme squentiel synchrone peut tre ralis grce une structureappele machine de Moore(machine tats de type Moore).

    Soient Ei= entre du systme linstant prsent (ti)Si= sortie du systme linstant prsentYi= ltat du systme linstant prsent

    Dans une machine de Moore, la sortie S dpend uniquement deltat prsent Yi. Les quations du systme sont donc :

    Equation de la sortie : Si= f(Yi)Equation dvolution du systme : Yi+1 = g(Ei,Yi)

    Cette dernire quation permet de dterminer ltatsuivant Yi+1quand on connat ltat prsent Yiet lesentres prsentes Ei.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    39/40

    Annexes

    IUT Vlizy - GTR / Emmanuelle Peuch 35

    G( )

    Fonction

    combinatoire:calcul de ltat

    futur

    Registredtat

    F( )

    Systmecombinatoire de

    sortie

    Entresp

    n

    Etat futurYi+1

    nn

    Etat prsent

    Yi

    Etat prsent Yi

    MACHINE DE MOORE

    CLK

    Le registre dtat est constitu de n bascules synchrones. Le contenu du

    registre dtat reprsente ltat de la machine (nombre cod en binaire surn bits dans un code choisi par le concepteur).

    Lentre du registre dtat constitue ltat futur: celui qui sera charg lorsdu prochain front actif dhorloge.

    Il constitue la mmoire de la machine, llment qui matrialise lhistoire deson volution.

    La description VHDL de la machine de Mooreest donc effectue en

    deux temps. Au cours du premier temps est dcrit le cycle produit par lamachine dtat : cest la partie squentielle (process) ; dans un deuximetemps la spcification du niveau des sorties en fonction de ltat courant estdfinie : cest la partie combinatoire.

  • 8/10/2019 Chap4 Logique Sequentielle 2007

    40/40

    Annexes

    BIBLIOGRAPHIE

    Electronique numrique et squentielle - pratique des langages dedescription de haut niveauNol Richard

    DUNOD

    Circuits numriques et synthse logique - un outil : VHDLJ. Weber et M. Meaudre

    MASSON

    Initiation au langage VHDLMichel Aumiaux

    MASSON

    Logique combinatoire et squentielle : mthodes, outils et ralisations

    Claude BrieELLIPSES

    Sur le Web: http://perso.wanadoo.fr/xcotton/index.htm