07.11.2013 Views

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.4. MINIMISATION DE MACHINES SÉQUENTIELLES 81<br />

y 1 y 2 y 3 y 4 y 5<br />

s 1 0 0 0 1 1<br />

s 2 0 1 0 0 1<br />

s 3 1 1 1 0 1<br />

s 4 1 0 0 0 0<br />

Table 3. Exemple <strong>de</strong><br />

variables redondantes.<br />

On voit que {y 1 ,y 2 } sont redondantes. Mais <strong>la</strong> meilleure solution est {y 3 ,y 4 ,y 5 }. Si on<br />

élimine d’abord y 1 , alors <strong>la</strong> meilleure solution ne pourra être trouvée. il faut donc considérertousleschoixd’éliminationafind’obtenirunesolutionoptimale.<br />

Cetteapprocheest<br />

évi<strong>de</strong>mment exponentielle. Cependant, un algorithme branch and bound permet d’obtenir<br />

une solution optimale en un temps raisonnable [86] pour certaines machines.<br />

Chaque occurrence d’une variable d’état redondante est substituée par sa fonction <strong>de</strong><br />

réécriture dans <strong>la</strong> fonction <strong>de</strong> transition et <strong>la</strong> fonction <strong>de</strong> sortie <strong>de</strong> <strong>la</strong> machine. A chaque<br />

élimination, une variable disparait, on peut ainsi espérer diminuer <strong>la</strong> taille du circuit<br />

correspondant. Mais sur <strong>la</strong> machine réelle, ce processus <strong>de</strong> substitution correspond à<br />

l’ajout d’une partie combinatoire <strong>de</strong> codage/décodage, ce qui peut complexifier le circuit.<br />

Aussi le meilleur choix est-il difficile à faire, et il n’est pas toujours souhaitable <strong>de</strong> réduire<br />

optimalement <strong>la</strong> mémoire <strong>de</strong> <strong>la</strong> machine.<br />

Cette technique d’élimination <strong>de</strong>s variables redondantes, plus <strong>la</strong> minimisation <strong>de</strong> <strong>la</strong><br />

partie combinatoire sur l’espace <strong>de</strong>s états vali<strong>de</strong>s d’une machine séquentielle, permet <strong>de</strong><br />

réduire <strong>la</strong> complexité d’un circuit séquentiel. C’est cette approche qui a été utilisée par<br />

GérardBerrypouroptimiserlescircuitssynthétisésàpartir<strong>de</strong>programmesESTEREL[14,<br />

15, 16], ce qui donne <strong>de</strong> bonnes performances.<br />

3.4.3 Minimisation <strong>de</strong>s variables d’états par réencodage<br />

L’élimination <strong>de</strong>s variables d’états redondantes était un premier pas vers <strong>la</strong> diminution <strong>de</strong><br />

<strong>la</strong> mémoire. La minimisation <strong>de</strong>s variable d’états par réencodage revient à calculer une<br />

machine minimale équivalente à <strong>la</strong> machine initiale. Le réencodage permet une minimisation<br />

absolue. <strong>Une</strong> machine possédant r c<strong>la</strong>sses d’états équivalents peut être réencodée<br />

sur une machine possédant ⌈log 2 r⌉ variables d’état. Cependant, cette approche risque<br />

<strong>de</strong> complexifier considérablement <strong>la</strong> partie combinatoire du circuit, comme nous l’avons<br />

précisé ci-<strong>de</strong>ssus. <strong>Une</strong> approche non optimale en terme du nombre <strong>de</strong> variables d’état,<br />

mais optimale en terme du nombre d’états vali<strong>de</strong>s, consiste à réenco<strong>de</strong>r <strong>la</strong> machine sur ses<br />

c<strong>la</strong>sses d’états équivalents.<br />

Le réencodage peut se faire symboliquement en concevant une fonction <strong>de</strong> projection<br />

quivaprojeterunec<strong>la</strong>ssed’équivalencesurunétatunique<strong>de</strong>cettec<strong>la</strong>sse. Cetteprojection<br />

estobtenueenutilisantl’hyper-distance“plusprocheinterprétation”surlesinterprétations<br />

(voir Section 4.5.2). Dans [86] est proposée une telle projection. Le calcul <strong>de</strong>s c<strong>la</strong>sses<br />

d’états équivalents pour <strong>la</strong> réduction d’une machine séquentielle M, ou pour l’obtention<br />

du modèle minimal équivalent à M [23], s’effectue grâce à l’opérateur Pre décrit dans le<br />

Chapitre 5.

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

Saved successfully!

Ooh no, something went wrong!