SYNTHESE D AUTOMATES D ETATS FINIS Automat d états finis (vu dans d autr nsignmnt? ) Spécification très utilisé n Informatiqu (Circuits, Résaux, Pruv...) Réalisation matérill d un automat à l aid d circuits Méthod automatiqu Logicil d CAO ffctu c travail Définition Un automat d états finis A st un quintuplt (Q,E,S,t,o) Q!: nsmbl ds états E!: vocabulair d ntré (nsmbl ds valurs possibls ds ntrés) S!: vocabulair d sorti (nsmbl ds valurs possibls ds sortis) t!: fonction d transition!: Q * E -> Q! o!: fonction d sorti!: 2 typs d automat Maly!: Q * E -> S! Moor!: Q -> S P. Sicard- Cours ALM 5 Synthès d automat P. Sicard- Cours ALM 5 Synthès d automat 2 Equivalnc d automats Graph d états Rprésntation Dux automats sont équivalnts si pour tout séqunc d ntrés ils donnnt la mêm séqunc d sortis Automat minimal: automat tl qu il n xist pas d automat équivalnt comportant un nombr d état plus ptit "Un état!: un rond t un nom à l intériur "Etat initial!: un flèch tordu "Un transition!: un flèch portant la valur d ntré associé à ctt transition "Un sorti!: - soit associé à l état (Moor) - soit associé à un transition (noté /s) (Maly) Bidul s3 Bidul Bidul Etat initial Bidul /s3 2 P. Sicard- Cours ALM 5 Synthès d automat 3 P. Sicard- Cours ALM 5 Synthès d automat 4
Exmpl d graph d automat Rconnaissur d séqunc E={,}, S={oui, non}, On vut rconnaîtr la séqunc Exmpl d graph d automat Automats minimaux du rconnaissur d la séqunc...... /oui /non /non Oui Oui Moor Oui Maly P. Sicard- Cours ALM 5 Synthès d automat 5 P. Sicard- Cours ALM 5 Synthès d automat 6 Réalisation d un automat à l aid d circuits digitaux Codag binair Ls ntrés t ls sortis Exmpl!: S={a,b,c} Codag avc l nombr minimum d bits!: compact Exmpl!: c" c2 " a" " " b" " " c" " Codag ds états!ls états Ls bits d cod sont applés ls variabls d états Dux typs d codag utilisés Codag compact!(minimum d bits) Codag parmi n " Un variabl par état. Pour chaqu état un sul variabl d! états à Exmpl!: pour 3 états E, E2, E3 q, q2, q3 E" " " E2" " " E3" " " P. Sicard- Cours ALM 5 Synthès d automat 7 P. Sicard- Cours ALM 5 Synthès d automat 8
L choix d cs codags n changnt pas l comportmnt du circuit résultant Influnc ds codags binairs sur l réalisation Mais ls fonctions boolénns n sront pas ls mêms Cs codags ont donc un importanc sur ls qualités du circuit résultant: taill, vitss... Ls outils d CAO prnnnt n compt cs critèrs lors d la réalisation automatiqu d automat! Utilisation d un bascul pour mémorisr chaqu variabl d état L état suivant va dépndr d l état courant! Basculs snsibls au front Mémorisation d l état Dux typs d réalisation d automat!:! Asynchron!: c st l changmnt ds ntrés qui provoqu l changmnt d état " Délicat à mttr n œuvr, très pu utilisé! Synchron!: c st un ntré particulièr (applé horlog) qui provoqu l changmnt d! état. Ls ntrés n doivnt pas changr au momnt ds fronts montants d l horlog. On n réalisra qu ds automats synchrons L horlog st donc nvoyé sur la fonction d activation d chaqu bascul P. Sicard- Cours ALM 5 Synthès d automat 9 P. Sicard- Cours ALM 5 Synthès d automat Architctur général du circuit réalisant un automat Nq i Nouvl Etat Entrés Calculs fonctions d transition D Q... Basculs Entrés (cas d Maly) Calcul fonctions d sortis Etat courant : (q, q 2,...q n ) Sortis ialisation Rst/St Bascul suivant l codag d l'état initial Fonctions boolénns réalisés La fonction d transition Q*E ->Q Un fonction boolénn par variabl d état Nqi st la valur d la variabl d état à l instant suivant (nouvl état au prochain front d d horlog)! Nqi = fonction(qj, j) Cs fonctions puvnt êtr phi-boolénns si tous ls cods n sont pas utilisés pour ls ntrés t/ou ls états!la fonction d sorti Q*E ->S ou Q-> S Un fonction boolénn d sorti par variabl d sorti! sj=fonction(qi, i) ou sj= fonction(qi) P. Sicard- Cours ALM 5 Synthès d automat P. Sicard- Cours ALM 5 Synthès d automat 2
Exmpl d réalisation Rconnaissur d séqunc (Maly) Codag ds sortis" Codag ds ntrés Arbitrair!:" " Arbitrair!:" Sorti s Entré Oui" " "! Codag ds états Compact arbitrair!:" Etat q! q2 rin " " " " " " ialisation par rst sur ls 2 basculs (état initial= ) P. Sicard- Cours ALM 5 Synthès d automat 3 Exmpl d réalisation! Fonctions d transitions t d sortis Nouvl état = fonction boolénn (Etat courant, ntré) Sorti= fonction boolénn (Etat courant, ntré) q q2 Nq Nq2 S Phi boolén pour ls cas où (q, q2)= (, ) /oui /non P. Sicard- Cours ALM 5 Synthès d automat 4 /non Exmpl d réalisation Exmpl d réalisation! q /q 2 phi Fonctions d transitions q /q 2 phi phi phi /oui /non Calculs Transitions Nouvl Etat Calculs Sortis S Nq = q 2.! Fonctions d sorti q /q 2 Nq 2 = phi phi /non Nq Nq 2 Bascul Rst Bascul Rst q Etat courant q2 S = q. P. Sicard- Cours ALM 5 Synthès d automat 5 P. Sicard- Cours ALM 5 Synthès d automat 6
Evolution ds états t sortis Changmnt d'états L codag parmi n ds états Un variabl d état par état, donc un bascul par état INIT CK qq2 Plus d basculs, circuit millur (n surfac par xmpl) ou pas suivant ls cas Intérêt : pas d calcul par l concptur Nq Nq2 s Plutôt d donnr ls tabls d vérité ds variabls d état t ds sortis On put dssinr l circuit à partir d l automat sans calcul Attntion crtains changmnts ds ntrés puvnt n pas êtr pris n compt, si la fréqunc d l horlog n st pas assz élvé P. Sicard- Cours ALM 5 Synthès d automat 7 P. Sicard- Cours ALM 5 Synthès d automat 8! Un état : un bascul! un transition : un ntr la sorti d la bascul t l ntré! En ntré d un bascul!: un OR ds différnts transitions arrivant à ct état (sorti ds ) Exmpl: 2 L codag parmi n ds états Etat Dpuis autr bascul OR D Q 2 Vrs autr bascul Pour ls sortis!: L codag parmi n ds états - Moor!: un OR ds sortis ds états pour lsquls la sorti vaut - Maly!: un OR ds transitions pour lsqulls la sorti vaut ialisation!: o " : SET sur la bascul contnant l état initial " RESET sur touts ls autrs basculs o Si bascul sans SET t RESET Entré état initial= OR (transitions, ) Entré Autr état = (transitions, barr) P. Sicard- Cours ALM 5 Synthès d automat 9 P. Sicard- Cours ALM 5 Synthès d automat 2
Exmpl codag parmi N EXERCICE - Rtrouvz l circuit précédnt n faisant ls calculs ds fonctions boolénns q, q2, q3 /oui /non /non OR OR St D Q Rst Rst s rin - Baucoup d phi-boolén - Fonctions à 4 ntrés - Exmpl: q q2 q3 Nq Autrs valur à Phi /oui /non /non P. Sicard- Cours ALM 5 Synthès d automat 2 P. Sicard- Cours ALM 5 Synthès d automat 22 Exrcic: command d fu tricolor Ls informations d ntrés sont : voitur-présnt (vp), voitur-absnt (va). La sorti st la coulur du fu : Vrt (V), Orang(O) ou Roug (R). L comportmnt du systèm st l suivant: Au départ l fu st roug. Si l fu st roug : si un voitur st présnt, l fu pass au vrt sinon l fu rst roug. Si l fu st orang l fu pass au roug. Si l fu st vrt : si un voitur st présnt, l fu rst au vrt ; si un voitur st absnt dux fois d suit, l fu pass au orang. Orang Quatr Command d fu tricolor Automat d Moor Un Trois Roug Vrt Dux Graph d l'automat command d fu (n Moor) Vrt P. Sicard- Cours ALM 5 Synthès d automat 23 P. Sicard- Cours ALM 5 Synthès d automat 24
Command d fu tricolor Maly Command d fu tricolor Automat Maly 2 /Roug /Roug Un /Vrt /Vrt /Roug Un /Vrt /Vrt /Orang Dux Quatr /Roug Dux /Vrt /Vrt Trois /Vrt /Orang Trois /Vrt! Graph d l'automat command d fu (n Maly) Attntion l fu n pass pas forcémnt au roug après l orang Graph d l'automat command d fu (n Maly) Ctt fois on pass forcémnt par l roug après l orang P. Sicard- Cours ALM 5 Synthès d automat 25 P. Sicard- Cours ALM 5 Synthès d automat 26 Synthès command d fu tricolor Codag compact ds états Etat q, q2 Un Dux Trois Quatr Codag ds sortis Sortis S S2 Vrt Orang Roug Codag ds ntrés Entrés E Synthès command d fu tricolor Fonctions d transition t d sorti (Moor) q q2 Nq Nq2 S S2 Orang ( ) (not ) Roug ( ) () Vrt ( ) Vrt ( ) P. Sicard- Cours ALM 5 Synthès d automat 27 P. Sicard- Cours ALM 5 Synthès d automat 28