Obsah:

CPE 133 Final Project Decimal to Binary: 5 Steps
CPE 133 Final Project Decimal to Binary: 5 Steps

Video: CPE 133 Final Project Decimal to Binary: 5 Steps

Video: CPE 133 Final Project Decimal to Binary: 5 Steps
Video: Binary to Decimal Conversion | Binary to decimal 2024, Červenec
Anonim
CPE 133 Final Project Decimal to Binary
CPE 133 Final Project Decimal to Binary

Binární čísla jsou jednou z prvních věcí, které vás napadnou při uvažování o digitální logice. Binární čísla však mohou být pro nováčky obtížným konceptem.

Tento projekt pomůže těm, kteří jsou noví i zkušení v práci s binárními čísly, při převodu desetinných čísel. Vytvořením hry vyzkoušíme uživatele na jejich konverzních schopnostech. Tato hra bude spuštěna na desce Basys3 a naprogramována ve Verilogu.

Krok 1: Potřebné materiály

Potřebné materiály
Potřebné materiály

K provedení této desítkové až binární konverzní hry jsou zapotřebí následující materiály:

  • Software Xilinx Vivado Design Suite
  • Deska FPGA Digilent Basys3
  • Kabel USB na Micro USB

Krok 2: Nastavení LFSR (posuvný registr lineární zpětné vazby)

Nastavení LFSR (posuvný registr lineární zpětné vazby)
Nastavení LFSR (posuvný registr lineární zpětné vazby)
Nastavení LFSR (posuvný registr lineární zpětné vazby)
Nastavení LFSR (posuvný registr lineární zpětné vazby)

LFSR (Linear Feedback Shift Register) je modul používaný ke generování „náhodných“čísel.

LFSR není zcela náhodný, protože generuje pseudonáhodná čísla, což je proces generování čísel, která vypadají náhodně, ale nejsou.

LFSR je posuvný registr, jehož vstupní bit je lineární funkcí jeho předchozího stavu, což znamená, že LFSR bude procházet konečnými množinami čísel. Konkrétně pro tuto hru bude LFSR používat pouze 8 bitů k omezení desetinného čísla, které může generovat, na 255.

Tlačítko L (btnL) slouží k resetování čísla na LFSR.

Tento modul LFSR nebyl vytvořen tvůrci této hry. Modul LFSR vytvořil profesor Carleton University John Knight. Odkaz na jeho modul je uveden níže.

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

Krok 3: Nastavení zobrazení sedmi segmentů

Nastavení zobrazení sedmi segmentů
Nastavení zobrazení sedmi segmentů

K zobrazení alfanumerických znaků se na desce Basys3 a na mnoha dalších kusech hardwaru používá sedmisegmentový displej.

Modul Seven-Segment Display, který se používá v této hře, převádí binární číslo na desetinné číslo a zobrazuje jej jako desetinné číslo.

Použitím dříve diskutovaného modulu LFSR bude na sedmisegmentový displej generováno náhodně generované číslo.

Modul Seven-Segment Display nebyl vytvořen tvůrci této hry. Modul zobrazení sedmi segmentů poskytl profesor Kalifornské polytechnické státní univerzity Joseph Callenes-Sloan. PDF pro modul je přiloženo níže.

Krok 4: Vytvoření herního modulu

Vytvoření herního modulu
Vytvoření herního modulu
Vytvoření herního modulu
Vytvoření herního modulu
Vytvoření herního modulu
Vytvoření herního modulu
Vytvoření herního modulu
Vytvoření herního modulu

Vytvořte herní (hlavní) modul.

Tento modul použije modul LFSR ke generování náhodného čísla a jeho výstupu na displej se sedmi segmenty.

Modul poté použije vždy blok, který resetuje náhodné číslo. Funguje na kladné hraně tlačítka R (btnR), což znamená, že bude fungovat pouze po stisknutí tlačítka R.

Druhý blok vždy pracuje na kladné hraně hodin (clk). Pokud je stisknuto tlačítko C (btnC), zkontroluje se, zda je číslo na sedmisegmentovém displeji stejné jako vstupní číslo z přepínačů (sw). Tento blok vyvolá příznak (nastaví registr příznaků (příznak) na 1) a změní drát zprávyVal podle toho, zda uživatel vyhrál nebo prohrál.

Třetí blok vždy funguje také na kladné hraně hodin. Pokud je příznak zvýšen, nastaví ssegInputVal na drát zprávyVal na displeji se sedmi segmenty. Pokud není příznak zvýšen, bude pokračovat ve výstupu náhodného čísla (randomVal).

Krok 5: Hraní hry

Hraní hry!
Hraní hry!
Hraní hry!
Hraní hry!
Hraní hry!
Hraní hry!

Instrukce:

  • Uživatel stiskne tlačítko R a vytvoří novou hru nebo změní číslo na sedmisegmentovém displeji.
  • Uživatel otočí prvních 8 přepínačů nahoru (1) nebo dolů (0), aby zadal reprezentaci binárního čísla.
  • Tlačítko C bude použito ke kontrole, zda uživatel vyhrál nebo prohrál.
  • Pokud uživatel vyhrál, zobrazí se na displeji se sedmi segmenty číslo „111“.
  • Pokud uživatel ztratí, zobrazí se na displeji se sedmi segmenty „0“.
  • Pro zahájení nové hry lze tlačítko R kdykoli stisknout.

Doporučuje: