Étape 3: Le Code
Tout notre code VHDL et XDC est inclus dans le fichier zip ci-joint. N’hésitez pas à utiliser ce code ou fonder votre propre hors de nôtre, cependant s’il vous plaît donner crédit lorsqu’elle est méritée. Nous recommandons en outre ouvrir et éditer le VHDL pour ce projet dans le Vivado Webpack version 2014.4, un logiciel libre. Nous avons codé dans cette version et notre Conseil Basys 3 est conçu pour fonctionner sur la Suite de Design Vivado. Grâce à cet environnement, le code peut être téléchargé directement à l’Office de Basys 3.
Alternativement, si vous souhaitez essayer d’implémenter votre propre code et veulent une orientation générale de ce que nous avons fait, ou si vous avez besoin d’une compréhension plus loin de notre code, voici une autre description des fichiers. Notre code est divisé en 3 fichiers VHDL et un seul fichier XDC.
Le fichier d’environnement souris est un fichier de niveau supérieur qui appelle à la logique des deux autres fichiers. Ce module contrôle la puissance de la souris PS/2, l ' éteindre si elle s’avère pour être inactif. Il appelle clk_div2 pour ralentir le signal d’horloge et des Nascounter pour compter le temps passé et de déterminer l’État. La valeur du bouton et la souris PS/2 données entrées de ce fichier. Il génère, par le biais de l’en-tête PMOD, la led et valeurs de puissance de souris.
Le fichier clk_div2 n’est pas notre propre et a été écrit par Bryan Mealy. Ce fichier ralentit le signal d’horloge à une fréquence plus utilisable pour nos besoins. Comme est commenté sur la ligne 38, nous avons fait une édition unique. En diminuant le nombre entier elements_valides, nous avons augmenté la fréquence de l’horloge de son précédent donné valeur permettant aux données d’entrée de la souris à lire à un haut assez fréquence pour une utilisation quotidienne. En supplémentaire diminuant cette valeur, la fréquence de l’horloge peut être augmentée.
Le fichier Nascounter détermine ce que le circuit devrait être dans l’Etat. Il fait ceci en lisant l’entrée de la souris PS/2 et compter les signaux d’horloge. Dans les fichiers actuel dès maintenant, la contrainte de temps de l’état de veille est définie à 6 secondes. Au sein de l’état d’arrêt vérifier, sur la ligne 68, la valeur peut être modifiée afin d’atteindre une longueur différente de veille du temps. (Note : changer la fréquence de clk_div2 va changer aussi la contrainte de temps.) Ce fichier repasse toutes les sorties à souris environnementale.
Le fichier XDC des contraintes environnementales souris Basys 3 est une version modifiée du fichier Basys 3 Master contraintes. Nous avons édité il vers le bas pour contenir uniquement les lignes que nous avions besoin pour ce projet. Cela inclut le bouton du milieu sur le Conseil de Basys 3, l’entrée USB, l’en-tête PMOD JA, le signal d’horloge et la configuration de tension.
Le fichier de contraintes inédites Basys 3 Master se trouvent à :
https://www.digilentinc.com/Products/Detail.cfm?na...
GitHub lien vers le code source :