Sadržaj:

CPE 133 Završni projekt decimalni u binarni: 5 koraka
CPE 133 Završni projekt decimalni u binarni: 5 koraka

Video: CPE 133 Završni projekt decimalni u binarni: 5 koraka

Video: CPE 133 Završni projekt decimalni u binarni: 5 koraka
Video: CPE 133 Lab 6 Demo 2024, Studeni
Anonim
CPE 133 Završni projekt decimalni u binarni
CPE 133 Završni projekt decimalni u binarni

Binarni brojevi jedna su od prvih stvari koje vam 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 novi i iskusni s binarnim brojevima da svladaju pretvorbu decimalnih brojeva. Kroz stvaranje igre testirat ćemo korisnike na njihovoj vještini pretvorbe. Ova igra bit će 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 -a (Linear Feedback Shift Register)

Postavljanje LFSR -a (Linear Feedback Shift Register)
Postavljanje LFSR -a (Linear Feedback Shift Register)
Postavljanje LFSR -a (Linear Feedback Shift Register)
Postavljanje LFSR -a (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 postavljene brojeve. Konkretno za ovu igru, LFSR će koristiti samo 8 bita da ograniči decimalni broj koji može generirati na 255.

Gumb L (btnL) koristi se za poništavanje broja na LFSR -u.

Autori ove igre nisu stvorili ovaj LFSR modul. LFSR modul izradio je profesor sa Sveučilišta 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 dijelovima 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 ispisan na sedmosegmentnom zaslonu.

Moduli za prikaz u sedam segmenata nisu stvorili tvorci ove igre. Modul za prikaz u sedam segmenata pružio je profesor California University Polytechnic State University, Joseph Callenes-Sloan. PDF za modul nalazi se u nastavku.

Korak 4: Stvaranje modula igre

Izrada modula igre
Izrada modula igre
Izrada modula igre
Izrada modula igre
Izrada modula igre
Izrada modula igre
Izrada modula igre
Izrada modula igre

Izradite glavni (glavni) modul igre.

Ovaj će modul koristiti LFSR modul za generiranje slučajnog broja, a zatim ga ispisati na zaslon s sedam segmenata.

Modul tada koristi uvijek blok koji poništava slučajni broj. Ovo radi na pozitivnom rubu tipke R (btnR), što znači da će raditi samo kada je pritisnuta tipka R.

Drugi uvijek blok radi na pozitivnom rubu sata (clk). Ako je pritisnuta tipka C (btnC), to će provjeriti je li broj na zaslonu 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 djeluje na pozitivnom rubu sata. Ako je zastavica podignuta, postavit će ssegInputVal na žicu messageVal na zaslonu 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!

Upute:

  • Korisnik će pritisnuti tipku R za izradu nove igre ili promijeniti broj na zaslonu sa sedam segmenata.
  • Korisnik će okrenuti prvih 8 prekidača prema gore (1) ili prema dolje (0) za unos predstavlja binarni broj.
  • Gumb C će se koristiti za provjeru je li korisnik pobijedio ili izgubio.
  • Ako je korisnik osvojio '111' bit će prikazano na zaslonu s sedam segmenata.
  • Ako je korisnik izgubio '0' bit će prikazano na zaslonu u sedam segmenata.
  • Za početak nove igre tipku R možete pritisnuti u bilo kojem trenutku.

Preporučeni: