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.