Il Bop avec carte FPGA (6 / 7 étapes)

Étape 6: Descriptions de Modules VHDL

Compteur de la minuterie :

Minuterie dépend de plusieurs variables. La principale variable est la fr, qui a été parlée dans la machine à états finis. Ce programme est le programme qui permet de s’assurer qu’après une certaine quantité de cycle (dans notre cas 4), le programme se termine. Si le fr = 1, puis le module ajoute un à un nombre binaire de 3 bits, qui est au départ à zéro, sur le lever du CLK. sinon le compteur est remis à zéro. Il y a aussi une sortie à afficher si le temps est écoulé ou si vous avez appuyé sur le bouton droit.

Compteur de score :

D’un point de vue fonctionnel, le compteur totalise 1 au score total s’il reçoit un signal de match. Sinon il la partition est définie à la note précédente. Le score est initialement défini à zéro. Le score est de réinitialisations à zéro dans l’état d’inactivité de la machine à états finis.

Comparateur :

Le comparateur prend dans deux bus de 3 bits et compare ceux aux bus lorsque l’en est 1. Sur des autobus représente l’inclinomètre et l’autre est les LEDs. Ce comparateur est essentiellement de vérifier si l’inclinomètre et les voyants répondent. S’ils le font, il envoie un signal de match, dans le cas contraire le non match de signal est d’être envoyer. Si l’élément de comparaison voit que le btn n’ont pas été de presse, il ne donnera pas égaler ou ne correspond pas à n’importe quel signal.

sseg_dec :

Code a été créé par Bryan Mealy. Ce code comporte peu de composants. Il convertit de binaire en décimal, gère l’affichage à sept segments avec la valeur d’entrée, et il contient aussi un diviseur d’horloge.

Division de l’horloge :

Le code de diviseur d’horloge a été écrit par Bryan Mealy. Un diviseur d’horloge ralentit ou augmente la fréquence de l’horloge. Nous avons peaufiné les valeurs max afin de correspondre le laps de temps / cycle nous cherchaient. Notre diviseur d’horloge modifiés s’exécute sur un trimestre une deuxième période.

Décodeurs :

Nous n'avons qu’un seul décodeur qui assigne la valeur aléatoire de 8 bits vers des valeurs différentes 3 bits. Le bit 8 nombre représente la valeur aléatoire que nous obtenons par le générateur de bits aléatoires que nous serons parlé davantage dans les détails plus tard. Le nombre de bits 3 représente la LED qui va être illuminé.

Driver de LED :

Ce module était censé être le pilote pour l’indicateur de touche et le tempo de LED. Le tempo LED simplement copiée le signal d’horloge ralenti de notre diviseur d’horloge et flashé sur le rythme du jeu. Le voyant du bouton LED clignote sur les deux premiers des quatre beats indiqués par l’indicateur de tempo, comme il copié le signal de notre horloge super lent (période de quatre temps).

Sélecteur de bouton au hasard :

Le sélecteur bouton aléatoire que nous avions utilisé un pseudo random bit générateur, créé par un registre à décalage rétroaction linéaire (LFSR ou pour faire court). Ce LFSR est simplement une chaîne de d-flip flops avec quelques sorties de sélectionner flip-flop menant à portes XOR qui mènent vers le premier flop d-flip. Cette chaîne crée une séquence semi-aléatoire qui se répète à un certain moment (mais pas rapidement). Ce LFSR crée un nombre binaire au hasard huit bits (au format décimal, quelque part entre 0 et 255), que nous envoyons ensuite notre décodeur choisir un bouton. (Nos PRBG a été modélisé après PRBG de 16 bits de Debashish Mohapatra, qui se trouve herehttp://www.debashish.info/index.php/e-learning/vlsi-design/vhdl-codes/174-prbs-pseudo-random-binary-sequence-generator-vhdl-code-and-vhdl-testbench-creation)

Articles Liés

AirHockey Robot avec carte FPGA Zybo

AirHockey Robot avec carte FPGA Zybo

Vue d'ensembleAujourd'hui, nous apprendrons comment construire un Robot de AirHockey (tableau inclus) basé sur l'approche de Jose Julio.Voici une vidéo sur comment tout cela a commencé :Choses dont vous aurez besoin :Robot :1 x Digilent ZYBO Zynq™-70
Comment contrôler un moteur pas à pas avec un FPGA

Comment contrôler un moteur pas à pas avec un FPGA

Cette instructable vous guidera dans le processus et certaines connaissances de base sur la façon d'obtenir un moteur pas à pas travailler sur un FPGA. Spécifiquement un moteur de Nema pas à pas, avec les Digilent Basys 3 et Digilent PmodSTEP.Actuell
Capteur Maxbotix Lv-EZ avec carte de dérivation Cylonjs et Edison Arduino

Capteur Maxbotix Lv-EZ avec carte de dérivation Cylonjs et Edison Arduino

Cette instructable est destiné aux utilisateurs qui souhaitent la série Ez LV Maxbotix capteurs à l'Edison avec carte de dérivation arduino, avec cylonjs ou johhny-cinq de l'interface.Étape 1: Vous aurez besoin des choses.1) Edison avec carte de déri
Comment utiliser une manette de jeu avec un FPGA

Comment utiliser une manette de jeu avec un FPGA

Cette instructable est encore un autre arrêt sur mon voyage à construire le jeu de la griffe entraîné par un FPGA. Auparavant, j'ai écrit comment contrôler un moteur pas à pas avec un FPGA. Maintenant, j'avais besoin d'une manette de commande afin qu
À l’aide d’une manette de contrôle de moteurs pas à pas avec un FPGA

À l’aide d’une manette de contrôle de moteurs pas à pas avec un FPGA

Dans la troisième étape de mon voyage à recréer le jeu de la griffe avec le Basys3, j'ai connecté deux PmodSTEPs, deux moteurs pas à paset le PmodJSTK à l' Basys3 afin que je peux contrôler chacun des servos avec la PmodJSTK.Pour ce faire, j'ai conne
Undistructible mise à niveau de votre ancien obsolète Music System avec carte SD, USB, sans fil auxiliaire

Undistructible mise à niveau de votre ancien obsolète Music System avec carte SD, USB, sans fil auxiliaire

Undistructible mise à niveau de votre ancien obsolète Music System avec carte SD, USB, sans fil auxiliaireCe que vous atteindre en faisant cela sans endommager voiture fm modilator:-1. continuer à utiliser dans la voiture2. utiliser pour écouter de l
Mini Conseil AVR avec cartes supplémentaires

Mini Conseil AVR avec cartes supplémentaires

un peu similaire à PIC 12f675 protoboard mini, mais étendue et avec des cartes supplémentaires.À l'aide d'attiny2313.Étape 1: schémaCommençons d'abord par un régime. Le régime est assez évident, puisqu'il connecte uniquement attiny2313 avec les broch
Mise en place Microblaze sur la carte FPGA Nexys4

Mise en place Microblaze sur la carte FPGA Nexys4

Il s'agit d'une introduction à la mise en place d'un processeur microblaze pour la Nexys4 Artix-7, à l'aide de Vivado 2014.1.Etape 1: Créez un nouveau projet en Vivado1. Créez un nouveau projet. (Image 1)2. Appuyez sur NextÉtape 2: Nom du projet3. Ap
Radio FM avec carte de dérivation Si4703, LCD et Arduino

Radio FM avec carte de dérivation Si4703, LCD et Arduino

Ce projet est juste une petite partie d'un projet plus vaste, que j'ai travaillé sur pour les deux dernières années (sur et en dehors). Le contexte de ce projet est que quelques années en arrière, j'ai trouvé une librairie moderne (connexion iPod, AM
Comment jouer à vitesse avec cartes

Comment jouer à vitesse avec cartes

La vitesse est un couramment un jeu de cartes à deux joueurs dans lequel les deux joueurs reçoivent un nombre égal de cartes et doivent placer toutes les cartes dans les pieux Centre pour gagner. Étant donné la pratique et l'adversaire de droite, il
Water Works: 3D imprime de l’aqueduc de San Francisco avec carte

Water Works: 3D imprime de l’aqueduc de San Francisco avec carte

Water Works est une visualisation des données et la cartographie de l'infrastructure de l'eau de San Francisco : les tuyaux, les bouches et les stations d'épuration qui composent le réseau circulatoire de la ville.Pour ce projet, j'ai créé trois impr
Comment jouer Crazy Eights avec cartes

Comment jouer Crazy Eights avec cartes

Crazy Eights est un amusant jeu similaire à l'ONU de jeu où les joueurs se relaient plaçant des cartes qui correspondent à leur valeur nominale ou costume avec l'objectif d'éliminer toutes les cartes en main ; la seule différence est qu'il se joue av
SAC de BUTIN de PIRATE avec carte de trésor caché

SAC de BUTIN de PIRATE avec carte de trésor caché

j'aime butin de pirate, les pièces d'or et de diamants brillant.J'ai offert cet été, 2012, à planifier et à mettre en œuvre des projets d'artisanat pour ma communauté.  C'est une des activités que nous allons faire.  La tranche d'âge est 4e année par
Adressables LEDs sur la carte FPGA Arty

Adressables LEDs sur la carte FPGA Arty

Adressables LEDs sont amusants à ajouter à n'importe quel projet et peuvent maintenant d'ajouté à n'importe quelle conception Zynq ou Microblaze. Le noyau DigiLED FPGA IP peut être personnalisé via une interface graphique simple et puis écrit patrons