Option Electronique Digitale

Transcription

Option Electronique Digitale
Université de Nice Sophia-Antipolis
Master 1 Informatique
Année 2005/2006
Option Electronique Digitale
Projet à rendre (au plus tard le 24/3/2006)
Ce projet est consacré à la conception d'un système de contrôle d'un distributeur de boissons
simplifié qui ne distribue qu'un type de boisson, au prix de 0.25 ¤.
L'entité D i s t r i b u t e u r ci-dessous décrit l'interface de ce circuit avec le dispositif
électromécanique (qu'on ne demande pas de décrire) chargé de recevoir et d'identifier les pièces
reçues, puis de délivrer la boisson, et éventuellement la monnaie rendue (on supposera que la
machine contient toujours suffisamment de pièces pour rendre la monnaie). La machine peut
recevoir des pièces de 5, 10 et 20 centimes.
entity Distributeur is
port(P5cts, P10cts, P20cts : in Bit;
Clk: in Bit;
R5cts, R10cts, Boisson : out Bit);
end Distributeur;
Le système qui récupère les pièces reconnaît les pièces fournies (on suppose que l'utilisateur de
fournit jamais d'autres pièces que celles prévues, c'est à dire 5, 10 et 20 centimes) et positionne à
'1' en fonction de chaque pièce reconnue les entrées P5cts , P10cts , P20cts. L'automate de
contrôle commande la remise de la monnaie à l'aide des sorties booléennes R5cts et R10cts (il
rend une pièce à la fois); sa sortie Boisson commande la remise de la boisson.
L'automate de contrôle est synchronisé par les fronts montants de l'horloge Clk, et on suppose
que la période de cette horloge est très courte par rapport au temps de manipulation de
l'utilisateur, de sorte qu'à chaque top d'horloge l'utilisateur n'a pu fournir au maximum qu'une
seule pièce de monnaie.
On utilise des états symboliques pour caractériser les états de l'automate de contrôle : machine
libre, ou déjà reçu 5 centimes, 10 centimes, 15 centimes, 20 centimes, 25 centimes, 30 centimes,
35 centimes ou 40 centimes (c'est le maximum que l'utilisateur pourra fournir).
Lorsque l'utilisateur a fourni au moins 25 centimes, la sortie Boisson est positionnée à '1', et
l'automate commande simultanément la remise d'une pièce de monnaie. S'il faut rendre plus de
monnaie (dans le cas où l'utilisateur a fourni 40 centimes), une transition d'état supplémentaire
sera nécessaire pour finir de rendre la monnaie (on aura d'abord rendu 5 centimes et il restera à
rendre 10 centimes). Lorsque la boisson a été remise et que toute la monnaie a été rendue,
l'automate est remis dans l'état libre.
Travail demandé :
- dessiner le graphe d'état de cet automate de contrôle et donner les tables des fonctions de
transition et de sorties associées
- faire la description VHDL de ce système. Concevoir une entité de test illustrant divers cas
de figure, réaliser la simulation et commenter les résultats obtenus
- réaliser manuellement la synthèse de ce système en utilisant un codage binaire classique,
donner le schéma du circuit correspondant et la description VHDL associée (style
dataflow), combien cette réalisation contient-elle de registres et pourquoi ?
- réaliser la simulation du circuit synthétisé sur la même entité de test que précédemment et
analyser les résultats obtenus
- (optionnel) après avoir réalisé les modifications nécessaires pour adapter la description de
l'automate à l'outil de synthèse d'Alliance, fournir une description obtenue au moyen de cet
outil et optimisée. La comparer à la vôtre.
A fournir : un fichier tar contenant
- les descriptions VHDL avant et après synthèse + les entités de test, le tout correctement
commenté
- un rapport (UN fichier au format ps ou pdf) décrivant toute votre démarche : schéma,
tables et description VHDL d'origine, processus de synthèse, schéma et description VHDL
finale, et analyse des résultats de simulation. Remarque : ce rapport doit contenir TOUT ce
qui est indiqué précédemment.