machine de moore synchrone simplifiÉe

Download MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE

If you can't read please download the document

Upload: dalia

Post on 10-Jan-2016

37 views

Category:

Documents


3 download

DESCRIPTION

MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE. Alexandre Parodi, Professeur à l'UHP / ESIAL [email protected]. voir l'animation: Diaporama / Visualiser ... avancer : Barre d'espace ou clic souris reculer : p. - PowerPoint PPT Presentation

TRANSCRIPT

Introduction VHDL

MACHINE DE MOORE SYNCHRONE SIMPLIFIEvoir l'animation: Diaporama / Visualiser ...avancer: Barre d'espace ou clic sourisreculer: p Alexandre Parodi,Professeur l'UHP / [email protected] Alexandre Parodi Novembre 20081DFINITIONLa machine de Moore est un oprateur squentiel synchroneSquentiel: sa sortie courante dpend de lhistoire passedes entres et non pas seulement de lentre courante.Elle a donc de la mmoire.Machine tats : lhistoire passe des entres est reprsente par un tat interne dont dpend la sortie.Synchrone: le changement dtat est synchronis avec un coup dhorloge (front montant du signal dhorloge k)Pour simplifier: la sortie est ici gale au code de cet tat internek tat f (tat , entre)sortie = tatLe nouvel tat ne dpend donc que de ltat courant mmoris et de lentre courante par une fonction de transition f Alexandre Parodi Novembre 2008AUTRES AUTOMATESLa machine de Moore est donc un cas particulier dautomate tats finis Finite State Machine FSMFinis: le nombre dtats possibles est fini. Machine de Moore usuelle: la sortie est calcule partir de ltat courant par une fonction g de sortie:sortie = g(tat) Automate de vrification syntaxique (cf. Maths discrtes) seuls les tats terminaux peuvent avoir une valeur de sortie TRUE ou FALSE Machine de Mealy: la sortie dpend directement de ltat courant et aussi directement de lentre courante: sortie = g(tat, entre)ici g = fonction identit Alexandre Parodi Novembre 2008

INTERFACEdonnescommandessynchronisationsortie = tat Alexandre Parodi Novembre 2008

STRUCTURERLE: calcule le nouvel tat s en fonction de: tat courant Q ; entres X : - donnes , - commandes .Mmorise ltat courant;enregistre le nouvel tat s au coup dhorloge kOprateur combinatoireau coup dhorloge kltat Q prend la valeur du nouvel tat ss = f (Q, X)Q sPour simplifier, ltat est envoy directement en sortiefBascule D(D Flip-Flop):enregistre son entre D chaque front montant de k et lenvoie en sortie QQ f (Q, X)= f (Q, X)f fonction de transitionBroches dentreBornes intrieures Alexandre Parodi Novembre 2008

GNRATION NOUVEL TAT n1a(0)b(0)d(0)c(0)e(0)tat courant q(0)q(0)q(0)*q(0)nouvel tat s = q(1) = f(q(0), X(0))f Alexandre Parodi Novembre 2008

q(0)ENREGISTREMENTNOUVEL TAT n1a(0)b(0)d(0)c(0)e(0)nouvel tat s = q(1) = f(q(0), X(0))q(0)q(1)q(1)f Alexandre Parodi Novembre 2008

GNRATION NOUVEL TAT n2a(1)b(1)d(1)c(1)e(1)tat courant q(1)q(1)q(1)*q(1)nouvel tat s = q(2) = f(q(1), X(1))f Alexandre Parodi Novembre 2008

q(1)ENREGISTREMENTNOUVEL TAT n2a(1)b(1)d(1)c(1)e(1)nouvel tat s = q(2) = f(q(1), X(1))q(1)q(2)q(2)f Alexandre Parodi Novembre 2008

EXEMPLE: REGISTRE EFFACEMENT SPCIF DE LINTERFACECommande de chargementCommande deffacementDonne chargerSortie de contenuHorloge de synchronisation Alexandre Parodi Novembre 2008

REGISTRE: DDUIRE LA STRUCTUREf Alexandre Parodi Novembre 2008REGISTRE: SPCIF DU COMPORTEMENT

Tableau de rgles vnement action ...... lvnement (conjonction dune valeur de commande et dun coup dhorloge) ...

... dclenche laction(affectation de ltat)

Alexandre Parodi Novembre 2008REGISTRE:COMPLTER LE COMPORTEMENT

R=0 L=0 k Q Q Maintien Cas par dfaut implicite :pour les autres vnements, maintien de ltat courant Alexandre Parodi Novembre 2008VALEUR DU NOUVEL TAT AU CHARGEMENTR=0 L=1 k Q D (1)k Q s (0) RL = 01 s = D (1a) On veut que: Par construction, on a : Pour que (1) soit respect, par identification, il suffit donc que : En effet, on a alors k Q s(0)R=0 L=1 et (1a)avec s = Ddonc Q D Alexandre Parodi Novembre 2008VALEUR DU NOUVEL TAT LEFFACEMENTR=1 k Q 0 (2)k Q s (0) RL=1- s = 0 (2a) On veut que : Par construction, on a : Pour que (2) soit respect, par identification, il suffit donc que : En effet, on a alors k Q s(0)R=1 et (2a)avec s = 0donc Q 0L Alexandre Parodi Novembre 2008VALEUR DU NOUVEL TAT EN MAINTIENR=0 L=0 k Q Q (3)k Q s (0) RL = 00 s = Q (3a) On veut que : Par construction, on a : Pour que (3) soit respect, par identification, il suffit donc que : En effet, on a alors k Q s(0)R=0 L=0 et (3a)avec s = Qdonc Q Q Alexandre Parodi Novembre 2008REGISTRE: DDUIRE LASPCIFICATION DU RLE

R=0 L=0 k Q Q Maintien

01 D Chargement synchroneR=1 k Q 0 Effacement synchroneR=0 L=1 k Q D Chargement synchrone1- 0 Effacement synchrone00 Q MaintienTable dexpressions algbriques:pour chaque valeur de commande lexpression algbrique de la sortie en fonction des autres entresValeur de commande RLExpression algbrique de la sortie s du RLEen fonction de ses entres D et QOn peut ensuite analyser puis synthtiser le RLEfonction f combinatoire Alexandre Parodi Novembre 2008

REGISTRE: GNRATION EFFACEMENT (TAT n1)-1-tat initial q0 = UUU0Unouvel tat s = q(1) = 0Le nouvel tat s est nul D et LLtat initial aprs mise sous tension nest pas dfini :Unitialized

fMot quelconque Alexandre Parodi Novembre 2008

UREGISTRE: ENREGISTREMENTEFFACEMENT (TAT n1)-1-nouvel tat s = q(1) = 0U00f Alexandre Parodi Novembre 2008

REGISTRE: GNRATION CHARGEMENT (TAT n2)d01tat courant q1 = 0000nouvel tat s = q(2) = dLe nouvel tat s est la donne D chargerf Alexandre Parodi Novembre 2008

0REGISTRE: ENREGISTREMENTCHARGEMENT (TAT n2)d01nouvel tat s = q(2) = d0ddf Alexandre Parodi Novembre 2008

REGISTRE: GNRATION MAINTIEN (TAT n3)-00tat courant q2 = ddddnouvel tat s = q(3) = QLe nouvel tat s est le mme que ltat courant Qf Alexandre Parodi Novembre 2008

dREGISTRE: ENREGISTREMENTMAINTIEN (TAT n3)-00nouvel tat s = q(3) = Qdddf Alexandre Parodi Novembre 2008

REGISTRE 4 bits: GNRATION EFFACEMENT (TAT n1)----1-tat courant q0 = UUUUUUUUUUUU0UUUUnouvel tat s = q(1) = 0000Le nouvel tat s est nul D et Lf Alexandre Parodi Novembre 2008

UUUUREGISTRE 4 bits: ENREGISTREMENTEFFACEMENT (TAT n1)----1-nouvel tat s = q (1) = 0000UUUU00000000f Alexandre Parodi Novembre 2008

REGISTRE 4 bits: GNRATION CHARGEMENT (TAT n2)101001tat courant q1 = 0000000000000000nouvel tat s = q(2) = 1010Le nouvel tat s est la donne D=1010 chargerf Alexandre Parodi Novembre 2008

0000REGISTRE: ENREGISTREMENTCHARGEMENT (TAT n2)101001nouvel tat s = q(2) = 1010000010101010f Alexandre Parodi Novembre 2008

REGISTRE 4 bits: GNRATION MAINTIEN (TAT n3)----00tat courant q(2) = 1010101010101010nouvel tat s = q(3) = 1010Le nouvel tat s est le mme que ltat courant Qf Alexandre Parodi Novembre 2008

1010REGISTRE 4 bits: ENREGISTREMENTMAINTIEN (TAT n3)----00nouvel tat s = q(3) = 1010101010101010f Alexandre Parodi Novembre 2008

REGISTRE: INTERFACE DU RLEf Alexandre Parodi Novembre 2008REGISTRE N=4 bits: DCOMPOSITION DU RLE EN 4 TRANCHES IDENTIQUES DE 1 BIT

0001112223330123RLDQsRLDQsRLDQsRLDQs

Cette tranche n2 est lexemplaire n2 du modle de tranche gnrique commun RLE1Lentre D2 du RLE est branche sur lentre D de la tranche n2RLECette tranche n0 traite le bit n0 s0 de la sortie s du RLE1Il ny a pas de retenue ici. Ne pas loublier pour une addition !Commandes communes toutes les tranchessi addition entre retenue possibleTranches identiques Alexandre Parodi Novembre 2008

REGISTRE: INTERFACE DE LA TRANCHE MODELE GNRIQUE RLE1Cet oprateur traite des donnes de 1 bit Alexandre Parodi Novembre 2008REGISTRE: COMPORTEMENT DE LA TRANCHE GNRIQUE RLE1

01 D Chargement synchrone1- 0 Effacement synchrone00 Q MaintienComportement de la tranche modle gnrique RLE1 qui sort un seul bit s du mot s

01 D Chargement synchrone1- 0 Effacement synchrone00 Q MaintienComportement du RLE qui sort un mot s Alexandre Parodi Novembre 2008REGISTRE: RDUCTION DU RLE1

01 0 0 1 100 0 1 1 0

01 D Chargement synchrone1- 0 Effacement synchrone00 Q Maintien10 0 0 0 0 11 0 0 0 0s = /R . /L . Q+ /R . L . DPolynme boolen rduit de sTable de Karnaugh de sTable dexpressions algbriques de s Alexandre Parodi Novembre 2008REGISTRE: STRUCTURE DU RLE1 AVEC UN RSEAU LOGIQUE DE ETs et OU

s = /R . /L . Q+ /R . L . D /R . L . D /R . /L . Q Alexandre Parodi Novembre 2008REGISTRE:SYNTHSE DU RLE1 AVEC DES NANDSs = /R . /L . Q + /R . L . D s = / [ / (/R . /L . Q) . / (/R . L . D) ] = / / [ (/R . /L . Q) + (/R . L . D) ]Loi de Morgan// = identit / [ U + V ] = [ /U . /V ] NANDParenthses ncessaires car NAND non associatif ! s = (/R /L Q) (/R L D) s = /(/R . /L . Q) /(/R . L . D) / [ A . B ] = A B Mme polynme:. et + remplacs par ... Alexandre Parodi Novembre 2008REGISTRE: STRUCTURE DU RLE1 AVEC UN RSEAU LOGIQUE DE NANDS s = (/R /L Q) (/R L D)

Pour un polynme, portes ET et OU remplaces par NAND Alexandre Parodi Novembre 2008REGISTRE: RDUCTION de /s

01 0 0 1 100 0 1 1 010 0 0 0 0 11 0 0 0 0/s = ./L . /Q+ L . /D+ Ron rduit le polynme boolen de NON s ...... on entoure donc les 0Il se trouve quici le polynme de /s est plus simple que le polynme de s Alexandre Parodi Novembre 2008REGISTRE: SYNTHSE avec NORs/s = ./L . /Q+ L . /D+ Rs = //s = / [ /L . /Q + L . /D + R ] . = / [ / ( L + Q ) + / ( /L + D ) + R ] . = / [ ( L Q ) + ( /L D ) + R ] . s = ( L Q ) ( /L D ) R .Loi de Morgan:A . B = /(/A + /B)Dfinition du NOR:/(U + V) = U VDfinition du NOR:/[X + Y + Z] =X Y ZMme polynme que /s:. et + remplacs par ... Polynme boolen de NON s Alexandre Parodi Novembre 2008REGISTRE: STRUCTURE DU RLE1 AVEC UN RSEAU LOGIQUE DE NORs

s = ( L Q ) ( /L D ) R . Alexandre Parodi Novembre 2008REGISTRE:SYNTHSE DU RLE1 AVEC UN MUXs = /R . /L . Q + /R . L . D = /R . (/L . Q + L . D)factorisation Y = C(S, X1, X0) = /S . X0 + S . X1multiplexeur s = /R C(L , D , Q)Pas un polynme boolen !Fonction C (cf. livre maths num.) Alexandre Parodi Novembre 2008

REGISTRE:STRUCTURE DU RLE1 AVEC UN MUXmultiplexeur s = /R C(L , D , Q)C(L, D, Q)/R/R . C(L, D, Q) Alexandre Parodi Novembre 2008

REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX0010= 1.Q = QQQ Alexandre Parodi Novembre 2008

REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX1011= 1.D = DDD Alexandre Parodi Novembre 2008

REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX-10-= -.0 = 0-0 Alexandre Parodi Novembre 2008FINFIN DE LA PRESENTATION Alexandre Parodi Novembre 2008FINFIN DE LA PRESENTATION Alexandre Parodi Novembre 2008EvnementActionSmantique

R=0 ( L=1 ( k(Q ( DChargement synchrone

R=1 ( k(Q ( 0Effacement synchrone

EvnementActionSmantique

R=0 ( L=1 ( k(Q ( DChargement synchrone

R=1 ( k(Q ( 0Effacement synchrone

EvnementActionSmantique

RLsSmantique

RLsSmantique

RLsSmantique

DQ

RL00011110

RLsSmantique

DQ

RL00011110