"Simon" CPE 133 slutlig projekt (1 / 6 steg)

Steg 1: Första Finite State Machine



De två staterna i den första FSM skapade vi var display och vänta att korrekt Visa ett mönster på lysdioderna.

Mikronesien börjar i wait och när man trycker på startsignalen det skulle flytta till tillståndet displayen att Visa mönstret. När displayen genererades, skulle programmet flytta tillbaka till tillståndet wait baserat på max counter värde att vara hög det skulle överför sedan över till andra Mikronesien som skulle jämföra användaren är ingång till displayen.

Display tillstånd:

I vårt projekt ville vi skapa ett slumpmässigt mönster för lysdioderna. Det gör måste koden ha en slumpgenerator. Vi använde vhdl för en LFSR (linjär återkoppling skiftregister) som gavs till oss i klassen av Professor Danowitz för slumptalsgeneratorn.

Denna slumpgenerator måste anslutas till lysdioder, där olika utgångar av generatorn är kopplade till var och en av de 4 lysdioderna. Vår slumpgenerator skapar en slumpmässigt 32 bitars nummer och dividerade vi varje LED aktivera baserat på vad värdet av slumptalsgeneratorn var i hex.

Det är viktigt i vhdl ha en start signal, som vi har tilldelat till en knapp. I det här fallet när knappen trycks sedan slumptalsgeneratorn skulle börja och därför lamporna skulle visas. Med detta har användaren möjlighet att starta spelet när de är redo.

Dessutom skapade vi en timer för att sakta ner klockan för LED-displayen ska vara synlig för det mänskliga ögat istället för att vara lyste upp för en nanosekund. Vi hittade ett exempel på en timer online som vi ändrade arbeta för vårt spel som kan hittas i hänvisningarna. Timern skapar också en max counter signal: detta händer när klockan går igenom en cykel.

Vi införde också en d-flip-flop för att spärren det värde som genereras från LFSR för en klockcykel. Denna utgång blev sedan ingången av en multiplexer så att lampan skulle antingen slås på eller av för en klockcykel. På grund av multiplexorn har vi en Välj signal som bestäms av staten i Mikronesien; om staten är displayen och välj sedan skulle vara hög, om det var i vänta då det skulle vara låg. Detta är en teknik som vi använt så att lampan skulle bo upplyst under en kort tid och sedan stänga av för att skapa ett mönster.

Vänta tillstånd:

Syftet med tillståndet wait var för LED-displayen att säga programmet när mönstret var redo att genereras och sedan fortsätta till nästa Mikronesien när det var klart visar mönstret.

Se Steg
Relaterade Ämnen

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å...

VHDL Etch-a-Sketch

För våra CPE 133 slutliga projektet på Cal Poly, San Luis Obispo, vi byggde ett Etch-a-Sketch med VHDL på Diligant nexys 3 styrelsen. En nexys 3 styrelse som kan bygga logiska kretsar utan att oroa om komplicerade externa gränssnitt, och mer avancera...

Decimal till binär konvertering spel

"Det finns bara 10 typer av människor i världen: de som förstår binära och de som inte gör."Denna roliga och pedagogiska spelet testar din förmåga att konvertera decimaltal till binärtal. Det är också ett bra sätt att utmana dina vänner i en tre...

BitRunner FPGA spelet

Skapa och spela upp egna bitars Runner spel. Ingen konsol eller biffiga dator krävs! Tryck på knappen dodge att undvika inkommande hinder för att uppnå högsta poäng! Detta projekt är hyggligt hårt, en utmaning för nybörjare men inte för experter.Dett...

VHDL ljuskänsliga Synth maskin

Detta projekt och dess tutorial slutfördes som en del av vårt CPE 133 sista projekt på Cal Poly San Luis Obispo. Vårt mål var att skapa ett komplett logiska spel i VHDL med hjälp av en Nexys 3 FPGA styrelse och en off-board komponent. I stället för e...

Nexys3 LED Timer spel

Detta är en handledning för hur man gör timer spel. Timer spelet är inspirerat av den lätta arkadspelet, spelet där ett ljus rör sig längs en sträng av lampor och du försöker stoppa det röda ljuset att vinna ett pris. Detta spel är olika i att när du...

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...

Automatisk stänga trådlös mus (prototyp)

Disclaimer: Detta är en prototyp och gör din trådlös mus "wired". Ytterligare, beroende på din mus, det kan förlora sin förmåga att glida över bord/musmatta.För vårt sista projekt i CPE 133 Digital Design på Cal Poly, den grupp som tidigare kall...

Nexys 2 - döda en mullvad

I detta projekt arbetade vi med vår version av whack en mullvad spel som var alla simuleras på en Nexys-2 ombord. En Nexys-2 är en field programmable gate array (FPGA). FPGA fungerar som en enhet baserat på ett program som det får. Vi använder virtue...

Små Solar rumstemperatur Regulator

Detta är ett sista projekt för våra CPE 133 klass på Cal Poly som var avsedd att vara en liten skala version av en automatisk slutare och isolator. Systemet har två temperatur sonder att mäta yttre och inre temperatur, en FPGA Basys 3 ombord, en steg...

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...

FPGA tidsinställda universell fjärrkontroll (IR)

Har din rumskompis någonsin lämnat TV: N på sent på kvällen? Har du någonsin velat begränsa hur länge du tittar på TV? Tja kommer att denna enhet hjälpa styra TV: N och se till att den stängs av i tid.Med din egen FPGA kartong, IR-sensorn och LED, ka...

FPGA resa ljus

Medan de senaste framstegen inom teknik har gjort vår värld anslutna och mer tillgängliga än någonsin tidigare, dessa samma framsteg har upplyst svårighetsgraden av en växande global kris: utarmning av vår planets naturliga resurser. Det trängande be...

FPGA Smart Fan

IntroduktionDenna guide kommer att lära dig hur man bygger en hemlagad, miljövänliga Smart fläkt. Detta projekt är tillägnad Professor Danowitz CPE 133 kurs på Cal Poly San Luis Obispo. Detta projekt utformades och utförs av Kenneth Doran, Mark Willi...

FPGA LED Mikronesien

Översikt:Konstruktörer: Ryan Ortiz, Chris Harlow, Dalton Wunderlich och Ramon CrespoDetta projekt genomfördes som en del av en CPE 133 klass som slutprojekt.Denna FPGA är kopplad till en infraröd rörelsesensor såväl som en LED.Så detta projekt funger...

Liten färg Mixer - en konstant ström, 3W RGB LED med indikator för låg batterinivå och polymorph diffuser

Styra en RGB LED är ett enkelt och vanligt mikrokontroller projekt, ofta nästa projekt gjort efter blinkande och blekning en LED.För att göra det mer intressant, byggde jag den med en ATtiny13, en av de minsta och enklaste AVRs, som krävde "high-volt...

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...

Anpassade lasergravyr Clipboards

I detta Instructable, ska jag visa dig hur man ställer in en fil för anpassade lasergravering en logotyp till ditt material - i det här fallet en Urklipp!Steg 1: Mät ditt materialDet första jag gör när du startar ett projekt är mäta mitt material. An...

Hemligheter till kock-Made himmelska Fries--med steg för steg Video Sammanfattning

Vi undrar så ofta på vadkan vara hemligheten till kock-made himmelska Fries. Detta Instructable på matlagning dessa kock-made himmelska fries kommer att avslöjas här--Men först,Vad är kock-made himmelska frites skulle se ut och känna i vår mun?De fle...