Professional Documents
Culture Documents
ETUDE THEORIQUE
A la différence des circuits combinatoires, les signaux de sortie des circuits séquentiels ne
dépendent pas uniquement des entrées mais aussi de leur séquence. Le circuit se rappelle des
entrées et des états précédents : il a une mémoire du passé.
1-CAHIER DE CHARGE
Nous proposons de modéliser le fonctionnement d’un système alarme maison à base d’une
barrière infrarouge par une machine de Moore.
La barrière est composée d’un émetteur et un récepteur. Ce dernier reçoit les rayonnements
infrarouges depuis l’émetteur. Dés que ce taux de rayonnement change, la barrière considère
qu’un intrus a percuté son champ de surveillance ; elle transmet par la suite un signal à
l’alarme qui réagit et émet un signal sonore. Ce qui conduit à :
Quand l’alarme est désactivée même en présence d’une détection de mouvement par
la barrière, la sirène ne retentisse pas.
Quand l’alarme est activée en absence d’un mouvement, la sirène ne retentisse pas.
Quand l’alarme est activée et la barrière détecte un mouvement, la sirène se déclenche.
Avant de tracer le diagramme d’état, il se révèle indispensable d’identifier les entrées, les
sorties, ainsi que les transitions entre ses états.
Notre système possède deux entrées nommées A (Alarme) et B (Barrière) et une sortie
notée S (sirène)
Page 1
Mini projet : Machine à états finis Alarme maison à distance
Notre système possède 2 états correspondants aux deux états possibles de sortie.
AB
Etat 1 0/0 Etat 2 1/1
AB + AB
AB + AB +AB AB +AB
Notre système a deux états, donc on a besoin d’une seule variable afin de le coder. L’état 1 va
être codé à 0 et l’état 2 à 1.
Page 2
Mini projet : Machine à états finis Alarme maison à distance
0 x
0 0
1 0 0
1 1 1
1 1 x 1 1
0 x 0
Tableau 1. Table de transition
- La transition de l’état 0 vers l’état 1 se fait si l’alarme est activée (A=1) et B capte un
mouvement (B=1).
- Le système reste dans l’état 0 si l’alarme est désactivée (A=0) quelque soit la valeur de
B ou bien si l’alarme est activée et le capteur ne détecte aucun mouvement.
- Le système reste dans l’état 1 si l’alarme est activée quelque soit la valeur de B.
Page 3
Mini projet : Machine à états finis Alarme maison à distance
Un FPGA est un circuit logique qui contient un ensemble de portes logiques (NOR, OR,
XOR…) et des bascules D. Ces portes ne sont pas connectées les unes aux autres, le
circuit en tant que tel ne remplit donc aucune fonction.
On accède de la manière suivante Start -> Programs -> Xlinix ISE Design Suite 10.1 -
> ISE -> Accessories -> StateCAD.
Page 4
Mini projet : Machine à états finis Alarme maison à distance
Figure 3.Compilation
Une fois, nous cliquons sur Close, notre fichier VHDL se génère automatiquement.
Page 5
Mini projet : Machine à états finis Alarme maison à distance
Figure 5. Simulation
Le StateBench permet de simuler un digramme d’état à partir de notre design à raison d’un cycle
d’horloge, en changeant les entrées et vérifiant les sorties.
La simulation représentée sur la figure 5 prouve que le diagramme d’état que nous avons crée se
comporte parfaitement.
Page 6
Mini projet : Machine à états finis Alarme maison à distance
Figure 6.1.
Figure 6.2.
Page 7
Mini projet : Machine à états finis Alarme maison à distance
Figure 6.3.
A présent, nous allons ajouter le fichier VHDL que nous avons généré
précédemment, la figure 7.2 montre l’aperçu d’un ajout réussi du code
VHDL.
Figure 7.1.
Implémentation
Page 8
Mini projet : Machine à états finis Alarme maison à distance
La figure 7.3 affiche le code VHDL implémenté dans la fenêtre du navigateur de notre projet.
Figure 7.3.
Implémentation
Page 9
Mini projet : Machine à états finis Alarme maison à distance
Figure 8.1.
Verification de
la syntaxe
Dans l’étape suivante, nous allons afficher nos schémas blocs. Tout d’abord nous allons exécuter
Create Schematic Symbol dans la fenêtre Processes
Figure 8.2.
Création du
symbole
schématique
Page
10
Mini projet : Machine à états finis Alarme maison à distance
Puis nous exécutons View RTL Schematic dans la fenêtre Processes, à la droite de la fenêtre du
navigateur du projet notre schéma apparait :
Une simulation se fait grâce à des stimulis. Pour simplifier, les stimuli sont à la simulation ce
qu’est le GBF à un montage électronique en phase de test. Il faut créer les signaux
pertinents pour vérifier la fonctionnalité du design.
On construit les stimuli en créant un fichier du type «Test Bench Waveform ». Pour ce
faire: Project -> New source, puis choisir Test Bench Waveform dans la liste proposée.
Donner un nom pour le fichier de test dans le champ file name.
Ensuite, le logiciel invite à choisir quelle description doit être soumise au test. Choisir la
source concernée VHDL ou schematic.
Après avoir cliqué sur terminer, la fenêtre qui suit s’affiche :
Page
11
Mini projet : Machine à états finis Alarme maison à distance
Figure 9.
Initialisation du
temps
Finalement on obtient l’ensemble des entrées et sorties du design. Il ne reste plus qu’à
Figure 9.1. Le
chronogramme
Page
12
Mini projet : Machine à états finis Alarme maison à distance
En double cliquant sur Simulate behavioral Model, la fenêtre Simulation affiche les signaux :
Figure 9.3.
Simulation
Page
13