Cuprins:
- Pasul 1: Materiale necesare
- Pasul 2: Configurarea LFSR (Registrul de schimbare a feedback-ului liniar)
- Pasul 3: Configurarea afișajului cu șapte segmente
- Pasul 4: Crearea modulului de joc
- Pasul 5: Joacă jocul
Video: CPE 133 Proiect final Decimal la Binar: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Numerele binare sunt unul dintre primele lucruri care îmi vin în minte atunci când ne gândim la logica digitală. Cu toate acestea, numerele binare pot fi un concept dificil pentru cei noi la el.
Acest proiect îi va ajuta pe cei care sunt atât noi, cât și cu experiență în numerele binare să convertească în mod stăpân numerele zecimale. Prin crearea unui joc, vom testa utilizatorii abilitățile lor de conversie. Acest joc va fi executat pe o placă Basys3 și programat în Verilog.
Pasul 1: Materiale necesare
Următoarele materiale sunt necesare pentru a face acest joc de conversie zecimal în binar:
- Software-ul Xilinx Vivado Design Suite
- Placa Digilent Basys3 FPGA
- Cablu USB la Micro USB
Pasul 2: Configurarea LFSR (Registrul de schimbare a feedback-ului liniar)
Un LFSR (Linear Feedback Shift Register) este un modul utilizat pentru a genera numere „aleatorii”.
Un LFSR nu este complet aleatoriu, deoarece generează numere pseudo-aleatorii, care este un proces de generare a numerelor care par aleatorii, dar nu sunt.
Un LFSR este un registru de schimbare al cărui bit de intrare este o funcție liniară a stării sale anterioare, ceea ce înseamnă că LFSR va parcurge un număr finit. În mod specific pentru acest joc, LFSR va utiliza doar 8 biți pentru a limita numărul zecimal pe care îl poate genera la 255.
Butonul L (btnL) este utilizat pentru a reseta numărul de pe LFSR.
Acest modul LFSR nu a fost creat de creatorii acestui joc. Modulul LFSR a fost creat de profesorul universitar Carleton, John Knight. Link-ul pentru modulul său este inclus mai jos.
www.doe.carleton.ca/~jknight/97.478/97.478_…
Pasul 3: Configurarea afișajului cu șapte segmente
Un afișaj cu șapte segmente este utilizat pe placa Basys3 și pe multe alte piese hardware pentru a afișa caractere alfanumerice.
Modulul de afișare cu șapte segmente care este utilizat în acest joc convertește un număr binar într-un număr zecimal și îl afișează ca număr zecimal.
Prin utilizarea modulului LFSR discutat anterior, un număr generat aleatoriu va fi afișat pe afișajul cu șapte segmente.
Modulul de afișare cu șapte segmente nu a fost creat de creatorii acestui joc. Modulul de afișare cu șapte segmente a fost furnizat de profesorul Joseph Callenes-Sloan al Universității de Stat Politehnica din California. PDF-ul pentru modul este atașat mai jos.
Pasul 4: Crearea modulului de joc
Creați modulul principal (joc).
Acest modul va utiliza modulul LFSR pentru a genera un număr aleatoriu și apoi îl va afișa pe afișajul cu șapte segmente.
Modulul utilizează apoi un bloc întotdeauna care resetează numărul aleatoriu. Aceasta funcționează pe marginea pozitivă a butonului R (btnR), ceea ce înseamnă că va funcționa numai atunci când butonul R a fost apăsat.
Al doilea bloc funcționează întotdeauna pe marginea pozitivă a ceasului (clk). Dacă butonul C (btnC) este apăsat, acest lucru va verifica dacă numărul de pe afișajul cu șapte segmente este același cu numărul de intrare de la comutatoare (sw). Acest bloc va ridica un steag (setați registrul de steag (steag) la 1) și veți schimba firul messageVal în funcție de dacă utilizatorul a câștigat sau a pierdut.
Al treilea bloc funcționează întotdeauna și pe marginea pozitivă a ceasului. Dacă semnalizatorul este ridicat, acesta va seta ssegInputVal la firul messageVal de pe afișajul cu șapte segmente. Dacă steagul nu este ridicat, acesta va continua să afișeze numărul aleatoriu (randomVal).
Pasul 5: Joacă jocul
Instrucțiuni:
- Utilizatorul va apăsa butonul R pentru a crea un joc nou sau va schimba numărul de pe afișajul cu șapte segmente.
- Utilizatorul va întoarce primele 8 comutatoare în sus (1) sau în jos (0) pentru a introduce numărul binar.
- Butonul C va fi folosit pentru a verifica dacă utilizatorul a câștigat sau a pierdut.
- Dacă utilizatorul a câștigat „111” va fi afișat pe afișajul cu șapte segmente.
- Dacă Utilizatorul a pierdut „0” va fi afișat pe afișajul cu șapte segmente.
- Pentru a începe un joc nou Butonul R poate fi apăsat oricând.
Recomandat:
ECG automatizat - BME 305 Proiect final Credit suplimentar: 7 pași
Automat ECG-BME 305 Proiect final Credit suplimentar: O electrocardiogramă (ECG sau EKG) este utilizată pentru a măsura semnalele electrice produse de o inimă care bate și joacă un rol important în diagnosticul și prognosticul bolilor cardiovasculare. Unele informații obținute dintr-un ECG includ ritmurile
Ceasul binar final: 12 pași (cu imagini)
Ultimate Binary Watch: recent am fost introdus în conceptul de ceasuri binare și am început să fac câteva cercetări pentru a vedea dacă aș putea să-mi construiesc unul. Cu toate acestea, nu am reușit să găsesc un design existent, care să fie în același timp funcțional și elegant. Deci am decis
PHYS 339 Proiect final: Theremin simplu: 3 pași
PHYS 339 Proiect final: Theremin simplu: Ca muzician recreativ și fizician, am crezut întotdeauna că tereminele sunt cel mai tare instrument electronic. Sunetul lor este aproape hipnotic atunci când este jucat de un profesionist, iar teoria electronică necesară pentru a funcționa este destul de
CPE 133 metronom: 3 pași
CPE 133 Metronome: Pentru proiectul nostru final de la Cal Poly am creat un dispozitiv de menținere a tempo-ului numit metronom, am ales acest proiect din cauza interesului muzical și a designului digital. Am folosit laboratoare anterioare în CPE 133 pentru a ne ajuta să proiectăm codul nostru și tutoriale online pentru a ajuta în colaborare
CPE 133 Sorter gunoi: 14 pași
CPE 133 Trash Sorter: Pentru clasa noastră CPE 133 de la Cal Poly ni s-a spus să creăm un proiect VHDL / Basys 3 care să ajute mediul și să fie suficient de simplu încât să-l putem implementa cu noile noastre cunoștințe de design digital. Ideea din spatele proiectului nostru că, în general