Nexys-2 Dodger léger jeu (4 / 6 étapes)

Étape 4: Description de VHDL

Voici une explication de notre VHDL. Il y a quelques bugs, mais cela vous aidera à améliorer ou à utiliser certaines de ses composantes dans vos propres projets. Ci-dessus sont des photos de la machine à états finis et diagramme de boîte noire que vous pouvez utiliser pour aider à comprendre le VHDL.

« Jeu » est le module de niveau supérieur qui relie tous les composants du projet et assigne les sorties. Signaux et port cartes sont utilisées pour connecter les composants ensemble. C’est aussi le module où nous avons sortie la position de votre personnage ainsi que les obstacles à l’affichage. Il contient aussi le processus qui rend toutes les LED flash vert ou rouge et réinitialise le jeu lorsque vous gagnez ou perdez, respectivement.

« scroll_clk0 » est le module qui contient l’horloge ralenti utilisée pour incrémenter le progrès et le score du joueur. Il s’agit d’un diviseur d’horloge de base qui compte horloge cycles pour créer une impulsion d’horloge plus lente environ une fois par seconde.

« map_decoder0 » est le module qui lit les positions de l’obstacle de la ROM afin qu’ils peuvent être affichés sur la matrice de LED et vérifiés contre la position de l’utilisateur.

« display_counter0 » est le module avec le compteur 3 bits que cycles à travers lequel la ligne de la matrice de LED est affichée. Ce compteur est construit avec des tongs bascule qui peuvent être réinitialisés à 0.

« map_progres_counter0 » est le module qui garde une trace de combien de temps l’utilisateur a progressé à travers le jeu. Cet exemple utilise un compteur 8 bits issu de tongs bascule qui peuvent être réinitialisés à 0 lorsque le jeu se termine.

« address_adder » est un module qui utilise un demi additionneur et sept additionneurs complets pour faire un 8 bits d’ondulation portent additionneur. Cela permet d’ajouter l’état d’avancement de l’utilisateur pour la ligne actuellement affichée afin de pouvoir lire les positions correctes obstacle de la ROM.

« standard_decoder » est le module équipé d’un décodeur standard 3 à 8 qui utilise le nombre trois bits du module display_counter0 pour déterminer quelle ligne pour mettre en marche.

« map_rom0 » est le module qui contient la mémoire en lecture seule de la position des obstacles sur chaque ligne. En utilisant ce crée la synthèse AVERTISSEMENT « Instantiating module de boîte noire » et pendent plusieurs broches avertissements. Toutefois, ces avertissements n’affectent pas le jeu parce que c’est reste de la création automatique de la mémoire de bloc. Pour pouvoir modifier la ROM en utilisant le programme de l’ISE Design Suite 14,5, tout d’abord créer un fichier bloc-notes par ce qui suit :

memory_initialization_radix = 2 ;
memory_initialization_vector =

00000000,

01000000,

00100000,

00010000 ;

Ajouter 1 où vous voulez un obstacle seront placés, et ce fichier peut être jusqu'à 256 lignes de long. Assurez-vous que seulement la dernière ligne se termine par un point-virgule.

Ensuite, enregistrez ce fichier sous un fichier .coe en ajoutant « .coe » à la fin du nom du fichier et en changeant le « save as type » à "tous les fichiers.

Ensuite, double-cliquez sur le module « map_rom0 ». Après que cela s’ouvre, allez à la page 2 et assurez-vous que le Type de mémoire est le seul Port ROM dans le menu déroulant. À la page 3, assurez-vous que la largeur de lecture est de 8 bits et la profondeur de la lecture est de 256. Si vous souhaitez modifier la taille de la carte, voir page 6 de cette instructable. À la page 4, assurez-vous que le fichier Init de charge et les cases à remplir les emplacement de mémoire restants sont vérifiées et que votre fichier .coe est utilisé dans la zone fichier de Coe. Vous pouvez voir les valeurs de la carte en sélectionnant le spectacle. Enfin, sélectionnez générer.

« buffer_with_output_enable0 » est le module qui fait en sorte que les obstacles sont émis aussi peu actif et leur permet d’être mis hors tension lorsque le jeu se termine. Ceci est rendu à l’aide d’onduleurs et tongs D.

« win_lose_logic0 » est le module qui vérifie si l’utilisateur a atteint la fin de la carte ou qu’il a est entré en collision avec un obstacle pour que le « jeu » module peut clignoter l’écran avec toutes les LED rouges ou vertes et réinitialiser les compteurs en « map_decoder0 »

« sseg_dec0 » est le module qui lit un nombre 8 bits et affiche sa valeur décimale équivalente sur l’afficheur 7 segments sur la carte Nexys-2. Ce paquet contient également un diviseur d’horloge utilisé pour contrôler le taux de rafraîchissement de la machine d’état fini de déplacer l’affichage 7 segments et la matrice de LED.

« move_fsm0 » est le module qui lit les entrées de gauche et de droite et renvoie la position de l’utilisateur après avoir déménagé. Il décode aussi la valeur de 3 bits de position à la sortie de celui-chaud 8 bits. Au-dessus se trouve un schéma de la machine d’État Moore.

« buffer_with_output_enable1 » est un module qui a la même structure que « buffer_with_output_enable0. » Toutefois, cela est utilisé pour rendre la position de l’utilisateur actif bas et elle peuvent être désactivés lorsque le jeu se termine.

« game.ucf » est le fichier de contrainte de l’utilisateur qui définit quelles broches sur la carte se connecter aux entrées et sorties du jeu.

Articles Liés

SABRE léger jeu au Sratch

SABRE léger jeu au Sratch

Il s'agit d'une vidéo tutoriel vous enseigner comment créer utilise Video Motion en Scratch pour créer des effets étonnants où vous pouvez utiliser un objet lumineux dans une pièce sombre... comme un smartphone, torche ou même une lumière jouet sabre
Jeu de LED Timer Nexys3

Jeu de LED Timer Nexys3

Il s'agit d'un tutoriel pour savoir comment rendre le jeu de la minuterie. Le jeu de la minuterie est inspiré par le léger jeu d'arcade, le jeu où une lumière se déplace le long d'un chapelet de lumières et vous essayez de l'arrêter sur le voyant rou
IKEA HACK : lampes faciles

IKEA HACK : lampes faciles

IKEA a beaucoup de choses qui peuvent être transformés en lumières attrayantes. J'ai adoré le look industriel de la passoire en acier inoxydable, et les transformer en une lampe est un jeu d'enfant avec peu coûteux Hemma léger jeu de douilles IKEA.À
Vacillante Origami lanterne

Vacillante Origami lanterne

J'ai fait un tas de lanternes d'origami pour un ami mariage quelques années en arrière, et il ne semblait que juste d'ajouter des lumières à la conception. Après tout, ce sont des lanternes ! Comme je n'ai pas envie de brûler mon appartement, j'ai dé
Batterie de secours dans le désert

Batterie de secours dans le désert

Imaginez cette situation :Vous êtes en camping dans le désert. Dans la zone où vous avez votre tente, vivent carnivores scorpions mangeurs d'hommes qui sont actifs pendant la nuit parce qu'ils ont peur de la lumière. Si le soir vous testez si votre l
Pi-plaque avec Spark base de contrôle

Pi-plaque avec Spark base de contrôle

Le Conseil de ppDAQC de Pi-Plates.com est une solution peu coûteuse mais puissante pour étendre les capacités d'entrée/sortie du noyau Spark. Et puisque le Pi-plaques sont empilables, c'est une tâche simple pour renforcer les capacités de I/O d'un se
L’étonnant jeu de labyrinthe pour Nexys 3

L’étonnant jeu de labyrinthe pour Nexys 3

Bonjour à tous ! Il s'agit de la création d'un jeu de labyrinthe reprogrammable Nexus 3 planches.Nous sommes deux étudiants à Cal Poly San Luis Obispo et il s'agit de notre dernier projet pour notre classe de Design numérique. L'objectif était de cré
Dodge lot jeu [couleurs]

Dodge lot jeu [couleurs]

Bonjour, aujourd'hui je vous montre un nouveau jeu de commandes que j'ai créé ! Son nom est dodge et contrairement aux autres jeux de lot, il permettra d'économiser vos points. Jeu sage vous aurez besoin d'un W fonctionnel, la touche A, S et D pour j
Jeu VHDL: LED - bouton Push jeu Instructable

Jeu VHDL: LED - bouton Push jeu Instructable

Bienvenue ! Il s'agit une instructable pour créer un jeu simple de VHDL en utilisant les LEDs et les boutons que nous avons appelé PushPace. Avant de continuer, Voici les antécédents et l'inspiration derrière le jeu.Arrière-plan Si vous avez grandi d
Jeu des idées Sonic et bébé avidité Vengeurs GX The Rise de The Chaos Fusion

Jeu des idées Sonic et bébé avidité Vengeurs GX The Rise de The Chaos Fusion

Sonic et bébé avidité Vengeurs GX la montée de la Fusion de ChaosIncomplètesSonic et bébé avidité Vengeurs GX la montée de la Fusion de ChaosPrononcé un jeu en ligne dans le monde entier et de jeu hors ligne aussi prononcer Sonic et avidité Vengeurs
Jeu de FPGA BitRunner

Jeu de FPGA BitRunner

Créez et jouez votre propre jeu de Runner Bit. Aucune console ou ordinateur costaud requis ! Appuyez sur le bouton de dodge à esquiver les obstacles entrants pour obtenir le meilleur score ! Ce projet est décemment difficile, un défi pour les débutan
Jeu d’arcade rétro sur le thème de Star Wars

Jeu d’arcade rétro sur le thème de Star Wars

Un seul bouton. LCD. sur le plan procédural généré le terrain. Un soupçon de Star Wars. Un jeu addictif.Ne sais pas pourquoi, mais j'ai été obsédé par le style artistique de ces jeux d'arcade rétro pixélisé. Je ne pouvais pas obtenir assez, et j'ai d
ATCO Metapixel - jeu de Conway de la vie

ATCO Metapixel - jeu de Conway de la vie

Jeu de la vie de Conway est un type de 2D automate cellulaire qui utilise un ensemble de règles simples pour décrire le comportement des cellules au cours des étapes de temps discret. Étonnamment, vous pouvez générer le comportement très complexe d'a
RGB LED Pixel tactile réactive Table de jeu

RGB LED Pixel tactile réactive Table de jeu

Les tables sont des objets utiles à avoir et que nous avions besoin d'une nouvelle table basse pour le salon c'était logique pour construire mon propre avec quelques fonctionnalités supplémentaires électronique.Ma conception de la table comprend les