Sadržaj:

CPE 133 Finalni projekat decimalni u binarni: 5 koraka
CPE 133 Finalni projekat decimalni u binarni: 5 koraka

Video: CPE 133 Finalni projekat decimalni u binarni: 5 koraka

Video: CPE 133 Finalni projekat decimalni u binarni: 5 koraka
Video: CPE 133 Final Project - Kody Dangtongdee and Nick Boring 2024, Juli
Anonim
CPE 133 Finalni projekat decimalni u binarni
CPE 133 Finalni projekat decimalni u binarni

Binarni brojevi su jedna od prvih stvari koje mi padaju na pamet pri razmišljanju o digitalnoj logici. Međutim, binarni brojevi mogu biti težak koncept za one koji im tek znaju.

Ovaj će projekt pomoći onima koji su i novi i iskusni s binarnim brojevima da svladaju pretvaranje decimalnih brojeva. Kroz stvaranje igre testirat ćemo korisnike na njihovim vještinama konverzije. Ova igra će biti izvedena na Basys3 ploči i programirana u Verilogu.

Korak 1: Potrebni materijali

Potrebni materijali
Potrebni materijali

Sljedeći materijali potrebni su za izradu ove igre za decimalno u binarno pretvaranje:

  • Xilinx Vivado Design Suite softver
  • Digilent Basys3 FPGA ploča
  • USB na mikro USB kabel

Korak 2: Postavljanje LFSR (Linear Feedback Shift Register)

Postavljanje LFSR (Linear Feedback Shift Register)
Postavljanje LFSR (Linear Feedback Shift Register)
Postavljanje LFSR (Linear Feedback Shift Register)
Postavljanje LFSR (Linear Feedback Shift Register)

LFSR (Linear Feedback Shift Register) je modul koji se koristi za generiranje „slučajnih“brojeva.

LFSR nije potpuno slučajan jer generira pseudo-slučajne brojeve, što je proces generiranja brojeva koji izgledaju nasumično, ali nisu.

LFSR je registar pomaka čiji je ulazni bit linearna funkcija prethodnog stanja, što znači da će LFSR kružiti kroz konačne skupove brojeva. Konkretno za ovu igru, LFSR će koristiti samo 8 bita da ograniči decimalni broj koji može generirati na 255.

Dugme L (btnL) se koristi za resetovanje broja na LFSR -u.

Kreatori ove igre nisu kreirali ovaj LFSR modul. LFSR modul kreirao je profesor Univerziteta Carleton, John Knight. Link za njegov modul nalazi se ispod.

www.doe.carleton.ca/~jknight/97.478/97.478_…

Korak 3: Postavljanje prikaza sa sedam segmenata

Postavljanje prikaza sa sedam segmenata
Postavljanje prikaza sa sedam segmenata

Zaslon sa sedam segmenata koristi se na Basys3 ploči i na mnogim drugim komadima hardvera za prikaz alfanumeričkih znakova.

Modul prikaza sa sedam segmenata koji se koristi u ovoj igri pretvara binarni broj u decimalni broj i prikazuje ga kao decimalni broj.

Korištenjem prethodno razmotrenog LFSR modula, nasumično generirani broj bit će izlagan na Sedam-segmentni ekran.

Moduli za prikaz u sedam segmenata nisu kreirali kreatori ove igre. Modul prikaza u sedam segmenata pružio je profesor Kalifornijskog politehničkog državnog univerziteta, Joseph Callenes-Sloan. PDF za modul nalazi se u nastavku.

Korak 4: Kreiranje modula igre

Kreiranje modula igre
Kreiranje modula igre
Kreiranje modula igre
Kreiranje modula igre
Kreiranje modula igre
Kreiranje modula igre
Kreiranje modula igre
Kreiranje modula igre

Kreirajte modul igre (glavni).

Ovaj modul će koristiti LFSR modul za generiranje slučajnog broja, a zatim ga ispisati na sedmosegmentni ekran.

Modul tada koristi uvijek blok koji poništava slučajni broj. Ovo radi na pozitivnoj ivici dugmeta R (btnR), što znači da će raditi samo kada je pritisnuto dugme R.

Drugi uvijek blok radi na pozitivnoj ivici sata (clk). Ako se pritisne tipka C (btnC), to će provjeriti je li broj na ekranu sa sedam segmenata isti kao ulazni broj sa prekidača (sw). Ovaj blok će podići zastavicu (postaviti registar zastavica (zastavu) na 1) i promijeniti žicu messageVal prema tome je li korisnik pobijedio ili izgubio.

Treći uvijek blok također radi na pozitivnoj ivici sata. Ako je zastavica podignuta, postavit će ssegInputVal na žicu messageVal na ekranu s sedam segmenata. Ako zastavica nije podignuta, nastavit će izlaziti slučajni broj (randomVal).

Korak 5: Igrajte igru

Igranje igre!
Igranje igre!
Igranje igre!
Igranje igre!
Igranje igre!
Igranje igre!

Instrukcije:

  • Korisnik će pritisnuti dugme R da napravi novu igru, ili promijeniti broj na ekranu sa sedam segmenata.
  • Korisnik će okrenuti prvih 8 prekidača prema gore (1) ili prema dolje (0) da unese binarni broj koji predstavlja.
  • Tipka C će se koristiti za provjeru je li korisnik pobijedio ili izgubio.
  • Ako je korisnik osvojio '111' bit će prikazano na ekranu sa sedam segmenata.
  • Ako je korisnik izgubio '0' bit će prikazano na ekranu sa sedam segmenata.
  • Za početak nove igre možete pritisnuti tipku R u bilo kojem trenutku.

Preporučuje se: