MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE
Download
1 / 47

MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE - PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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


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


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


données

synchronisation

commandes

sortie = état

INTERFACE


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


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


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


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


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


Donnée à charger

Commande d’effacement

Commande de chargement

Horloge de synchronisation

Sortie de contenu

EXEMPLE: REGISTRE à EFFACEMENT SPÉCIF DE L’INTERFACE


f

REGISTRE: DÉDUIRE LA STRUCTURE


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


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


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


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


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


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


-

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)


-

1

-

f

nouvel état s = q(1) = 0

U

0

0

U

REGISTRE: ENREGISTREMENTEFFACEMENT (ÉTAT n°1)


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)


d

0

1

f

nouvel état s = q(2) = d

0

d

d

0

REGISTRE: ENREGISTREMENTCHARGEMENT (ÉTAT n°2)


-

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)


-

0

0

f

nouvel état s = q(3) = Q

d

d

d

d

REGISTRE: ENREGISTREMENTMAINTIEN (ÉTAT n°3)


----

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)


----

1

-

f

nouvel état s = q (1) = 0000

UUUU

0000

0000

UUUU

REGISTRE 4 bits: ENREGISTREMENTEFFACEMENT (ÉTAT n°1)


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)


1010

0

1

f

nouvel état s = q(2) = 1010

0000

1010

1010

0000

REGISTRE: ENREGISTREMENTCHARGEMENT (ÉTAT n°2)


----

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)


----

0

0

f

nouvel état s = q(3) = 1010

1010

1010

1010

1010

REGISTRE 4 bits: ENREGISTREMENTMAINTIEN (ÉTAT n°3)


f

REGISTRE: INTERFACE DU RLE


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


Cet opérateur traite des données de 1 bit

REGISTRE: INTERFACE DE LA TRANCHE MODELE GÉNÉRIQUE RLE1


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


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


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


/ [ 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


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


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


/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


s = ( L Q ) ( /L D ) R .

REGISTRE: STRUCTURE DU RLE1 AVEC UN RÉSEAU LOGIQUE DE NORs


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


s = /R •C(L , D , Q)

multiplexeur

C(L, D, Q)

/R

/R . C(L, D, Q)

REGISTRE:STRUCTURE DU RLE1 AVEC UN MUX


0

0

0

Q

1

= 1.Q = Q

Q

REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX


1

0

1

D

1

= 1.D = D

D

REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX


-

1

-

-

0

= -.0 = 0

0

REGISTRE:FONCTIONNEMENT DU RLE1 AVEC UN MUX


FIN DE LA PRESENTATION

FIN


FIN DE LA PRESENTATION

FIN


ad
  • Login