Cours FSM v2.0.1 PDF
Cours FSM v2.0.1 PDF
Cours FSM v2.0.1 PDF
à états finis
ENIT - Génie Électrique
BOURGUIBA Riadh
[email protected]
2
1. Généralités
Logique combinatoire
Un circuit logique est dit combinatoire, si ses sorties sont déterminées uniquement
par une combinaison de ses entrées.
=> Si on applique, à des instants différents, les même entrées à un circuit logique
combinatoire, on obtiendra toujours les mêmes sorties, quels que soient ces
instants.
Logique séquentielle
Un circuit logique est dit séquentiel, si ses sorties sont déterminées par une
combinaison de ses entrées et par la séquence de ses entrées précédentes depuis
un état initial connu.
=> Si on applique, à des instants différents, les même entrées à un circuit logique
séquentiel, on obtiendra des sorties différentes, selon l'histoire du système entre
ces deux instants.
Un circuit logique séquentiel conserve son histoire récente dans une mémoire appelée
registre d'état.
ENIT - Génie Electrique - v2.0.1
3
1. Généralités
Un automate, également appelé machine à états, est un concept
mathématique abstrait.
Dans un circuit réel, le registre d'état a une taille finie et le nombre d'états
qu'il peut prendre est limité. Les machines à états réelles sont donc des
machines à nombre d'états finis, abusivement appelées machines à états
finis, ou Finite State Machine (FSM) en anglais.
ENIT - Génie Electrique - v2.0.1
4
1. Généralités
Un machine à états finis peut être décrite de deux manières :
Son graphe d'états : Il s'agit d'un graphe orienté et étiqueté,
où les nœuds (cercles) représentent les états du système, les
arcs (flèches) indiquent les transitions et les étiquettes rappellent
les conditions de transition.
Les sorties sont obtenues par combinaison de l'état présent, qui évolue de façon
synchrone, et des entrées qui sont a priori asynchrones.
Etat : Il est représenté par un cercle, sur lequel on indique le nom de l'état.
Transition : Elle est représentée par une flèche qui porte sa condition de
déclenchement et les valeurs de sortie correspondantes.
Exemple :
Cette machine possède une entrée, calcule une sortie et peut prendre deux états.
=> Les entrées n'agissent plus directement sur les sorties, qui désormais
restent stables pendant tout le cycle d'horloge.
Créer 2 étages, mais qui s'exécutent en parallèle sur les mêmes entrées
(effet pipeline très limité).
L'analyse des timings devient possible, puisque le bloc de calcul des
sorties est séparé des blocs combinatoires qui suivront la machine, et
que l'on ne connaît pas toujours (concept de bloc IP).
=> Les sorties sont constantes dans un état donné et ne peuvent varier que
suite à un front d'horloge, moyennant le temps de traversée du bloc combinatoire.
Etat : Il est représenté par un cercle sur lequel on indique son nom, ainsi que
les valeurs des sorties.
Transition : Elle est représentée par une flèche, qui porte la condition de
déclenchement.
Exemple :
De plus les deux étages obtenus sont généralement bien équilibrés, d'où
un effet pipeline réel.