Wij zijn studenten van de EE/CPE op Cal Poly, San Luis Obispo, in een digitaal ontwerp klasse onderwezen door Professor Andrew Danowitz. Voor onze laatste project waren we belast met het maken van een elektronische spel met behulp van de Nexys 3 FPGA-board. We besloten om een eindeloze runner spel geschreven in VHDL.
In dit instructable zal introduceren wij ons ontwerp voor dit spel samen met de VHDL-modules dat we schreven. Dit is bedoeld als een "Endless Runner" spel. Er zijn vier rijstroken met blauwe doos obstakels verplaatsen van rechts naar links op het scherm. Deze belemmeringen zal verplaatsen naar het pictogram van de speler, een witte doos. De speler's taak is om de obstakels te ontwijken door te bewegen op en neer door het indrukken van de knoppen boven en onder op de FPGA-board. De speler zal hebben drie leven voordat het spel over. Als de speler wordt door een obstakel geraakt zal de speler een leven verliezen. Zodra de speler krijgt drie keer de speler pictogram zal rood hit en het spel moeten opnieuw worden ingesteld. Wij opgenomen speler score en leven resterende uitgangen op de Nexys 3-bord zelf (niet op scherm, als dat zou aanzienlijk moeilijker zijn geweest).
Deze tutorial is bedoeld voor lezers die het hebben van een beetje voorkennis van VHDL en het gebruik van veld-programmeerbare gate arrays. We schreven onze modules met behulp van ISE Design Suite 14,7.
Wij hopen dat dit zal een interessante en informatieve tutorial voor andere studenten en hobbyisten. We hebben ook alle VHDL modules die we gebruikt voor het maken van het spel aan het einde van deze tutorial. De modules bevatten opmerkingen throughout, moet die hopelijk antwoord op de meeste vragen over hoe de componenten van onze spel werken en communiceren met elkaar.
Houd in gedachten dat we alleen studenten alleen maar leren hoe deze hulpmiddelen te gebruiken. Dit was onze eerste echte digitale ontwerpproject, en het is verre van perfect. U zult vinden waarschijnlijk overbodig signalen en inefficiënte processen in onze VHDL-modules. Wij vinden nog steeds, dat dit kan helpen geven anderen ideeën voor hun eigen projecten. Alle modules die we uit andere bronnen verkregen worden gecrediteerd aan het einde.
Als u een deel van onze modules in uw eigen projecten gebruiken, vragen wij alleen dat je gelieve ons of de andere makers krediet.
Hier gaan we!