Sommario:

CPE 133 Progetto finale da decimale a binario: 5 passaggi
CPE 133 Progetto finale da decimale a binario: 5 passaggi

Video: CPE 133 Progetto finale da decimale a binario: 5 passaggi

Video: CPE 133 Progetto finale da decimale a binario: 5 passaggi
Video: Il Punto della settimana di Tony (13/1) - Girotondo 2024, Novembre
Anonim
CPE 133 Progetto finale da decimale a binario
CPE 133 Progetto finale da decimale a binario

I numeri binari sono una delle prime cose che vengono in mente quando si pensa alla logica digitale. Tuttavia, i numeri binari possono essere un concetto difficile per chi non lo conosce.

Questo progetto aiuterà coloro che sono nuovi ed esperti con i numeri binari a padroneggiare la conversione dei numeri decimali. Attraverso la creazione di un gioco metteremo alla prova gli utenti sulla loro abilità di conversione. Questo gioco verrà eseguito su una Basys3 Board e programmato in Verilog.

Passaggio 1: materiali necessari

Materiale necessario
Materiale necessario

I seguenti materiali sono necessari per realizzare questo gioco di conversione da decimale a binario:

  • Xilinx Vivado Design Suite Software
  • Scheda FPGA Digilent Basys3
  • Cavo da USB a Micro USB

Passaggio 2: impostazione dell'LFSR (Registro a scorrimento del feedback lineare)

Impostazione dell'LFSR (Registro a scorrimento del feedback lineare)
Impostazione dell'LFSR (Registro a scorrimento del feedback lineare)
Impostazione dell'LFSR (Registro a scorrimento del feedback lineare)
Impostazione dell'LFSR (Registro a scorrimento del feedback lineare)

Un LFSR (Linear Feedback Shift Register) è un modulo utilizzato per generare numeri “casuali”.

Un LFSR non è completamente casuale in quanto genera numeri pseudo-casuali che è un processo di generazione di numeri che appaiono casuali ma non lo sono.

Un LFSR è un registro a scorrimento il cui bit di input è una funzione lineare del suo stato precedente, il che significa che l'LFSR passerà attraverso un insieme finito di numeri. In particolare per questo gioco, l'LFSR utilizzerà solo 8 bit per limitare il numero decimale che può generare a 255.

Il pulsante L (btnL) viene utilizzato per azzerare il numero sull'LFSR.

Questo modulo LFSR non è stato creato dai creatori di questo gioco. Il modulo LFSR è stato creato dal professore della Carleton University, John Knight. Il link per il suo modulo è incluso di seguito.

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

Passaggio 3: impostazione del display a sette segmenti

Impostazione del display a sette segmenti
Impostazione del display a sette segmenti

Un display a sette segmenti viene utilizzato sulla scheda Basys3 e su molti altri componenti hardware per visualizzare i caratteri alfanumerici.

Il modulo Display a sette segmenti utilizzato in questo gioco converte un numero binario in un numero decimale e lo visualizza come numero decimale.

Utilizzando il modulo LFSR discusso in precedenza, un numero generato casualmente verrà visualizzato sul display a sette segmenti.

Il modulo Display a sette segmenti non è stato creato dai creatori di questo gioco. Il modulo Display a sette segmenti è stato fornito dal professore della California Polytechnic State University, Joseph Callenes-Sloan. Di seguito si allega il pdf del modulo.

Passaggio 4: creazione del modulo di gioco

Creazione del modulo di gioco
Creazione del modulo di gioco
Creazione del modulo di gioco
Creazione del modulo di gioco
Creazione del modulo di gioco
Creazione del modulo di gioco
Creazione del modulo di gioco
Creazione del modulo di gioco

Modulo Crea gioco (principale).

Questo modulo utilizzerà il modulo LFSR per generare un numero casuale e quindi emetterlo sul display a sette segmenti.

Il modulo utilizza quindi un blocco sempre che azzera il numero casuale. Funziona sul fronte positivo del pulsante R (btnR), il che significa che funzionerà solo quando il pulsante R è stato premuto.

Il blocco Second opera sempre sul fronte positivo del clock (clk). Se si preme il pulsante C (btnC), si verificherà se il numero sul display a sette segmenti è lo stesso del numero di input dagli interruttori (sw). Questo blocco alzerà un flag (imposta il flag register (flag) a 1) e cambierà il filo messageVal a seconda che l'utente abbia vinto o perso.

Il terzo blocco opera sempre anche sul fronte positivo del clock. Se il flag viene alzato imposterà ssegInputVal al filo messageVal sul display a sette segmenti. Se il flag non viene alzato, continuerà a produrre il numero casuale (randomVal).

Passaggio 5: giocare

Giocare!
Giocare!
Giocare!
Giocare!
Giocare!
Giocare!

Istruzioni:

  • L'utente premerà il pulsante R per creare un nuovo gioco o cambierà il numero sul display a sette segmenti.
  • L'utente alzerà i primi 8 interruttori in alto (1) o in basso (0) per inserire il numero binario.
  • Il pulsante C verrà utilizzato per verificare se l'utente ha vinto o perso.
  • Se l'utente ha vinto '111' verrà visualizzato sul display a sette segmenti.
  • Se l'utente ha perso '0' verrà visualizzato sul display a sette segmenti.
  • Per iniziare una nuova partita, puoi premere il pulsante R in qualsiasi momento.

Consigliato: