Académique Documents
Professionnel Documents
Culture Documents
Machine de Mealy.
• L’état futur est calculé à partir des entrées et de l’état présent.
• Les sorties d’une machine de Mealy dépendent de l’état présent et des entrées.
• Mémorisation synchrone des
états (càd sur un front d’horloge).
Entrées Combinatoire
• La sortie dépend directement de
l’entrée et ceci indépendamment des états
de l’horloge (clk).
Etat futur
⇒ Sortie asynchrone.
Mémorisation
• Nombre d’états plus réduit que état (registre)
clk
pour une machine de Moore.
• Il est possible de resynchroniser
la sortie au besoin en ajoutant des Etat présent
bascules D.
Combinatoire Sorties
de la sortie
1
Machine de Mealy
clk
2
Machines à états finie
Machine de Moore.
• Les sorties d’une machine de Moore dépendent de l’état présent (synchrones, elles
changent sur un front d’horloge).
• L’état futur est calculé à partir des entrées et de l’état présent.
Entrées Combinatoire
des états
Etat futur
Mémorisation
clk état (registre)
Etat présent
Combinatoire Sorties
de la sortie
3
Machine de Moore
E = ‘1’ E = ‘0’
E = ‘0’
E = ‘1’
Etat 0 Etat 1 Etat 2
S <= ‘0’ S <= ‘0’ S <= ‘1’
reset
E = ‘1’
E = ‘0’
clk
4
Ecriture VHDL – Machine de Mealy
end if;
E = ‘1’ / S <= ‘0’
E = ‘0’ / S <= ‘0’ E = ‘1’ / S <= ‘0’
reset
E = ‘0’ / S <= ‘1’
5
Ecriture VHDL – Machine de Mealy
Etat 0 Etat 1
Etat 0 Etat 1
• Description la plus compacte en utilisant une variable pour l’état (en lieu et place
des 2 signaux).
•A pour effet de resynchroniser la sortie de façon implicite.
• Cependant perte de lisibilité lors de l’écriture. Alors que cette description
n’apporte rien en terme de résultat de synthèse par rapport à une description 2
process.
⇒ À éviter (pt de vue personnel cependant …).
8
Ecriture VHDL – Machine de Moore
E = ‘0’
E = ‘1’ E = ‘0’ end if;
E = ‘1’
Etat 0 Etat 1 Etat 2
S <= ‘0’ S <= ‘0’ S <= ‘1’
end process Sequentiel_maj_etat;
reset
E = ‘1’
E = ‘0’
9
Ecriture VHDL – Machine de Moore
E = ‘0’
E = ‘1’ E = ‘0’ when Etat2 => if E = '1' then
Etat 0
E = ‘1’
Etat 1 Etat 2
Etat_futur <= Etat1;
S <= ‘0’ S <= ‘0’ S <= ‘1’
else
reset
E = ‘1’
Etat_futur <= Etat0;
E = ‘0’ end if;
end case; 10
end process Combinatoire_etats;
Ecriture VHDL – Machine de Moore
reset
E = ‘1’
E = ‘0’
11
Ecriture VHDL – Machine de Moore
• Description la plus compacte en utilisant une variable pour l’état (en lieu et place
des 2 signaux).
• Cependant perte de lisibilité lors de l’écriture. Alors que cette description
n’apporte rien en terme de résultat de synthèse par rapport à une description 2
process.
⇒ À éviter (pt de vue personnel cependant …).
12