Skip to main content

Construisez un processeur softcore sur Xilinx FPGA et devinez un nombre aléatoire

awong
0

Ce projet présente un jeu de devinettes de nombres avec le processeur MicroBlaze Xilinx, créé par un étudiant stagiaire à Digilent. Ce processeur softcore basé sur FPGA choisit un nombre entre 0 et 15 et donne au joueur 4 chances de deviner ce nombre. En concevant ce jeu, les utilisateurs peuvent apprendre comment créer un processeur simple basé sur FPGA et ensuite concevoir des applications amusantes. 

Ce projet utilise Digilent Arty A7: la carte de développement FPGA Artix-7, en faisant usage des commutateurs, des boutons et LED Arty pour créer une interaction facile.

Arty A7 est une plateforme de développement prêt à l'emploi conçue autour du réseau de portes programmables in situ (FPGA) Artix-7™ de Xilinx. Elle est spécialement conçue pour une utilisation en tant que système de processeur softcore MicroBlaze. Contrairement aux autres ordinateurs à carte unique, Arty n'est pas liée à un seul ensemble de périphériques de traitement ; souvent, il peut s'agir d'une centrale de communication renfermant UART, SPI, IIC et un Ethernet MAC, et à un autre moment, c'est un chronomètre méticuleux avec une douzaine de minuteurs 32 bits.

MicroBlaze est un cœur de processeur softcore RISC, 32 bits, de Xilinx, optimisé pour les applications intégrées sur les appareils Xilinx. Le processeur MicroBlaze est facile à utiliser et offre la flexibilité de sélectionner la combinaison de périphériques, mémoire et interfaces, au besoin. Pour utiliser MicroBlaze, les utilisateurs installent Vivado, créent un nouveau répertoire mondial, recherchent le kit de développement logiciel (SDK) MicroBlaze et l'utilisent dans le projet.

Digilent Arty Board

Pour jouer à ce jeu, l'utilisateur doit avoir un émulateur de terminal avec prise en charge UART, tel que Tera Term. Le terminal affichera les messages. Les joueurs activent les commutateurs pour définir un nombre qu'ils veulent deviner en binaire. Les commutateurs qui sont activés allument les voyants LED RVB correspondants en bleu. Le joueurs soumettent alors le nombre deviné en appuyant sur le bouton 0 sur la carte. Si le nombre deviné est correct, le programme affiche un message le confirmant. Si le nombre deviné n'est pas correct, le programme affiche un message indiquant au joueur que le nombre soumis est trop élevé ou trop bas, ainsi que le nombre de chances restantes. Si le joueur devine un nombre incorrect quatre fois, tous les voyants LED RVB au rouge clignoteront à trois reprises. Le programme affichera ensuite un message révélant la bonne réponse. Finalement, le jeu demande au joueur s'il voudrait continuer à jouer. Le bouton 0 commence un autre jeu et le bouton 3 met fin au jeu. Les joueurs peuvent également mettre fin au jeu à tout moment en appuyant sur le bouton 3.

Guessing game terminal emulator screen

Parmi les fonctionnalités mises en œuvre dans le logiciel, citons le « debouncing » des entrées utilisateur, la détection des contours, la modulation de la largeur d'impulsion (MLI) des LED et la génération de nombres aléatoires pour le jeu.

Retrouvez tous les détails du projet et le source code sur la Page du projet Digilent.

Love learn engineering in hands-on approach. Interested in new technology. Work in Digilent as International Sales and Distribution Manager.

Recommended Articles

Commentaires

DesignSpark Electrical Logolinkedin