Structure interne
L’analyse du cahier des charges, conduit à déterminer les fonctions principales du problème posé, c’est à dire à structurer le projet.
En pensant chaque fonction comme indépendante de la suivante ( ce qui n’est pas vrai mais colle parfaitement à l’aspect concurrence des processus), on y détermine assez aisément les blocs suivants:
- Traitement des boutons poussoirs: détection d’un appui avec filtre anti-rebonds. Un composant existe dans la bibliothèque de vhdl33 représenté par le fichier bouton_poussoir.vhd . On en fera 4 instanciations ce qui oblige à une déclaration de component.
- Gestion du temps. On divise l’horloge jusqu’à obtenir un signal carré de periode 1 seconde. ce signal carré permettra d’afficher le clignotement à la seconde. En suivant, un diviseur par 60 donnera la minute.
- Registres: Un compteur 4 chiffres de type bcd est choisi pour les heures ( de 0 à 23) et les minutes ( de 0 à 59). De façon assez proche, un compteur bcd 4 chiffres permettra de programmer et de mémoriser l’alarme.
- Logique de commande. Une machine d’état très simple décrit les différentes phases de la programmation. Une logique combinatoire associée fournit les différentes commandes d’incrémentation / décrémentation du compteur horloge, incrémentation / décrémentation du compteur alarme.
- Formatages des sorties. Dans l’hypothèse d’un affichage 7 segments, il faut procéder à un décodage bcd-7 segments. On choisie de la faire par une fonction existante de la bibliothèque vhdl33 primitives_pack.vhd.
=> Suite
Leave a Reply
You must be logged in to post a comment.