BitRunner FPGA spelet (3 / 4 steg)

Steg 3: Programmering av FPGA



Använda Xilinix Design Suite kan du sätta ihop filerna in i ett fungerande system av moduler. Du kan följa stegen här till få den. För ett tekniskt geni som själv montering detta bör ingen big deal, men om du behöver ytterligare förklaringar på modulerna, det finns kommentarer inom de uppladdade vhd-filerna. Du kan ignorera anteckningarna under varje del i det här steget om du inte behöver en förklaring på hur man genomföra modulen eftersom du är en sådan teknisk geni.

En sak till innan vi kommer in i detta

För en tydligare eller mer i djup svart låda diagram.

-Hämta och syntetisera våra vhd moduler

-Expandera alternativet synthesize och dubbelklicka på "Visa RTL Schematisk"

-Dubbelklicka på svarta lådan diagram att expandera den

Del 1. Skapa ett hinder skiftregister. Du behöver en klocka avdelare göra SKIFT register hinder köras i begriplig hastigheter.

-Inledningsvis ge 8-bitars skiftregister en '1' att börja hinder.

-på varje rising_edge(clk) efter det

---Flytta bitar genom att skicka den (6 CEN. 0) till den (7 CEN. 1) på "nästa" signalen (lfsr_next) som vi kallade det.

---Ange den 1: a lite på "nästa" signal till biten av den aktuella register "xor" en annan bit av det aktuella registret

---Du kan välja någon två bitar till xor, detta helt enkelt kommer att resultera i en pseudoslumptalsgenerering ordning.

---Det har några slumpmässiga egenskaper, men mönstret upprepas.

Anmärkning 1: SSEG dekoder och Clk_div ges till oss av våra lärare. Dessa moduler har skapats av Professor Bryan Mealy på Cal Poly Slo. Sseg avkodaren tar en 8 bitars tal och visar att många i decimal på sju segment display. Clk_div är en klocka avdelare som sträcker ut clk perioden. Bara kopiera, klistra in det i. Varning: Sseg dekodern kan ge varningar om hur disken är oanvända. Detta beror på att räknaren når aldrig att höga av flera att kräva vissa bitar. Således vhdl optimerar dessa bitar och spottar en varning ut.

Kontrollera att dessa moduler arbete genom att ladda upp ditt program och titta på lysdioderna lyser upp. Om gjort korrekt, bör din hjärna tänka att ljusmönstret som avges är på väg som hinder till vänster. Vid detta är inte sant, kolla inställningen bakbord, moduler och din egen hjärna.

Del 2. Skapa den poäng avkodaren. Modulen ger en poäng baserad på tiden, i huvudsak är det en räknare. Inget spel är komplett utan en kall, opartiskt sätt särskilja hur dålig du är i jämförelse med andra. Var noga med att skapa en modul liknande sseg_dec.vhd så att du och dina döma kamrater kan visa poäng på sju segment display med lätthet.

-På stigande kanten av clk efter det genom clk_div, öka poäng

Testa om detta fungerar genom att simulera det. Se till du nummer steget korrekt. Du kan ytterligare testa genom att skicka din poäng dekoder produktion till sseg_dec att bestämma det fungerar visuellt. Poängen ska öka med ett för varje stigande klocka kant.

Anmärkning 2: När simulera poängen avkodaren, fönstret av simuleringen är inom några nanosekunder, så minska din klocka faktor 1 för korrekt resultat. Annars kommer inget tycks hända.

Del 3. Kombinera SKIFT Register och poängen avkodaren med en huvudsaklig modul. Vara säker på att ha klocka avdelare som klockan för både skiftregister och poäng. Slutresultatet bör ha en poäng som ökar stegvis på varje SKIFT av hinder.

Del 4. Skapa en modul för knappen dekoder. Det tar i indata från en knapp och avgör om spelaren är i dodge tillstånd eller inte. Detta krävs för att hindra spelare från att hålla nere knappen dodge och ducka alla mötande hinder.

-Denna modul kan representeras med en ändlig tillståndsdator, representerade i den bifogade ändliga tillståndsdiagram

-Defaults vänta staten

-Om du inte trycker på knappen stannar staten i vänta-läge

-Om de gör det, då det går för att undvika läge och utgångar dodge för en viss tid

---Detta bestäms av en clk som räknar till ett visst antal på stigande kanten (upp till dig)

-Efter avslutad dodge läge, det automatiskt går till let_go staten och gå inte tillbaka till vänta staten tills spelaren släpper knappen.

Del 5. Skapa en modul för att kontrollera om spelaren drabbas av blocket och att spelet är över.

-Spelet är över om hindret i slutet på och spelaren inte är i dodge läge.

-Om spelet är slut kan du välja att återställa skiftregister och score_decoder, vilket vi gjorde

--- Eller du kan vänta på en förbrukaren insatsen starta om spelet

Detta testades med en simulering fil. Vi ange indata till olika kombinationer och visuellt bekräftade riktigheten.

Del 6. Sätta detta ihop i du huvudsakliga modul och köra spelet i filen begränsningar.

-Mappningarna mest stift finns i styrelsen.

-För de LED sladdar som ska anslutas, måste du leta upp det på webbplatsen för styrelsen. Om du använder en NEXYS 3 ombord, kan du använda våra begränsningar/implementeringsfilen som kommenterar vad pins är på bordet.

-Testa detta med simulering också. Det är lätt att se vad som händer med en simulerad fil eftersom du kan titta på resultaten av de olika modulerna också.

Observera 3: Du kommer att få samma varningar som not 1 med några andra moduler av samma anledning.

Del 7. Valfria. (Obligatorisk om alla delar innan detta var en barnlek för dig) Ändra allt med en klocka avdelare och knappen dekodern i räkningen (gör inte detta för sseg dekoder). Detta sätt som poäng ökar du kan passera olika antal och snabba upp spelet för att öka svårigheten.

Anmärkning 4: Om du gör det kan du få några extra varningar, påstå att du har skapat en spärr. Simuleringarna gjordes även innan detta, så du måste lägga till de tilldelningarna om du vill simulera efter tillsats.

Anmärkning 5: Du får en varning om att vissa saker köps av en kombinatorisk pin. Detta är bra, det kommer inte att påverka spelet.

Del 8. Ladda upp filen bit till din FPGA. Eftersom trots allt detta arbete, din FPGA gör fortfarande ingenting. Att göra detta ladda ner och installera ett program som heter Adept.

Du kan få den här http://www.digilentinc.com/Products/Detail.cfm?Nav...

När du har installerat den ansluta micro USB-sladden till FPGA och markera filen bit. Tryck sedan på program. Om du har nått denna del utan att hoppa över några åtgärder borde då en liten spel vi kallar vårt projekt sitta framför dig.

Se Steg
Relaterade Ämnen

Bop med FPGA ombord

Välkommen till Bop det med FPGA styrelsen Instructable,Projektet arbetar med CPE 133 på Cal Poly, San Luis Obispo. Detta projekt skapades av Ian Nielsen och Omri Nissan. Utanför koder var inblandade på olika platser och nämns i den slutliga rapporten...

8-stegs FPGA Sequencer och Synthesizer

I denna tutorial ska vi göra en 8-stegs synthesizer för vår FPGA styrelse. Vi kommer att arbeta med Digilient Nexys 2 styrelsen men vår kod skulle kunna ändras för andra styrelser. Projektet byggdes av Lincoln Tran och Joseph Coplon för vårt sista pr...

DIY Tilt Sensor minne spelet

Hur man bygger en FPGA DIY minne spelet.Team projekt: Minne Blitz. Av: Bit för Bit ProductionsKim LarssonDana CarverMegan VanHumbeckDetta projekt är för våra ECE2220 Digital Logic system kurs vid University of Manitoba. Inspirerad av de handhållna sp...

FPGA Simon Clone

Det är en grundläggande simon klon / Folower spel som kan skapas på en FPGA.Steg 1: Skaffa nödvändigt material1. FPGA styrelse2. skärbräda3. lysdioder4 trådar5. mjukvara: Digilent AdeptSteg 2: Konstruera moduler 8-bitars räknare (används som timer)bi...

Hur man styr en stegmotor med en FPGA

Detta instructable guidar dig genom processen och någon bakgrundskunskap om hur man får en stegmotor som arbetar på en FPGA. Specifikt Nema Stepper Motor, med Digilent Basys 3 och Digilent PmodSTEP.För närvarande är jag djupt i processen att göra en...

Hur du använder en Joystick med en FPGA

Detta instructable är ännu ett stopp på min resa att bygga klo spelet drivs av en FPGA. Jag skrev tidigare hur man styr en stegmotor med en FPGA. Nu behövde jag kontrollera joystick så att jag kan så småningom ansluta båda till min kontrollsystem.Lyc...

Med en Joystick för att styra stegmotorer med en FPGA

I det tredje steget i min resa att återskapa klo spelet med Basys3, har jag anslutit två PmodSTEPs, två stegmotoreroch PmodJSTK till Basys3 så att jag kan kontrollera var och en av servon med PmodJSTK.För att göra detta samband I koden från hur till...

Pong spel med fpga kit

Hej var och en. här delade jag projektet "pong spelet med fpga kit". FPGA är field programmable gate array. Det är en teknik att vi kan utforma någon digital enhet genom programmering. Det betyder i fpga kit fungerar som alla digitala enheter so...

Nio-Shine-Line: LED Timing spelet

Det spela nio-Shine-Line är en enkel ändå underhållande LED timing spel som kräver att spelaren att stoppa ett rörligt ljus på mellersta LED. Under spelets gång ökar hastigheten på lamporna i hela tio roliga nivåer. Om när som helst stoppas ljuset på...

FPGA Tic Tac Toe

"Tic Tac Toe? Vad är det? Jag har aldrig hört detta."-Ingen någonsinAv Ryan Frawley och Derek NguyenDenna guide visar dig hur man gör en arbetande Tic Tac Toe spel i VHDL på en Nexys 2 FPGA ombord. Denna handledning var gjort för en del av en Ca...

"Ormen" på en FPGA

Projektet avslutades för klassen ECE2220, vid University of Manitoba, under hösten 2015. Används under hela projektet är en Altera DE2 cyklonen IV ombord. Kodning görs med Verilog HDL via Quartus II.."Ormen" är ett enkelt spel där användaren sty...

Att lägga till lysdioder i spelets klo

Klo spelet är ganska cool men det finns alltid ett sätt att förbättra ett projekt. För att förbättra klo spelet kommer LED strips att läggas till basen eftersom inget projekt är komplett utan alltför många lysdioder.Tyvärr gör projektet för Basys 3 d...

Ange maskin visualisering för klo spelet

Klo spelets tillståndsdator är ganska stort så det skulle vara skönt att veta exakt vad det tänker åt gången. För att åstadkomma detta kommer vi lägga till i en UART sändare att kommunicera med en ansluten dator som kör LabVIEW. Detta kan anpassas fö...

FPGA solpanel Optimizer

Solceller: Maximal irradians upptäcktSolceller konvertera ljus till elektricitet med hjälp av silikon eller några andra halvledarmaterial genom att absorbera fotoner med tillräckligt med energi för att slå elektronerna fria så att de kan flöda som en...

ESL spelet: Carambole

Detta spel liknar indiska spelet "Carambole". Om du inte vet carambole, Tänk på denBiljard spel 8-ball men du sveper checker bitar med fingrarna istället för att slå biljardbollar med en pinne.Att ställa upp plats och lika mycket av röda och sva...

Broderade sida från "Smal" spelet!

Tänkte jag eftersom Halloween är bara runt hörnet jag vill berömma de trendigaste tulpa runt!Detta projekt var tänkt att bli min egen ursprungliga sida från den nyligen populära spelet "Slender". Jag gjorde det med gult tyg, svart broderi floss,...

Det spelet av Candyland kommer till liv kostymer

spelet av Candyland har kommit till liv. Gryphon är King Kandy, står framför sin speciella Candy Castle. Phoenix är prinsessan Lolly, lever lyckligt i Lollipop skogen. Paret står på Candyland spelfältet, alla redo för spelet börja!Vi beslutade att vä...

Avväpna spelet

denna avväpning spelet gjordes för min dotter Moraḯtika traditionellt tema dag (TTT-dag). Årets tema var "James Bond möter Austin Powers möter Chuck" (två International Men of Mystery och en All American nörd). En aktivitet runt avväpna en (uppe...

Förändrat minne spelet hänge

jag skapade denna taklampa med en "Bob the Builder" minne spelet. Jag plockade upp spelet på en loppmarknad under sommaren. Jag visste när jag öppnade lådan att de skulle göra utmärkt broscher, hängen och magneter. Jag gillar alltid att craft gr...