12.07.2015 Views

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!