Nexys-2 ljus Dodger spel (4 / 6 steg)

Steg 4: Beskrivning av VHDL



Här är en förklaring till våra VHDL. Det finns några buggar, men detta kommer att hjälpa dig förbättra det eller använder någon av dess komponenter i ditt eget projekt. Ovan är bilder av ändlig tillståndsmaskin och svart låda diagram som du kan använda för att förstå VHDL.

"Spelet" är den högsta nivån modul som ansluter alla komponenter av projektet och tilldelar utgångarna. Signaler och port kartor används för att ansluta komponenterna tillsammans. Detta är också den modul där vi utgång positionen för din karaktär och hindren för displayen. Detta innehåller också den process som gör att alla lysdioder flash grön eller röd och återställer spelet när du vinner eller förlorar, respektive.

"scroll_clk0" är den modul som innehåller långsammare klockan används för att öka utvecklingen och värdering av spelaren. Detta är en grundläggande klocka avdelare att räkningarna klockan cykler för att skapa en långsammare puls klocka ungefär en gång per sekund.

"map_decoder0" är den modul som läser ståndpunkterna som hinder från ROM så att de kan visas på LED matrix och kontrolleras mot användaren position.

"display_counter0" är modul med 3 bitars räknare som cyklar genom vilken rad LED matris visas. Den här räknaren är byggd med växla flip flops som kan återställas till 0.

"map_progres_counter0" är den modul som håller reda på hur långt användaren har gjort framsteg genom spelet. Detta använder en 8 bitars räknare från växla flip flops som kan återställas till 0 när spelet slutar.

"address_adder" är en modul som använder en halv adder och sju full tilläggsfunktioner att göra en 8 bitars rippel bär huggorm. Detta används för att Lägg till utvecklingen av användaren i raden som visas för tillfället för att läsa rätt hinder positioner från ROM.

"standard_decoder" är modul med 3 till 8 standard avkodare som använder tre bitars tal från modulen display_counter0 för att avgöra vilken rad att slå på.

"map_rom0" är den modul som innehåller läsminne av placera av hinder på varje rad. Med hjälp av detta skapar syntesen varning "Instantiating black box modul" och flera dinglande pin varningar. Dessa varningar påverkar dock inte spelet eftersom det är kvarleva från det automatiska skapandet av block minne. För att redigera den ROM med programmet ISE Design Suite 14,5, först skapa en anteckningar-fil med följande:

memory_initialization_radix = 2;
memory_initialization_vector =

00000000,

01000000,

00100000,

00010000;

Lägg till 1: var du vill ett hinder att vara belägen, och denna fil kan vara upp till 256 rader. Se till att endast den sista raden slutar med ett semikolon.

Spara denna fil som en .coe-fil genom att lägga till ".coe" i slutet av filnamnet och ändra "Spara som typ" till "alla filer.

Efter detta, dubbel klick på på modulen "map_rom0." Efter detta öppnas, gå till sidan 2 och kontrollera minne är enda Port ROM i rullgardinsmenyn. På sidan 3, se till att läsa bredd är 8 bitar och Läs djupet är 256. Om du vill ändra storlek på karta, se sidan 6 i detta instructable. På sidan 4, kontrollera att filen ladda Init och rutorna fylla återstående minnesplats kontrolleras, och att din .coe fil används i rutan Coe. Du kan se värdena på kartan genom att välja Visa. Välj slutligen generera.

"buffer_with_output_enable0" är den modul som ser till att hindren är utdata som aktiv låg och tillåter dem att vara avstängd när spelet slutar. Detta görs med hjälp av D badtofflor och växelriktare.

"win_lose_logic0" är den modul som kontrollerar om användaren har nått slutet av kartan eller har kolliderat med ett hinder så att "spelet" modulen kan flash displayen med alla röda eller gröna lysdioder och nollställa räknarna i "map_decoder0"

"sseg_dec0" är den modul som läser en 8 bitars tal och visar dess motsvarande decimalvärde på sju segment display ombord Nexys-2. Detta innehåller också en klocka avdelare för att styra uppdateringsfrekvensen för flytta ändlig tillståndsmaskin och sju segment display och LED-matris.

"move_fsm0" är den modul som läser vänster och höger ingångar och utgångar positionen för användaren efter att ha flyttat. Detta avkodar också 3 bitvärdet ställningstagande för en en-het 8 bitars utdata. Ovan är ett diagram över Moore tillståndsdatorn.

"buffer_with_output_enable1" är en modul som har samma struktur som "buffer_with_output_enable0." Men, detta är för att göra användarens position aktiv låg och det kan stängas av när spelet slutar.

"game.ucf" är den användare constraint fil som definierar vilket stift i styrelsen ansluta till in- och utgångar av spelet.

Se Steg
Relaterade Ämnen

Camping ljus

Välkommen till min allra första instructible.Im kommer att med min familj på vår första någonsin camping resa, (som vi ser ford att), efter att titta på listan över rekommenderas campingutrustning, jag började min jakt för resan, men jag kunde inte h...

Hur jag gjorde en varm lim spela knappen

Knappen Spela upp när du får dem från YouTube, antingen Silver eller guld är stor affär för person. Men du måste ha ett stort nej anhängare för dem.Jag tror alla motivation krävs i början på något.Nyligen slog jag 500 abonnenter Mark på YouTube för m...

Star Wars tema retro arkadspel

En knapp. LCD. genereras förfarandemässigt terräng. En skvätt Star Wars. Ett beroendeframkallande spel.Inte säker på varför, men jag har varit besatt av konst stil av de pixelated retro arkadspel. Jag kunde bara inte få nog och så jag beslutat att gö...

Omgivande humör bild med fjärrkontrollen

detta instructable kommer att guida dig genom processen att skapa din alldeles egna omgivande humör bild!Vill du skapa en unik stämning ljus effekt eller en speciell natt ljus? Du är på rätt plats.Detta kom till stånd helt oavsiktligt, kommenterade m...

Flat Pack Tic Tac-ToeBot

Jag bestämde mig att bygga detta för min son mest för att jag ville utmana mig själv och göra honom något roligt, men också eftersom jag hade lämnat över komponenter efter en 3D-skrivare bygga.Hur detta fungerar är spelaren kommer att plocka en kvadr...

Rörelse aktiverat Random Music Player

detta projekt kom att vara för alla de rätta orsakerna, leenden, skratt och dela lycka med andra. Jag känner mig välsignad att arbeta med en fantastisk familj och grupp människor som vardagliga generöst dela, gör och inspirera andra i den kreativa pr...

Yongnuo YN-300 Air PSU bygga

Detta helt enkelt Instructable är att visa dig en rullgardinslista buck converter kan användas med en 12v PSU för att driva en Yongnuo YN-300 Air LED-ljus.Jag ville ha en bättre ljus att spela in Mina videoklipp under för min Youtube-kanal, så detta...

Ögonglober för specialeffekter, Halloween eller animatörerna riktigt billigt.

jag har alltid varit riktigt in specialeffekter. Mitt drömjobb skulle vara en specialeffekter ingenjör. En av de artiklar som jag alltid velat göra var super realistisk ögonglober du ser i skräckfilmer. En motivation för detta är att jag vill få in a...

Hur man har kul med Arduino (och bli en nörd i processen)

vill du tjäna din geek-kort - pronto? Låter komma igång! Denna guide börjar du på sökvägen till den mörka sidan med hjälp av öppen källkod Arduino utveckling och prototyping plattformen. Det kommer att introducera dig till mikrokontroller, komma igån...

Dodge Batch spel [färger]

Hej igen, visar idag jag du ett nytt batch-spel som jag skapat! Dess namn är dodge och till skillnad från andra batch spel, det kommer att spara dina poäng. Spelet kloka du kommer att behöva en funktionell W, A, S och D nyckel för att spela! Så du är...

Den fantastiska labyrint spel för Nexys 3

Hej alla! Detta är hur du skapar en kan programmeras om labyrint spel med en Nexus 3 styrelse.Vi är två studenter på Cal Poly San Luis Obispo och detta är vårt sista projekt för vår Digital Design klass. Målet var att skapa ett spel med en Nexus 3 om...

Interaktiva rött ljus grönt ljus spel i en quilt

Detta täcke är en fullt fungerande rött ljus grönt ljus spel. Vad är lila ljus för, du frågar? Disco! Varje ljus kommer slumpmässigt för en slumpmässig tid. Om den röda lampan är på och en spelare flyttar, täcket upptäcker att, tack vare en rörelsese...

Spel sidor/staket sidor till 2014 Dodge 1500 4 x 4 Pickup lastbil

Först; några punkter att noteraÄven om jag har Snickeri färdigheter, är detta första gången jag genomför ett projekt av detta slag.Detta är också min första Instructable.Jag är inte en ingenjör men jag är mekaniskt benägen.Alla bilderna är tagna i ef...

Platta paket ljus spela Box

Knorra studion på The Exploratorium i San Francisco har en underbar ljuslåda knorra verksamhet. Du väljer objekt som kastade intressant skuggor, ordna dem bakom en genomskinlig skärm, och lysa en liten ljus på dem. Förlägga några av dina objekt på en...

Lägga till ljus upp effekter i bakgård spel som Cornhole

Bakgård spel som Cornhole är mycket roligt. Men du kan göra dem ännu bättre genom att lägga till ljus och ljud. Genom att vissa enkla elektronik, kan du lysa upp och spela en seger fanfar när någon noter. Här är hur man gör det.Steg 1: Titta på Video...

HUR MAN ERSÄTTA BLINKER LAMPA | DODGE RAM | FRÄMRE hörnet BLINKER reparation indikator ljus FIX ledde 3156

video om främre hörnet glödlampa ersättare på min andra generationen dodge ram 1500...

Arduino ljus spel / inbyggd med fin men billiga kit

Hej tack för att klicka på mitt spel! Så om du titta på videon ser du spelet är mycket enkelt och det var kul att bygga. Allt jag behövde var:Arduino uno r3 (verkligen ditt val av någon arduino)8 lysdioder minst en annan färg med motståndLCDbyta regi...

Hur man byter lysdioder CAB tak ljus | PLOCKA UPP LASTBIL | 12V HYPERFLASH PROBLEM RECON CHROME DODGE RAM 24V

Jag har installerat dessa lampor ca 3 år sedan och nu två av lamporna började hyperflash. När jag installerade de nya lamporna tillbaka sedan jag fick veta att lysdioder håller ungefär 50.000 timmar. Nu jag undrar varför dessa två inte. Im medvetna o...

LED LICENSE PLATE KONVERTERING LAMPA ERSÄTTNING | DODGE RAM 1500 | Hur man gör SMD ljus MOD

Jag sätter i ny registreringsskylt w5w LED-lampor....