« Simon » CPE 133 Final du projet (1 / 6 étapes)

Étape 1: Première Finite State Machine

Le premier FSM, nous avons créé deux États étaient affichage et attente pour afficher correctement un motif sur les LEDs.

Le FSM commence dans l’état d’attente et une fois le signal de départ est pressé, il se déplacerait à l’état d’affichage pour afficher le modèle. Une fois que l’affichage a été généré, le programme serait revenir à l’état d’attente basée sur la valeur de compteur max étant haute qu'elle transférerait ensuite plus à la deuxième FSM qui comparerait l’utilisateur d’entrée à l’écran.

État d’affichage :

Dans notre projet, nous avons voulu créer un motif aléatoire pour les LEDs. Pour ce faire, le code doit avoir un générateur de nombres aléatoires. Nous avons utilisé vhdl pour un LFSR (Registre à décalage rétroaction linéaire) qui fut faite nous en classe par le professeur Danowitz pour le générateur de nombres aléatoires.

Ce générateur de nombres aléatoire doit être relié aux LED, où les différentes sorties du générateur sont associés à chacun des 4 LEDs. Notre générateur de nombres aléatoires crée un nombre aléatoire de 32 bits, et nous avons divisé chaque LED pour mettre en marche selon ce que la valeur de la générateur de nombres aléatoires était en hexadécimal.

Il est important dans le vhdl pour avoir un signal de départ, qui nous avons attribué à un bouton. Dans ce cas, chaque fois que le bouton est enfoncé puis commencerait le générateur de nombres aléatoires, et donc les LEDs seraient afficherait. Avec cela, l’utilisateur a la possibilité de démarrer le jeu, chaque fois qu’ils sont prêts.

En outre, nous avons créé une minuterie pour ralentir l’horloge afin que l’affichage LED être visible à l’oeil humain au lieu d’être allumés pour une nanoseconde. Nous avons trouvé un exemple d’un timer en ligne qui nous modifiés pour travailler pour notre jeu qui se trouvent dans les références. La minuterie crée également un signal max compteur : cela se produit lorsque l’horloge passe à travers un cycle.

Nous avons également introduit un d-flip-flop pour verrouiller la valeur générée de la LFSR pour cycle d’horloge. Cette sortie devenue alors l’entrée d’un multiplexeur pour que la LED devrait être soit activée ou désactivé pour cycle d’horloge. En raison du multiplexeur, nous avons un signal select qui est déterminé par l’état de la FSM ; Si l’État est affichage puis sélectionnez serait élevé, si c’était à l’affût, il serait plus faible. Il s’agit d’une technique que nous avons utilisé pour que la LED puisse rester allumée pendant une courte période de temps et avant de s’éteindre pour créer un modèle.

État d’attente :

Le but de l’état d’attente était pour l’affichage LED indiquer au programme lorsque le modèle est prêt à être générée, puis continuer sur le prochain FSM quand c’était fini afficher le modèle.

Articles Liés

Makerspace Final du projet [Guillaume Montpetit]

Makerspace Final du projet [Guillaume Montpetit]

Mon projet est tout simplement une chanson que j'ai créé avec Ableton Live 9 Suite.Vous pouvez penser : comment une chanson peut aider à un problème de la vie réelle ? Eh bien, la question est : avez-vous déjà senti vraiment mal dans votre vie et d'é
Les Annotations de dessin étape 6 final du projet et les détails

Les Annotations de dessin étape 6 final du projet et les détails

Il s'agit d'une occasion de montrer ce que vous savez tout inventeur. Cela ne veut pas être une instruction détaillée, mais plus d'une feuille de route pour vous rendre a commencé a donner des conseils. C'est partie 6 d'un projet de la 6 partie. S'il
Le garçon qui a exploité le vent : Final du projet

Le garçon qui a exploité le vent : Final du projet

Mon activité, que j'ai choisi est la cuisine, je vais faire des spaghettis de Courge spaghetti à la sauce moutarde de Dijon et quelques boulettes de viande à l'italienne. Tout d'abord vous coupez en deux puis vous épépinez la courge, après que vous l
CNC Stomp Pad projet | Programmation CNC | Programmation du G-Code | CNC Plasma Cutting

CNC Stomp Pad projet | Programmation CNC | Programmation du G-Code | CNC Plasma Cutting

Ce Instructable consiste à faire une rampe de stomp personnalisé pour une planche à neige. Elle utilise des CNC conception et programmation CNC de découpe Plasma CNC pour obtenir tout le travail accompli. Il commence sur le côté de l'ordinateur de co
Internet touche - Simon

Internet touche - Simon

Simon est un jeu de 1978. Le jouet vous donne de plus en plus longues séquences de couleurs et, pour réussir, vous devez les rejouer retour correctement.Ce jeu est parfait pour le Photon particule avec le bouclier Internet bouton. Tout le matériel do
Mon projet de Math

Mon projet de Math

C'est pour mes morceaux et pièces III Final du projet.Tout ça est faux. C'est seulement pour montrer comment bien je peux utiliser de l'impôt et de réduction.Fini des coûts 902,40 $ en tout.
5 palettes, 3 projets

5 palettes, 3 projets

Si tout cela a commencé parce que j'ai vraiment besoin d'une table basse pour mon salon. J'ai toujours voulu faire quelque chose avec des palettes et j'ai mon travail jette à palettes tout le temps si elles ne sont pas notre taille standard. Alors j'
Régulateur de température solaire petit

Régulateur de température solaire petit

Il s'agit d'un projet final pour notre classe CPE 133 à Cal Poly qui a été conçu pour être une version à échelle réduite d'un obturateur automatique et l'isolant. Le système comporte deux sondes de température pour mesurer la température interne et e
FPGA Tic Tac Toe

FPGA Tic Tac Toe

"Tic Tac Toe ? Qu'est-ce que c est? J'ai jamais entendu parler de cela. »-Personne ne jamaisPar Ryan Frawley et Derek NguyenCe guide vous montrera comment faire un travail de Tic Tac Toe jeu en VHDL sur une planche de Nexys 2 FPGA. Ce tutoriel a été
VHDL photosensible Synth Machine

VHDL photosensible Synth Machine

Ce projet et son tutoriel ont été effectuées dans le cadre de notre projet finale CPE 133 à Cal Poly San Luis Obispo. Notre objectif était de créer un jeu de logique complet en VHDL en utilisant une carte FPGA 3 Nexys et une composante hors Commissio
Neuf-Shine-Line : La LED Timing Game

Neuf-Shine-Line : La LED Timing Game

Le jeu neuf-Shine-Line est un simple mais divertissant jeu de calendrier de LED que le joueur doit arrêter une lumière en mouvement sur la LED du milieu. Comme le jeu progresse, la vitesse de la lumière va augmenter tout au long des dix niveaux diver
Étape 8 FPGA séquenceur et synthétiseur

Étape 8 FPGA séquenceur et synthétiseur

Dans ce tutoriel, nous allons faire un synthétiseur de le 8 étape pour notre carte FPGA. Nous allons travailler avec le Conseil de Digilient Nexys 2 mais notre code pourrait être modifié pour les autres planches. Ce projet a été construit par Lincoln
FPGA programmé la télécommande universelle (IR)

FPGA programmé la télécommande universelle (IR)

A votre compagnon de chambre jamais laissé la TV sur tard dans la nuit ? Avez-vous jamais voulu limiter pendant combien de temps vous regardez la télévision ? Bien cet appareil aidera à contrôler votre téléviseur et assurez-vous qu'il s'éteint en tem
Arrêt automatique au bout vers le bas de la souris sans fil (Prototype)

Arrêt automatique au bout vers le bas de la souris sans fil (Prototype)

AVERTISSEMENT : Ceci est un prototype et rendra votre souris sans fil « filaire ». De plus, selon votre souris, il peut perdre sa capacité à faire glisser sur la table/tapis de souris.Pour notre dernier projet en CPE 133 Digital Design à Cal Poly, le