1 / 47

MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE

MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE. Alexandre Parodi, Professeur à l'UHP / ESIAL alexandre.parodi@esial.uhp-nancy.fr. voir l'animation: Diaporama / Visualiser ... avancer : Barre d'espace ou clic souris reculer : p.

dalia
Download Presentation

MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE Alexandre Parodi, Professeur à l'UHP / ESIAL alexandre.parodi@esial.uhp-nancy.fr voir l'animation: Diaporama / Visualiser ... avancer: Barre d'espace ou clic souris reculer: p

  2. La machine de Moore est un opérateur séquentiel synchrone Séquentiel: sa sortie courante dépend de l’histoire passée des entrées et non pas seulement de l’entrée courante. Elle a donc de la mémoire. Machine à états : l’histoire passée des entrées est représentée par un état interne dont dépend la sortie. Le nouvel état ne dépend donc que de l’état courant mémorisé et de l’entrée courante par une fonction de transition f Synchrone: le changement d’état est synchronisé avec un coup d’horloge (front montant  du signal d’horloge k) k  état f (état , entrée) Pour simplifier: la sortie est ici égale au code de cet état interne sortie = état DÉFINITION

  3. La machine de Moore est donc un cas particulier d’automate à états finis « Finite State Machine » FSM Finis: le nombre d’états possibles est fini. • Automate de vérification syntaxique (cf. Maths discrètes) seuls les états terminaux peuvent avoir une valeur de sortie TRUE ou FALSE • Machine de Moore usuelle: la sortie est calculée à partir de l’état courant par une fonction g de sortie: sortie= g(état) ici g = fonction identité • Machine de Mealy: la sortie dépend directement de l’état courant et aussi directement de l’entrée courante: sortie= g(état, entrée) AUTRES AUTOMATES

  4. données synchronisation commandes sortie = état INTERFACE

  5. Opérateur combinatoire Broches  d’entrée RLE: calcule le nouvel état s en fonction de: • état courant Q ; • entrées X : - données , - commandes . Bascule D (D Flip-Flop): enregistre son entrée D à chaque front montant  de k et l’envoie en sortie Q f fonction de transition f s = f (Q, X) Mémorise l’état courant; enregistre le nouvel état s au coup d ’horloge k au coup d’horloge k l’état Q prend la valeur du nouvel état s Bornes intérieures Pour simplifier, l’état est envoyé directement en sortie Qs = f (Q, X) Q f (Q, X) STRUCTURE

  6. a(0) b(0) c(0) d(0) e(0) * f nouvel état s = q(1) = f(q(0), X(0)) q(0) q(0) état courant q(0) q(0) GÉNÉRATION NOUVEL ÉTAT n°1

  7. a(0) b(0) c(0) d(0) e(0) f nouvel état s = q(1) = f(q(0), X(0))  q(0) q(1)  q(0) q(1) ENREGISTREMENTNOUVEL ÉTAT n°1

  8. a(1) b(1) c(1) d(1) e(1) * f nouvel état s = q(2) = f(q(1), X(1)) q(1) q(1) état courant q(1) q(1) GÉNÉRATION NOUVEL ÉTAT n°2

  9. a(1) b(1) c(1) d(1) e(1) f nouvel état s = q(2) = f(q(1), X(1))  q(1) q(2)  q(1) q(2) ENREGISTREMENTNOUVEL ÉTAT n°2

  10. Donnée à charger Commande d’effacement Commande de chargement Horloge de synchronisation Sortie de contenu EXEMPLE: REGISTRE à EFFACEMENT SPÉCIF DE L’INTERFACE

  11. f REGISTRE: DÉDUIRE LA STRUCTURE

  12. Tableau de règles « événement  action » ... ... l’événement (conjonction d’une valeur de commande et d’un coup d’horloge) ... ... déclenche l’action (affectation de l’état) REGISTRE: SPÉCIF DU COMPORTEMENT

  13. R=0  L=0  kQQMaintien Cas par défaut implicite : pour les autres événements, maintien de l’état courant REGISTRE:COMPLÉTER LE COMPORTEMENT

  14. On veut que: et(1a) (0) R=0  L=1  k  Q s avecs = D R=0  L=1  k Q D (1) Par construction, on a : k Q s(0) Pour que (1) soit respecté, par identification, il suffit donc que : RL = 01 s = D (1a) En effet, on a alors doncQ D VALEUR DU NOUVEL ÉTAT AU CHARGEMENT

  15. On veut que : et(2a) (0) k Q s R=1 avecs = 0 R=1  k Q 0 (2) Par construction, on a : k Q s(0) Pour que (2) soit respecté, par identification, il suffit donc que : RL=1- s = 0 (2a) L En effet, on a alors doncQ 0 VALEUR DU NOUVEL ÉTAT À L’EFFACEMENT

  16. On veut que : et (3a) (0) R=0  L=0  k  Q s avecs = Q R=0  L=0  k Q Q (3) Par construction, on a : k Q s(0) Pour que (3) soit respecté, par identification, il suffit donc que : RL = 00 s = Q (3a) En effet, on a alors doncQ Q VALEUR DU NOUVEL ÉTAT EN MAINTIEN

  17. R=0  L=1  kQDChargement synchrone R=1  kQ0Effacement synchrone R=0  L=0  kQQMaintien Table d’expressions algébriques: pour chaque valeur de commande l’expression algébrique de la sortie en fonction des autres entrées 01 DChargement synchrone 1- 0Effacement synchrone 00 QMaintien On peut ensuite analyser puis synthétiser le RLE fonction f combinatoire Expression algébrique de la sortie s du RLE en fonction de ses entrées D et Q Valeur de commande RL REGISTRE: DÉDUIRE LASPÉCIFICATION DU RLE

  18. - 1 - 0 Mot quelconque f nouvel état s = q(1) = 0 Le nouvel état s est nul  D et L U U état initial q0 = U L’état initial après mise sous tension n’est pas défini : « Unitialized » U REGISTRE: GÉNÉRATION EFFACEMENT (ÉTAT n°1)

  19. - 1 - f nouvel état s = q(1) = 0  U 0  0 U REGISTRE: ENREGISTREMENTEFFACEMENT (ÉTAT n°1)

  20. d 0 1 f nouvel état s = q(2) = d Le nouvel état s est la donnée D à charger 0 0 état courant q1 = 0 0 REGISTRE: GÉNÉRATION CHARGEMENT (ÉTAT n°2)

  21. d 0 1 f nouvel état s = q(2) = d  0 d  d 0 REGISTRE: ENREGISTREMENTCHARGEMENT (ÉTAT n°2)

  22. - 0 0 f nouvel état s = q(3) = Q Le nouvel état s est le même que l’état courant Q d d état courant q2 = d d REGISTRE: GÉNÉRATION MAINTIEN (ÉTAT n°3)

  23. - 0 0 f nouvel état s = q(3) = Q  d d  d d REGISTRE: ENREGISTREMENTMAINTIEN (ÉTAT n°3)

  24. ---- 1 - 0 f nouvel état s = q(1) = 0000 Le nouvel état s est nul  D et L UUUU UUUU état courant q0 = UUUU UUUU REGISTRE 4 bits: GÉNÉRATION EFFACEMENT (ÉTAT n°1)

  25. ---- 1 - f nouvel état s = q (1) = 0000  UUUU 0000  0000 UUUU REGISTRE 4 bits: ENREGISTREMENTEFFACEMENT (ÉTAT n°1)

  26. 1010 0 1 f nouvel état s = q(2) = 1010 Le nouvel état s est la donnée D=1010 à charger 0000 0000 état courant q1 = 0000 0000 REGISTRE 4 bits: GÉNÉRATION CHARGEMENT (ÉTAT n°2)

  27. 1010 0 1 f nouvel état s = q(2) = 1010  0000 1010  1010 0000 REGISTRE: ENREGISTREMENTCHARGEMENT (ÉTAT n°2)

  28. ---- 0 0 f nouvel état s = q(3) = 1010 Le nouvel état s est le même que l’état courant Q 1010 1010 état courant q(2) = 1010 1010 REGISTRE 4 bits: GÉNÉRATION MAINTIEN (ÉTAT n°3)

  29. ---- 0 0 f nouvel état s = q(3) = 1010  1010 1010  1010 1010 REGISTRE 4 bits: ENREGISTREMENTMAINTIEN (ÉTAT n°3)

  30. f REGISTRE: INTERFACE DU RLE

  31. L’entrée D2 du RLE est branchée sur l’entrée D de la tranche n°2 Il n’y a pas de retenue ici. Ne pas l’oublier pour une addition ! 3 3 0 0 1 2 1 2 RLE D D D D Q Q Q Q R R R R 3 0 1 L L L L 2 s s s s 3 0 1 2 Commandes communes à toutes les tranches Tranches identiques si addition entrée retenue possible Cette tranche n°0 traite le bit n°0 s0 de la sortie s du RLE1 Cette tranche n°2 est l’exemplaire n°2 du modèle de tranche générique commun RLE1 REGISTRE à N=4 bits: DÉCOMPOSITION DU RLE EN 4 TRANCHES IDENTIQUES DE 1 BIT

  32. Cet opérateur traite des données de 1 bit REGISTRE: INTERFACE DE LA TRANCHE MODELE GÉNÉRIQUE RLE1

  33. 01 DChargement synchrone 1- 0Effacement synchrone 00 QMaintien 01 D Chargement synchrone 1- 0 Effacement synchrone 00 Q Maintien Comportement de la tranche modèle générique RLE1 qui sort un seul bit s du mot s Comportement du RLE qui sort un mots REGISTRE: COMPORTEMENT DE LA TRANCHE GÉNÉRIQUE RLE1

  34. Table d ’expressions algébriques de s 11 0 0 0 0 10 0 0 0 0 01 D Chargement synchrone 1- 0 Effacement synchrone 00 Q Maintien Table de Karnaugh de s 00 0 1 1 0 01 0 0 1 1 Polynôme booléen réduit de s s = /R . /L . Q + /R . L . D REGISTRE: RÉDUCTION DU RLE1

  35. s = /R . /L . Q +/R . L . D /R . /L . Q /R . L . D REGISTRE: STRUCTURE DU RLE1 AVEC UN RÉSEAU LOGIQUE DE ETs et OU

  36. / [ A . B ] = A B s = /(/R . /L . Q) /(/R . L . D) s = (/R /L Q) (/R L D) Même polynôme: . et + remplacés par ...                 s = /R . /L . Q + /R . L . D // = identité = // [ (/R . /L . Q) + (/R . L . D) ] Loi de Morgan / [ U + V ] = [ /U ./V ] s = / [ / (/R . /L . Q) ./ (/R . L . D) ] NAND Parenthèses nécessaires car NAND non associatif ! REGISTRE:SYNTHÈSE DU RLE1 AVEC DES NANDS

  37.     s = (/R /L Q) (/R L D)      Pour un polynôme, portes ET et OU remplacées par NAND REGISTRE: STRUCTURE DU RLE1 AVEC UN RÉSEAU LOGIQUE DE NANDS

  38. 00 0 1 1 0 01 0 0 1 1 11 0 0 0 0 10 0 0 0 0 ... on entoure donc les 0 on réduit le polynôme booléen de NON s ... Il se trouve qu’ici le polynôme de /sest plus simple que le polynôme de s /s = . /L . /Q + L . /D +R REGISTRE: RÉDUCTION de /s

  39. /s = . /L . /Q + L . /D +R Définition du NOR: /(U + V) = U V        = / [ ( L Q ) + ( /L D ) + R ] .  Définition du NOR: /[X + Y + Z] =X Y Z   s = ( L Q ) ( /L D ) R .           Même polynôme que /s: . et + remplacés par ... Polynôme booléen de NON s s = //s = / [ /L . /Q + L . /D + R ] . Loi de Morgan: A . B = /(/A + /B) = / [ / ( L + Q ) + / ( /L + D ) + R ] . REGISTRE: SYNTHÈSE avec NORs

  40. s = ( L Q ) ( /L D ) R .        REGISTRE: STRUCTURE DU RLE1 AVEC UN RÉSEAU LOGIQUE DE NORs

  41. s = /R . /L . Q + /R . L . D factorisation = /R .(/L . Q + L . D) Y = C(S, X1, X0) = /S . X0 + S . X1 multiplexeur s = /R •C(L , D , Q) Pas un polynôme booléen ! Fonction C (cf. livre maths num.) REGISTRE:SYNTHÈSE DU RLE1 AVEC UN MUX

  42. s = /R •C(L , D , Q) multiplexeur C(L, D, Q) /R /R . C(L, D, Q) REGISTRE:STRUCTURE DU RLE1 AVEC UN MUX

  43. 0 0 0 Q 1 = 1.Q = Q Q REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX

  44. 1 0 1 D 1 = 1.D = D D REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX

  45. - 1 - - 0 = -.0 = 0 0 REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX

  46. FIN DE LA PRESENTATION FIN

  47. FIN DE LA PRESENTATION FIN

More Related