© alexandre parodi – novembre 2008 machine de moore synchrone simplifiÉe voir l'animation:...
TRANSCRIPT
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
MACHINE DE MOORE SYNCHRONE SIMPLIFIÉE
voir l'animation: Diaporama / Visualiser ...avancer: Barre d'espace ou clic sourisreculer: p
Alexandre Parodi,Professeur à l'UHP / ESIAL
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
DÉFINITION
La machine de Moore est un opérateur séquentiel synchrone
Séquentiel: sa sortie courante dépend de l’histoire passéedes 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.
Synchrone: le changement d’état est synchronisé avec un coup d’horloge (front montant du signal d’horloge k)
Pour simplifier: la sortie est ici égale au code de cet état interne
k état f (état , entrée)
sortie = état
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
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
AUTRES AUTOMATES
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.
• Machine de Moore usuelle: la sortie est calculée à partir de l’état courant par une fonction g de sortie:
sortie = g(état)
• Automate de vérification syntaxique (cf. Maths discrètes) seuls les états terminaux peuvent avoir une valeur de sortie TRUE ou FALSE
• 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)
ici g = fonction identité
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
INTERFACE
données
commandessynchronisation
sortie = état
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
STRUCTURE
RLE: calcule le nouvel état s en fonction de:• état courant Q ;• entrées X : - données , - commandes .
Mémorise l’état courant;enregistre le nouvel état s au coup d ’horloge k
Opérateur combinatoire
au coup d’horloge kl’état Q prend la valeur
du nouvel état s
s = f (Q, X)
Q sPour simplifier, l’état est envoyé
directement en sortie
f
Bascule D(D Flip-Flop):enregistre son entrée D à chaque front montant de k et l’envoie en sortie Q
Q f (Q, X)
= f (Q, X)
f fonction de transition
Broches d’entrée
Bornes intérieures
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
GÉNÉRATION NOUVEL ÉTAT n°1
a(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
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
q(0)
ENREGISTREMENTNOUVEL ÉTAT n°1
a(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
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
GÉNÉRATION NOUVEL ÉTAT n°2
a(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
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
q(1)
ENREGISTREMENTNOUVEL ÉTAT n°2
a(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
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
EXEMPLE: REGISTRE à EFFACEMENT SPÉCIF DE L’INTERFACE
Commande de chargement
Commande d’effacement
Donnée à charger
Sortie de contenu
Horloge de synchronisation
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: DÉDUIRE LA STRUCTURE
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: SPÉCIF DU COMPORTEMENT
EVÉNEMENT ACTION SÉMANTIQUE
R=0 L=1 k Q D Chargement synchroneR=1 k Q 0 Effacement synchrone
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)
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE:COMPLÉTER LE
COMPORTEMENT
EVÉNEMENT ACTION SÉMANTIQUE
R=0 L=1 k Q D Chargement synchroneR=1 k Q 0 Effacement synchroneR=0 L=0 k Q Q Maintien
Cas par défaut implicite :pour les autres événements, maintien de l’état courant
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
VALEUR DU NOUVEL ÉTAT AU CHARGEMENT
R=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 = D donc Q D
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
VALEUR DU NOUVEL ÉTAT À L’EFFACEMENT
R=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 = 0 donc Q 0
L
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
VALEUR DU NOUVEL ÉTAT EN MAINTIEN
R=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 = Q donc Q Q
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: DÉDUIRE LASPÉCIFICATION DU RLE
EVÉNEMENT ACTION SÉMANTIQUE
R=0 L=0 k Q Q Maintien
RL S SÉMANTIQUE
01 D Chargement synchrone
R=1 k Q 0 Effacement synchroneR=0 L=1 k Q D Chargement synchrone
1- 0 Effacement synchrone00 Q Maintien
Table d’expressions algébriques:pour chaque valeur de commande l’expression algébrique de la sortie en fonction des autres entrées
Valeur de commande RL
Expression algébrique de la sortie s du RLEen fonction de ses entrées D et Q
On peut ensuite analyser puis synthétiser le RLEfonction f combinatoire
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: GÉNÉRATION
EFFACEMENT (ÉTAT n°1)
-
1
-
état initial q0 = UU
U
0
U
nouvel état s = q(1) = 0
Le nouvel état s est nul D et L
L’état initial après mise sous tension n’est pas défini :« Unitialized »
f
Mot quelconque
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
U
REGISTRE: ENREGISTREMENT
EFFACEMENT (ÉTAT n°1)
-
1
-
nouvel état s = q(1) = 0
U0
0
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: GÉNÉRATION CHARGEMENT (ÉTAT n°2)
d
0
1
état courant q1 = 00
0
0
nouvel état s = q(2) = d
Le nouvel état s est la donnée D à charger
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
0
REGISTRE: ENREGISTREMENT
CHARGEMENT (ÉTAT n°2)
d
0
1
nouvel état s = q(2) = d
0d
d
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: GÉNÉRATION
MAINTIEN (ÉTAT n°3)
-
0
0
état courant q2 = dd
d
d
nouvel état s = q(3) = Q
Le nouvel état s est le même que l’état courant Q
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
d
REGISTRE: ENREGISTREMENT
MAINTIEN (ÉTAT n°3)
-
0
0
nouvel état s = q(3) = Q
dd
d
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE 4 bits: GÉNÉRATION
EFFACEMENT (ÉTAT n°1)
----
1
-
état courant q0 = UUUUUUUU
UUUU
0
UUUU
nouvel état s = q(1) = 0000
Le nouvel état s est nul D et L
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
UUUU
REGISTRE 4 bits: ENREGISTREMENT
EFFACEMENT (ÉTAT n°1)
----
1
-
nouvel état s = q (1) = 0000
UUUU0000
0000
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE 4 bits: GÉNÉRATION
CHARGEMENT (ÉTAT n°2)
1010
0
1
état courant q1 = 00000000
0000
0000
nouvel état s = q(2) = 1010
Le nouvel état s est la donnée D=1010 à charger
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
0000
REGISTRE: ENREGISTREMENT
CHARGEMENT (ÉTAT n°2)
1010
0
1
nouvel état s = q(2) = 1010
00001010
1010
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE 4 bits: GÉNÉRATION
MAINTIEN (ÉTAT n°3)
----
0
0
état courant q(2) = 10101010
1010
1010
nouvel état s = q(3) = 1010
Le nouvel état s est le même que l’état courant Q
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
1010
REGISTRE 4 bits: ENREGISTREMENT
MAINTIEN (ÉTAT n°3)
----
0
0
nouvel état s = q(3) = 1010
10101010
1010
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: INTERFACE DU RLE
f
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE à N=4 bits: DÉCOMPOSITION DU RLE EN 4
TRANCHES IDENTIQUES DE 1 BIT
0 0
0
1 1
1
2 2
2
3 3
3
0123RL
DQ
s
RL
DQ
s
RL
DQ
s
RL
DQ
s
Cette tranche n°2 est l’exemplaire n°2 du modèle de tranche générique commun RLE1
L’entrée D2 du RLE est branchée sur l’entrée D de la tranche n°2
RLE
Cette tranche n°0 traite le bit n°0 s0 de la sortie s du RLE1
Il n’y a pas de retenue ici. Ne pas l’oublier pour une addition !
Commandes communes à toutes les tranches
si addition entrée retenue possible
Tranches identiques
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: INTERFACE DE LA TRANCHE MODELE GÉNÉRIQUE RLE1
Cet opérateur traite des données de 1 bit
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: COMPORTEMENT DE LA
TRANCHE GÉNÉRIQUE RLE1
RL S SÉMANTIQUE01 D Chargement synchrone1- 0 Effacement synchrone00 Q Maintien
Comportement de la tranche modèle générique RLE1 qui sort un seul bit s du mot s
RL S SÉMANTIQUE
01 D Chargement synchrone1- 0 Effacement synchrone00 Q Maintien
Comportement du RLE qui sort un mot s
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: RÉDUCTION DU RLE1
DQRL
00 01 11 10
01 0 0 1 100 0 1 1 0
RL S SÉMANTIQUE
01 D Chargement synchrone1- 0 Effacement synchrone00 Q Maintien
10 0 0 0 0
11 0 0 0 0
s = /R . /L . Q + /R . L . D
Polynôme booléen réduit de s
Table de Karnaugh de s
Table d ’expressions algébriques de s
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: STRUCTURE DU RLE1 AVEC UN RÉSEAU LOGIQUE DE ETs et OU
s = /R . /L . Q + /R . L . D
/R . L . D /R . /L . Q
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE:SYNTHÈSE DU RLE1 AVEC DES NANDS
s = /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 ]
NAND
Parenthèses nécessaires car NAND non associatif ! s = (/R /L Q) (/R L D)
s = /(/R . /L . Q) /(/R . L . D)
/ [ A . B ] = A B
Même polynôme:. et + remplacés par ...
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: STRUCTURE DU RLE1 AVEC UN RÉSEAU LOGIQUE DE NANDS
s = (/R /L Q) (/R L D)
Pour un polynôme, portes ET et OU remplacées par NAND
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: RÉDUCTION de /s
DQRL
00 01 11 10
01 0 0 1 100 0 1 1 0
10 0 0 0 0
11 0 0 0 0
/s = .
/L . /Q + L . /D + R
on réduit le polynôme booléen de NON s ...
... on entoure donc les 0
Il se trouve qu’ici le polynôme de /s est plus simple que le polynôme de s
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: SYNTHÈSE avec NORs
/s = ./L . /Q + L . /D + R
s = //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)
Définition du NOR:/(U + V) = U V
Définition du NOR:/[X + Y + Z] =X Y Z
Même polynôme que /s:. et + remplacés par ...
Polynôme booléen de NON s
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE: STRUCTURE DU RLE1 AVEC UN RÉSEAU LOGIQUE DE NORs
s = ( L Q ) ( /L D ) R .
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE:SYNTHÈSE DU RLE1
AVEC UN MUX
s = /R . /L . Q + /R . L . D
= /R . (/L . Q + L . D) factorisation
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.)
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE:STRUCTURE DU RLE1
AVEC UN MUX
multiplexeur
s = /R • C(L , D , Q)
C(L, D, Q)
/R
/R . C(L, D, Q)
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE:FONCTIONNEMENT DU
RLE1 AVEC UN MUX
0
010
= 1.Q = Q
Q
Q
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE:FONCTIONNEMENT DU
RLE1 AVEC UN MUX
1
011
= 1.D = D
D
D
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
REGISTRE:FONCTIONNEMENT DU
RLE1 AVEC UN MUX
-
10
-
= -.0 = 0
-
0
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
FIN
FIN DE LA PRESENTATION
© A
lexa
ndre
Par
odi –
Nov
embr
e 20
08
FIN
FIN DE LA PRESENTATION