Cuprins:

CPE 133 Proiect final Decimal la Binar: 5 pași
CPE 133 Proiect final Decimal la Binar: 5 pași

Video: CPE 133 Proiect final Decimal la Binar: 5 pași

Video: CPE 133 Proiect final Decimal la Binar: 5 pași
Video: Learn Arduino in 30 Minutes: Examples and projects 2024, Noiembrie
Anonim
CPE 133 Proiect final Decimal la Binar
CPE 133 Proiect final Decimal la Binar

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

Materiale necesare
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)

Configurarea LFSR (Linear Feedback Shift Register)
Configurarea LFSR (Linear Feedback Shift Register)
Configurarea LFSR (Linear Feedback Shift Register)
Configurarea LFSR (Linear Feedback Shift Register)

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

Configurarea afișajului cu șapte segmente
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

Crearea modulului de joc
Crearea modulului de joc
Crearea modulului de joc
Crearea modulului de joc
Crearea modulului de joc
Crearea modulului de joc
Crearea modulului de joc
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

Jucand jocul!
Jucand jocul!
Jucand jocul!
Jucand jocul!
Jucand jocul!
Jucand 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: