Indholdsfortegnelse:

CPE 133 Final Project Decimal til Binary: 5 trin
CPE 133 Final Project Decimal til Binary: 5 trin

Video: CPE 133 Final Project Decimal til Binary: 5 trin

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

Binære tal er en af de første ting, man tænker på, når man tænker på digital logik. Imidlertid kan binære tal være et svært koncept for dem, der er nye i det.

Dette projekt vil hjælpe dem, der er både nye og erfarne med binære tal med at mestre at konvertere decimaltal. Gennem oprettelsen af et spil tester vi brugerne på deres konverteringsevner. Dette spil vil blive udført på et Basys3 Board og programmeret i Verilog.

Trin 1: Nødvendige materialer

Nødvendige materialer
Nødvendige materialer

Følgende materialer er nødvendige for at lave dette decimal til binært konverteringsspil:

  • Xilinx Vivado Design Suite -software
  • Digilent Basys3 FPGA Board
  • USB til Micro USB kabel

Trin 2: Opsætning af LFSR (register over lineært feedbackskift)

Opsætning af LFSR (Linear Feedback Shift Register)
Opsætning af LFSR (Linear Feedback Shift Register)
Opsætning af LFSR (Linear Feedback Shift Register)
Opsætning af LFSR (Linear Feedback Shift Register)

Et LFSR (Linear Feedback Shift Register) er et modul, der bruges til at generere "tilfældige" tal.

En LFSR er ikke helt tilfældig, da den genererer pseudo-tilfældige tal, som er en proces til at generere tal, der forekommer tilfældige, men ikke er.

En LFSR er et skiftregister, hvis inputbit er en lineær funktion af dens tidligere tilstand, hvilket betyder, at LFSR vil cykle gennem et begrænset sæt tal. Specielt til dette spil vil LFSR kun bruge 8 bits til at begrænse det decimaltal, det kan generere til 255.

Knap L (btnL) bruges til at nulstille nummeret på LFSR.

Dette LFSR -modul blev ikke skabt af skaberne af dette spil. LFSR -modulet blev oprettet af Carleton University Professor, John Knight. Linket til hans modul er inkluderet nedenfor.

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

Trin 3: Opsætning af displayet med syv segmenter

Opsætning af displayet med syv segmenter
Opsætning af displayet med syv segmenter

Et syv-segment display bruges på Basys3 Board og på mange andre stykker hardware til at vise alfanumeriske tegn.

Seven-Segment Display-modulet, der bruges i dette spil, konverterer et binært tal til et decimaltal og viser det som et decimaltal.

Ved at anvende det tidligere diskuterede LFSR-modul, udsendes et tilfældigt genereret tal på syv-segmentdisplayet.

Seven-Segment Display-modulet blev ikke skabt af skaberne af dette spil. Displayet med syv segmenter blev leveret af California Polytechnic State University Professor, Joseph Callenes-Sloan. PDF'en til modulet er vedhæftet nedenfor.

Trin 4: Oprettelse af spilmodulet

Oprettelse af spilmodulet
Oprettelse af spilmodulet
Oprettelse af spilmodulet
Oprettelse af spilmodulet
Oprettelse af spilmodulet
Oprettelse af spilmodulet
Oprettelse af spilmodulet
Oprettelse af spilmodulet

Opret spil (hoved) modul.

Dette modul vil bruge LFSR-modulet til at generere et tilfældigt tal og derefter udsende det på syv-segment displayet.

Modulet bruger derefter en altid blok, der nulstiller tilfældigt tal. Dette fungerer på den positive kant af knap R (btnR), hvilket betyder, at den kun fungerer, når der er trykket på knap R.

Den anden blok fungerer altid på den positive kant af uret (clk). Hvis der trykkes på knap C (btnC), kontrolleres dette, om tallet på displayet i syv segmenter er det samme som indtastningsnummeret fra kontakterne (sw). Denne blok vil hæve et flag (indstille flagregistret (flag) til 1) og ændre messageVal -ledningen efter, om brugeren har vundet eller tabt.

Den tredje blok fungerer altid også på den positive kant af uret. Hvis flaget er hævet, indstiller ssegInputVal til messageVal-ledningen på displayet i syv segmenter. Hvis flaget ikke er hævet, vil det fortsætte med at udsende det tilfældige tal (randomVal).

Trin 5: Spil spillet

Spiller spillet!
Spiller spillet!
Spiller spillet!
Spiller spillet!
Spiller spillet!
Spiller spillet!

Instruktioner:

  • Brugeren vil trykke på knap R for at lave et nyt spil eller ændre nummeret på displayet med syv segmenter.
  • Brugeren vender de første 8 kontakter op (1) eller ned (0) for at indtaste repræsentanten af det binære tal.
  • Knap C bruges til at kontrollere, om brugeren vandt eller tabte.
  • Hvis brugeren vandt '111' vil blive vist på displayet med syv segmenter.
  • Hvis brugeren mistede '0', vises på syv-segmentdisplayet.
  • For at starte et nyt spil kan der til enhver tid trykkes på knap R.

Anbefalede: