Vous êtes sur la page 1sur 23
v = | =] Oo | c 2 | = = | oO E 8 3 8 2 oO | y 0 | n | s 8 e c ° = 5 S 3 8 2 238 we M wie vss | B Yee a2ss | Ove | een | On Les machines synchrones a nombre fini d’états Une machine a états (M.A.E.) en anglais Finite State Machine (F.S.M.) est un systéme dynamique, qui peut se trouver, chaque instant, dans une position parmi un nombre fini de positions possibles. Elle parcourt des cycles, en changeant éventuellement | d'état lors des transitions actives de I’horloge. L’architecture générale d’une machine a état est présentée ci-dessous. Logique de séquencement * Notations : « Entrée: * Etat Présent : EP * Etat Futur ; EF «Sortie: S * Horloge : H Logique de sortie 2. fe registie d'etat € regis é é pera A sat piloté par son horloge, constitue le cceur d’une ne contig 8 autres blocs fonctionnels sont son service. Sea ich bascules synchrones Son contenu représente I’état rene ine, Tl s‘agit d’un nombre codé en binaire sur n bits. € du registre d’état constitue I’état futur. Le registre c’état est la mémoire de la machine. La taille du registre d’état fixe le nombre d’états accessibles. Si n est le nombre de bascules, le nombre d’états N = 2". LU horloge Le rdle de I’horloge est de fixer les instants ol les transitions entre états sont prises en compte. Entre deux fronts consécutifs de I’horloge, la machine est figée en position mémoire. Les différentes architectures Suivant la facon dont les sorties dépendent des états et des commandes, on distingue deux types de machines a états : es machines de Moore et les machines de Mealy. Dans les premiéres les sorties ne dépendent que de l'état actuel (la pour les secondes les sorties dépendent de liaison en trait interrompue est absente), état actuel et des entrées (la liaison en trait interrompu est présente). Outils de descriptions Si Moutil d’analyse et de synthése des fonctions combinatoires est la table de vérité, le diagramme de transition constitue l’outil privilégié pour l’analyse et la synthése des fonctions séquentielles. Le diagramme des transitions On associe a chaque valeur possible du registre état, une case. Lévolution du systéme est représentée par des fléches représentant les transitions. reser Pour qu'une transition soit acti ée il faut que les trois conditions suivantes soient vérifiées : 1. Le systéme se trouve dans I’état «source » considéré 2. La condition de réalisation sur les entrées est vraie 3. Un front actif de ’horloge survient Machines a états * Notations : * Entree : £ * Etat Présent : EP * Etat Futur : EF * Sortie: S * Définitions = Etat : Indicateur de position dans le temps * Registre d’Etat : Composé de bascules permettant de mémoriser les valeurs des états = Etat Présent : sortie stable du registre d’ état a l’instant présent * Etat Futur : état dans lequel se trouvera la machine aprés une impulsion Machines a états Table de transition : deux parties indiquant le présent et le futur. = EP ; Etat Présent a l‘instant n = EF : Etat Suivant a linstant n + 1 = S : Fonction de Sortie a l’instant n + 1 = E: Entrée a l’instant n * Table de transition E | EP | &F | os Entrée | Etat Présent | Etat Suivant | “Sortie Avant Impulsion Horloge | Apres Impulsion Horloge Machines de Mealy E: Entrée a l'instant n S; Sortie a l'instant n + 1 EP : Etat Présent a l'instant n EF : Etat Suivant a V'instant n + 1 5+ fonction de transition (ou de calcul de l'état suivant) EF = a(E, EP) 1: calcul des sorties S=A(E, EP) H: signal d’horloge 8, : fonctions combinatoires Machines de Moore E: Entrée a instant n S : Sortie a l'instant n + 1 EP : Etat Présent a I’instant n EF : Etat Suivant a l'instant n + 1 8: fonction de transition (ou de calcul de l'état suivant) EF = 5(E, EP) 2.1 calcul des sorties S=A(EP) H: signal d’horloge 6, 1: fonctions combinatoires Logique de séquencement eg Ep (état suivant) 8 Registre d'état H Logique desortie $ Logique de séquencement ep ‘EP (état suivant) 5 ———— rE Registre d'état H Logique desotie $ a Machines 4 état « Machine de Mealy : S = 4 (E, EP) et EF = 8(E, EP) * Dans un état, le vecteur sortie peut varier en fonction des valeurs du vecteur d’entrée » Machine de Moore : S$ = 4 (EP) et EF = 5(E, EP) * Dans un état, le vecteur de sortie ne varie pas en fonction des valeurs du vecteur d’entrée Notations Transitions ' Transition horloge.EP.Entree MEALY Entrée/Sortie MOORE Realisation des machines a état: * Deux phases principales ; * Phase de Conception : détermine "architecture de la machine a états ~ Phase de synthase : mise en oeuvre de I’architecture de la Machine a états * Proposition d’une méthode de conception basée sur 7 étapes Méthode de réalisation . Spécification du cahier des charges (Crucial). Détermination des états. Identification des entrées et des sorties de la machine a états. 1 ea 3. 4. Etablissement du graphe de transition. 5. Etablissement de la table de transition. 6. Détermination du nombre de bascules nécessaires. 7. Détermination des équations de |’ états futur, des sorties et réalisation. Grephe de Transition : Moor Transitions Conditionnettes £0 _ Transition Inconditionnelle Graphe de Transition : Moore = Il existe deux types de transitions : * Les transitions conditionnelles : elles ne s'effectuent qu’en fonction d’une certaine valeur du vecteur d’entrée et sur le front d’horloge. II y a au moins deux transitions conditionnelle qui parte d’un méme état = Les transitions inconditionnelles : elles s‘effectuent automatiquement sur le front d’horloge. I! ne peut y avoir qu’une seule transition qui parte d’un état lorsque celle-ci est inconditionnelle Phorloge : entrée implicite * lhorioge est une entrée * Machine a états synchrone " Horloge = entrée toujours présente “Le changement a état s‘effectue sur un front d’horloge 15 Exemple Moore : table de transition réduite Le] | [£0 | Etat 0 | Etat o EL] Etato | x | Etat 0 x | Etat 0) xX [ Etat 0 || Etat 1 Etat 0 x Etat 0 x Etat 0 xX l EP EF “Etat 0. Etat 0 | Etat 0 Etat 1 Etat 1 Etat 2 Etat 2 Etat 2 Etat 2 Etat 0 Excmple Moore : Codage w Determination du nombre de bascules a [logo(nombred' états)| # [logo(3)] = 2 = Bascule 0 avec Dy et Qy et Bascule 1 avec Dy et Qy w Codage “Etat | Qr | Qo [| Vecteur E | a |b [c Vecteur S [x | y | “Etat 0] 0 | 0 Eo [o/olo so [ojo rEtatz;o/i]} &1 [ofojif si joj. Etat2| 1 | 0 E2 o}1)0 52 1/0 _ 7 E3 of;ifi $3 fiji Fa {1ifojo - : ES 1[o/i E6 1[1]0 E7 r[iii Exemple Moore : table de transition (équations) E EP EF EO | Etat 0 || Etat 0 E4 | Etat 0 | Etat 1 | X | Etat 1 |) Etat 2 El | Etat 2 | Etat 2 | E2 | Etat 2 || Etat 0 E EP EF soe at a OT a 00 0;/0 0) 0 0 10 0/0 0/0 1 x x x o ii 1 0 0o0i;/i1 0/1 0 01 0/1 0) 0 0 | a | . | | [ole ljo|-] «| ” ele|e)~|* 8 ole Pt {O(a |] x loa] x x w ss lols : os] [ae] +] | i o@ fais 3 jet fre fo ff x fe] = | B | Z 2 |-lo o lofalo]/xja)xlo 2 & ow oS ° lof) [=] x| x 3 i 8 lofalea i pec] Lg 5 | 3 jolo|4 3 lo jolo|lo/a|x| x a s } = jololo : 2 2 Jelele o E Ss falele < ) Ss : g on|ao = S > Sllola|- g sf sw 7 7 wlolo|-|~ ce 5 5 v olojala S| 5 oO S | = 2 - | = w - + | ao ‘ a2. é | o£ ¢ t = te o + 25 & i go 4 a OND ay Exemp CO Exemple Mcorea : Equations sorties Q _O Bio i | 0 ou i Ox ye t Qo 1 = Ome a 2B Exemple Moore : Equations Exercice : Trouver les équations des variables suivantes et le schéma correspondant. nel - a ‘0 = = — -- a afta : ax=/ - ay= a Schéma Exeinple Mealy Exemple Mealy : Codage a Détermination du nombre de bascules am [logo(nombred'états)| w [logs(2)] = 1 m Bascule 0 avec Do et Qp m Codage Etat | Qo || Vecteur E | a || Vecteur S[x Ly [ Etat 0] 0 fo [0 so. [0/0] Etatl/| 1 £1 [1 st [oil $2 [1/0 25 tiple Moore oble de transition [ te yt [ 53 | [E[eP | eF [sj a | Of ost yxy 0; 0 0 0 0 1/0 1 ool Oo} 1 0 a) 1} 1 1 11 7 Exemple Mealy : Equations Bascules et sorties Qgtt : Qf aio 1 0 ol 1 ol 1 0 1 gg af[o 1 0 fol 1 Oo 1 OO 28 Exemple Mealy : Equations Exercice « Xercice : Trouver les equations des varia et le schema correspondant, bles suivantes = Qe wx= mys @ Schéma 29 One hot Encoding * Codage par défaut : codage binaire = coder les états avec le moins de bits possibles | * One hot Encoding : rajouter des bascules afin de simplifier les équations combinatoires * Principe : Une bascule par état » II n'y a qu'une bascule ayant sa sortie a 1, toutes les autres ont leur sortie “a 0 « Lorsque la sortie de la bascule i est 4 1 alors la machine est dans I' état i xemple de réalisation avec codage 1 parmi N Codes : ol S1 0001 S2 0010 $3. 0100 S4 1000 31 Génération des équations apres codage Q Dépend du type de bascule choisi pour le registre d’états : on se limite aux bascules D CO Equations des variables internes (variables d'état) : » Pour toute variable d'état, « Pour tout état ou cette variable est a 1, + Pour toute transition ayant cet état comme destination, » Générer un monéme correspondant au produit du monéme associé au code de l'état source et du prédicat de la transition. Q Equations des sorties : Somme des monémes associés aux codes des états oli la sortie est a 1 (Moore) ou associés aux transitions oui la sortie est a1 (Mealy) exemple | d'influence dy Codage ; Equations partielles ; VA1(e1) = MAC(e3) + MAC(e4) VA1(e2) = MAC(e1)7 4 MAC(e2).i VA1(€3) = MAC(e1).i VA1(e4) = MAC(e2) 7 S = MAC(e3) + MAC(ea) avec: MAC(ej) : Monéme Associé au Code \ de l'état ej VA1(ej) : Variable 1 dans le code de | l'état ej 33 |S | wer | ave Impact du codage sur les équations | Exemples de codages sur 2 bits : \ Codage i Codage 2 | état: y2y1 état: y2 y1 | e1: 10 ei: 00 | e2: 01 e2: 01 | e3: 00 e3: 11 \ e4: 41 e4: 10 \ Y2 =y2.y1+y2.(yi+d Y2=y2.(yi.i+yi-i) | | Yi =Y2.yi+y2.yi.7 Y1 =y2.(yi+i) \ S=y2.y1+y2.yi S=y2 14 littéraux 9 littéraux synchvonisation des Entrées 35 Synchronisation des Entrées : probleme _ Dt Registre d’état nH DO Logique de sortie Ss Front d’horloge . a — __Non Violation 0 oo Violation DL ' a synchronis ation des EF, Ss Entrées “€S : probleme + Le changement d’ gement d'une seule variable peut entrainer des ements m a ultiples sur les entrées du registre d’ état » En cas de violation de t. é ts Ou de t, I’ état ine n’ : : it LH it de la machine n’est | synchronisation des Entrées : solution ? : solution ? * En cas de violation de t; ou de ty par Ventrée E : * Si la sortie E, de la bascule reste dans son état, le changement de l'information d’entrée sera prise en compte a Vimpulsion suivante « La sortie E, de la bascule peut passer dans un état métastable Métastabilité 38 40 Exercice Position du probléme : On souhaite détecter la longueur d ‘une impulsion a 1 (niveau | haut) d ‘un signal S. Un signal (valid) doit étre généré pour | indiquer la validité d ‘un mot de deux bits VL(0) et Vi) représentant la longueur de | ‘impulsion . Le chronogramme ci- dessous donne une illustration de fonctionnement sek POUL i nnn Al vais | {UL[1=0]) 2 O44 P45 6 \ 7 404 we 41 oo nti, 0 7 raphe de Transition - Codage des états | ( eae Codage : Q2 Q1Q0 \ ~N Sorties : Valid, VL[1:0} Codées sur \ tats (Moore ) \ Entrée IS) a $=X __S8=1 _ Detect3) 101 / / Valid=1 , VL[1:0] = 1 Long | 110) Xalid=1, VLI1:0) =3 Valid=1 , VL[1:0] = 2 a Table de transitions actuels oO 1 0 1 oO oO oO oO oO 1 i: 1 1 oO oO oO 0 oO 0 0 a 1 1 1 o |o o | © oO o 1 +t ae 0 0 o 1 oO o \o | 1 0 1 1 oO o | 0 | 0 oO o oO 1 o la 1 1 oO 1 oO o | o | ° 0 ° 0 1 i [oo | 1 1 1 0 0 o | o | ° oO 0 0 1 rn _| 1 x x x x x |x | 3 Equations logiques Synthése par bascules D Dy = Qo(+) = $.G.Q, + S.Q.Q) D, = Q1(+) = Q:.Qo D, = Q2(+) = Q1-Qo + Q2-Q5 Valid = Q).Q5 + Q1-Qy VUI1] = Q).Q) VL[O] = Q,.05 Schema et chronogramme clock | a FT = vanid eS ae quL[tz6]) z : E _ eo 45us a

Vous aimerez peut-être aussi