INHOUDSOPGAWE:

CPE 133 Finale projek desimaal tot binêre: 5 stappe
CPE 133 Finale projek desimaal tot binêre: 5 stappe

Video: CPE 133 Finale projek desimaal tot binêre: 5 stappe

Video: CPE 133 Finale projek desimaal tot binêre: 5 stappe
Video: Cpe 133 final project 2024, November
Anonim
CPE 133 Finale projek desimaal tot binêre
CPE 133 Finale projek desimaal tot binêre

Binêre getalle is een van die eerste dinge wat by u opkom as u aan digitale logika dink. Binêre getalle kan egter 'n moeilike konsep wees vir diegene wat nuut is.

Hierdie projek sal diegene wat nuut en ervare is met binêre getalle help om desimale getalle om te skakel. Deur die skepping van 'n speletjie, sal ons gebruikers toets op hul omskakelingsvaardigheid. Hierdie speletjie word op 'n Basys3 -bord uitgevoer en in Verilog geprogrammeer.

Stap 1: materiaal benodig

Materiaal benodig
Materiaal benodig

Die volgende materiaal is nodig om hierdie desimale na binêre omskakelingspel te maak:

  • Xilinx Vivado Design Suite sagteware
  • Digilent Basys3 FPGA Board
  • USB na mikro -USB -kabel

Stap 2: Die opstel van die LFSR (Linear Feedback Shift Register)

Die opstel van die LFSR (Linear Feedback Shift Register)
Die opstel van die LFSR (Linear Feedback Shift Register)
Die opstel van die LFSR (Linear Feedback Shift Register)
Die opstel van die LFSR (Linear Feedback Shift Register)

'N LFSR (Linear Feedback Shift Register) is 'n module wat gebruik word om' ewekansige 'getalle te genereer.

'N LFSR is nie heeltemal ewekansig nie, aangesien dit pseudo-ewekansige getalle genereer, wat 'n proses is om getalle te genereer wat lukraak voorkom, maar dit is nie.

'N LFSR is 'n skofregister waarvan die invoerbit 'n lineêre funksie van sy vorige toestand is, wat beteken dat die LFSR deur 'n eindige stel getalle sal blaai. Spesifiek vir hierdie speletjie gebruik die LFSR slegs 8 bisse om die desimale getal wat dit kan genereer tot 255 te beperk.

Knoppie L (btnL) word gebruik om die nommer op die LFSR terug te stel.

Hierdie LFSR -module is nie deur die vervaardigers van hierdie speletjie geskep nie. Die LFSR -module is geskep deur professor Carleton University, John Knight. Die skakel vir sy module is hieronder ingesluit.

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

Stap 3: Die opstel van die sewe segment -skerm

Die opstel van die sewe segment -skerm
Die opstel van die sewe segment -skerm

'N Sewe-segment-skerm word op die Basys3-bord en op baie ander hardeware gebruik om alfanumerieke karakters te vertoon.

Die sewe-segment vertoonmodule wat in hierdie speletjie gebruik word, omskep 'n binêre getal in 'n desimale getal en vertoon dit as 'n desimale getal.

Deur gebruik te maak van die voorheen bespreek LFSR-module, word 'n ewekansige gegenereerde getal op die sewessegment-skerm vertoon.

Die sewe-segment vertoonmodule is nie deur die vervaardigers van hierdie speletjie geskep nie. Die sewe-segment vertoonmodule is verskaf deur die California Polytechnic State University Professor, Joseph Callenes-Sloan. Die pdf vir die module is hieronder aangeheg.

Stap 4: Skep die spelmodule

Die skep van die spelmodule
Die skep van die spelmodule
Die skep van die spelmodule
Die skep van die spelmodule
Die skep van die spelmodule
Die skep van die spelmodule
Die skep van die spelmodule
Die skep van die spelmodule

Skep spel (hoof) module.

Hierdie module sal die LFSR-module gebruik om 'n ewekansige getal te genereer en dit dan op die sewesegmentweergawe uit te voer.

Die module gebruik dan 'n altyd -blok wat die ewekansige getal herstel. Dit werk op die positiewe rand van knoppie R (btnR), wat beteken dat dit slegs sal werk as op knop R gedruk is.

Die tweede blok werk altyd op die positiewe rand van die klok (clk). As knoppie C (btnC) ingedruk word, sal dit kontroleer of die nommer op die sewesegmentweergawe dieselfde is as die invoernommer van die skakelaars (sw). Hierdie blok sal 'n vlag lig (stel die vlagregister (vlag) op 1) en verander die messageVal -draad na gelang die gebruiker gewen of verloor het.

Die derde blok werk ook op die positiewe kant van die klok. As die vlag gehys word, stel die ssegInputVal die messageVal-draad op die sewe-segment-skerm. As die vlag nie gehys word nie, sal dit die ewekansige getal (randomVal) voortbring.

Stap 5: Speel die spel

Speel die spel!
Speel die spel!
Speel die spel!
Speel die spel!
Speel die spel!
Speel die spel!

Instruksies:

  • Die gebruiker sal op knoppie R druk om 'n nuwe speletjie te maak, of die nommer op die sewe-segment-skerm verander.
  • Die gebruiker draai die eerste 8 skakelaars op (1) of af (0) om die binêre getal in te voer.
  • Knoppie C word gebruik om te kyk of die gebruiker gewen of verloor het.
  • As die gebruiker '111' gewen het, sal dit op die sewesegment vertoon word.
  • As die gebruiker '0' verloor het, sal dit op die sewesegment vertoon word.
  • Om 'n nuwe speletjie te begin, kan op enige tyd op Knoppie R gedruk word.

Aanbeveel: