Innholdsfortegnelse:

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, Juli
Anonim
CPE 133 Final Project Decimal to Binary
CPE 133 Final Project Decimal to Binary

Binære tall er en av de første tingene du tenker på når du tenker på digital logikk. Imidlertid kan binære tall være et vanskelig konsept for de som er nye.

Dette prosjektet vil hjelpe de som er både nye og erfarne med binære tall med å mestre å konvertere desimaltall. Gjennom opprettelsen av et spill vil vi teste brukerne på deres konverteringsevne. Dette spillet vil bli utført på et Basys3 -bord og programmert i Verilog.

Trinn 1: Nødvendige materialer

Materialer som trengs
Materialer som trengs

Følgende materialer er nødvendige for å gjøre dette desimal til binært konverteringsspill:

  • Xilinx Vivado Design Suite -programvare
  • Digilent Basys3 FPGA Board
  • USB til mikro USB -kabel

Trinn 2: Konfigurere LFSR (lineært tilbakemeldingsskiftregister)

Sette opp LFSR (Linear Feedback Shift Register)
Sette opp LFSR (Linear Feedback Shift Register)
Sette opp LFSR (Linear Feedback Shift Register)
Sette opp LFSR (Linear Feedback Shift Register)

Et LFSR (Linear Feedback Shift Register) er en modul som brukes til å generere "tilfeldige" tall.

En LFSR er ikke helt tilfeldig da den genererer pseudo-tilfeldige tall, som er en prosess for å generere tall som vises tilfeldige, men ikke er det.

En LFSR er et skiftregister hvis inngangsbit er en lineær funksjon av sin forrige tilstand, noe som betyr at LFSR vil gå gjennom et begrenset antall. Spesielt for dette spillet vil LFSR bare bruke 8 bits for å begrense desimaltallet det kan generere til 255.

Knapp L (btnL) brukes til å tilbakestille nummeret på LFSR.

Denne LFSR -modulen ble ikke opprettet av skaperne av dette spillet. LFSR -modulen ble opprettet av Carleton University Professor, John Knight. Lenken til modulen hans er inkludert nedenfor.

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

Trinn 3: Konfigurere displayet med syv segmenter

Sette opp displayet med syv segmenter
Sette opp displayet med syv segmenter

En sjusegmentskjerm brukes på Basys3-kortet og på mange andre maskinvare for å vise alfanumeriske tegn.

Den syv-segmenters displaymodulen som brukes i dette spillet, konverterer et binært tall til et desimalnummer og viser det som et desimaltall.

Ved å benytte den tidligere diskuterte LFSR-modulen, sendes et tilfeldig generert tall ut på syv-segmentskjermen.

Seven-Segment Display-modulen ble ikke opprettet av skaperne av dette spillet. Modulen Seven-Segment Display ble levert av California Polytechnic State University Professor, Joseph Callenes-Sloan. PDF -filen for modulen er vedlagt nedenfor.

Trinn 4: Opprette spillmodulen

Opprette spillmodulen
Opprette spillmodulen
Opprette spillmodulen
Opprette spillmodulen
Opprette spillmodulen
Opprette spillmodulen
Opprette spillmodulen
Opprette spillmodulen

Lag spill (hoved) modul.

Denne modulen vil bruke LFSR-modulen til å generere et tilfeldig tall og deretter sende det ut på sjusegmentsdisplayet.

Modulen bruker deretter en alltid blokk som tilbakestiller det tilfeldige tallet. Dette fungerer på den positive kanten av knapp R (btnR), noe som betyr at den bare vil fungere når du har trykket på knapp R.

Den andre blokken opererer alltid på den positive kanten av klokken (clk). Hvis du trykker på knapp C (btnC), vil dette sjekke om tallet på displayet i syv segmenter er det samme som inndatatallet fra bryterne (sw). Denne blokken vil heve et flagg (sette flaggregisteret (flagget) til 1) og endre meldingVal -ledningen i henhold til om brukeren har vunnet eller tapt.

Den tredje blokken opererer også på den positive kanten av klokken. Hvis flagget er hevet, vil det sette ssegInputVal til meldingVal-ledningen på displayet for syv segmenter. Hvis flagget ikke er hevet, vil det fortsette å sende ut det tilfeldige tallet (randomVal).

Trinn 5: Spill spillet

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

Bruksanvisning:

  • Brukeren vil trykke på knapp R for å lage et nytt spill, eller endre nummeret på displayet med syv segmenter.
  • Brukeren vil snu de første 8 bryterne opp (1) eller ned (0) for å legge inn det binære tallet.
  • Knapp C brukes til å sjekke om brukeren vant eller tapte.
  • Hvis brukeren vant '111' vil bli vist på sjusegmentsdisplayet.
  • Hvis brukeren mistet '0', vil det vises på sjusegmentsdisplayet.
  • For å starte et nytt spill kan du trykke på R -knappen når som helst.

Anbefalt: