Innehållsförteckning:

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

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

Video: CPE 133 Final Project Decimal to Binary: 5 Steg
Video: CPE 133 Final Project Presentation and Verification 2024, November
Anonim
CPE 133 Final Project Decimal to Binary
CPE 133 Final Project Decimal to Binary

Binära nummer är en av de första sakerna som kommer att tänka på när man tänker på digital logik. Binära nummer kan emellertid vara ett svårt koncept för de som är nya i det.

Detta projekt kommer att hjälpa dem som är både nya och erfarna med binära tal att behärska att konvertera decimaltal. Genom skapandet av ett spel kommer vi att testa användare på deras konverteringsförmåga. Detta spel kommer att köras på ett Basys3 -kort och programmeras i Verilog.

Steg 1: Material som behövs

Material behövs
Material behövs

Följande material behövs för att göra detta decimal till binärt konverteringsspel:

  • Xilinx Vivado Design Suite -programvara
  • Digilent Basys3 FPGA Board
  • USB till Micro USB -kabel

Steg 2: Konfigurera LFSR (Linear Feedback Shift Register)

Konfigurera LFSR (Linear Feedback Shift Register)
Konfigurera LFSR (Linear Feedback Shift Register)
Konfigurera LFSR (Linear Feedback Shift Register)
Konfigurera LFSR (Linear Feedback Shift Register)

Ett LFSR (Linear Feedback Shift Register) är en modul som används för att generera "slumpmässiga" nummer.

En LFSR är inte helt slumpmässig eftersom den genererar pseudo-slumpmässiga nummer som är en process för att generera nummer som verkar slumpmässiga men inte är det.

En LFSR är ett skiftregister vars inmatningsbit är en linjär funktion av dess tidigare tillstånd, vilket innebär att LFSR kommer att cykla genom ett ändligt antal. Specifikt för detta spel kommer LFSR bara att använda 8 bitar för att begränsa decimaltalet det kan generera till 255.

Knapp L (btnL) används för att återställa numret på LFSR.

Denna LFSR -modul skapades inte av skaparna av detta spel. LFSR -modulen skapades av Carleton University Professor, John Knight. Länken till hans modul finns nedan.

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

Steg 3: Konfigurera displayen med sju segment

Konfigurera displayen med sju segment
Konfigurera displayen med sju segment

En sjusegmentsdisplay används på Basys3-kortet och på många andra hårdvaror för att visa alfanumeriska tecken.

Den sju segmentiga displaymodulen som används i det här spelet omvandlar ett binärt tal till ett decimaltal och visar det som ett decimaltal.

Genom att använda den tidigare diskuterade LFSR-modulen kommer ett slumpmässigt genererat tal att matas ut på sjusegmentsdisplayen.

Modulen Seven-Segment Display skapades inte av skaparna av detta spel. Modulen Seven-Segment Display levererades av California Polytechnic State University Professor, Joseph Callenes-Sloan. PDF -filen för modulen bifogas nedan.

Steg 4: Skapa spelmodulen

Skapa spelmodulen
Skapa spelmodulen
Skapa spelmodulen
Skapa spelmodulen
Skapa spelmodulen
Skapa spelmodulen
Skapa spelmodulen
Skapa spelmodulen

Skapa spel (huvud) modul.

Denna modul kommer att använda LFSR-modulen för att generera ett slumpmässigt tal och sedan mata ut det på sjusegmentsdisplayen.

Modulen använder sedan ett alltid block som återställer slumpmässigt tal. Detta fungerar på den positiva kanten av knapp R (btnR), vilket innebär att den bara fungerar när knappen R har tryckts in.

Det andra blocket fungerar alltid på klockans positiva kant (clk). Om du trycker på knapp C (btnC) kontrolleras detta om siffran på displayen med sju segment är samma som inmatningsnumret från omkopplarna (sw). Det här blocket kommer att höja en flagga (ställ flaggregistret (flaggan) till 1) och ändra messageVal -kabeln beroende på om användaren har vunnit eller förlorat.

Det tredje blocket fungerar alltid på klockans positiva kant. Om flaggan lyfts ställs ssegInputVal in till messageVal-kabeln på displayen med sju segment. Om flaggan inte lyfts kommer den att fortsätta mata ut slumpmässigt tal (randomVal).

Steg 5: Spela spelet

Spelar spelet!
Spelar spelet!
Spelar spelet!
Spelar spelet!
Spelar spelet!
Spelar spelet!

Instruktioner:

  • Användaren kommer att trycka på knapp R för att skapa ett nytt spel, eller ändra numret på sjusegmentsdisplayen.
  • Användaren vänder de första 8 omkopplarna uppåt (1) eller nedåt (0) för att mata in det binära talet.
  • Knapp C används för att kontrollera om användaren vann eller förlorade.
  • Om användaren vann "111" visas på sjusegmentsdisplayen.
  • Om användaren förlorade "0" visas på sjusegmentsdisplayen.
  • För att starta ett nytt spel kan du trycka på knapp R när som helst.

Rekommenderad: