Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.1. ESTEREL 15#B?B.!Oelse !O#B.?S.!O?B.!Oelse !O#B.?S.!O?B.!O#B.#P.?S.!O?B.!Oelse !O#B.#P.!O#B.?P.?S.!Oelse !OFig. 2.2 – Machine <strong>de</strong> Mealy <strong>de</strong> la porte automatique.2.1.3 Circuits séquentielsLes machines à états finis <strong>de</strong> Mealy (Mealy FSM) peuvent aussi servir <strong>de</strong> modèle opérationnelaux circuits séquentiels. Un circuit séquentiel se présente sous forme d’un système d’équationsbooléennes. Tout circuit séquentiel admet une traduction sous forme d’automate <strong>de</strong> Mealy.Le langage <strong>Esterel</strong> bénéficie également d’une traduction sous forme <strong>de</strong> circuit. La traduction<strong><strong>de</strong>s</strong> langages <strong>de</strong> la famille d’<strong>Esterel</strong> comme les automates hiérarchiques ou les SyncCharts[4] vers les circuits booléens <strong>de</strong> contrôle est comparable à la traduction d’un calcul <strong>de</strong> processusvers un réseau <strong>de</strong> Pétri.Les circuits séquentiels sont issus d’une interprétation dénotationnelle du langage. Cette traductionest compositionnelle et préserve la sémantique du langage. On parle ici <strong>de</strong> format circuitpar analogie aux circuits électroniques composés <strong>de</strong> portes logiques.IXO 1R 1O 1 = I ∨ XR 2O 2Fig. 2.3 – Circuit séquentiel.O 2 = ¬ XR 1 = reg(O 1 )R 2 = reg(O 2 )X = R 1 ∧ R 2Parmi les portes logiques se distinguent les registres booléens qui constituent les délaisélémentaires du programme. Ils permettent <strong>de</strong> conserver <strong><strong>de</strong>s</strong> données <strong>de</strong> manière persistanteet donc <strong>de</strong> mémoriser l’état du programme :Y = reg(X)signifie que la valeur Y du registre à l’instant n + 1 est égale à la valeur <strong>de</strong> X à l’instant n. Lereste <strong><strong>de</strong>s</strong> portes (∧, ∨, ¬ ) constitue la partie combinatoire du système. Les signaux d’entrée et<strong>de</strong> sortie du <strong>programmes</strong> sont représentés par <strong>de</strong> simples fils, porteurs d’une valeur booléenne :1 lorsque le signal est présent et 0 lorsque le signal est absent.Modèle d’exécution <strong><strong>de</strong>s</strong> circuits séquentiels. Comme en <strong>Esterel</strong>, un circuit séquentielréagit à chaque instant. La notion d’instant est ici réalisée par l’utilisation <strong><strong>de</strong>s</strong> registres booléens.Au premier instant, tous les registres sont positionnés à 0. A chaque instant, le statut <strong>de</strong> chaquesignal <strong>de</strong> sortie est calculé en fonction <strong><strong>de</strong>s</strong> signaux d’entrée et <strong>de</strong> la valeur <strong><strong>de</strong>s</strong> registres. Cecalcul est réalisé en suivant les règles <strong>de</strong> propagation du courant électrique. Ainsi, la valeur