Isi kandungan:

Projek Akhir CPE 133 Perpuluhan hingga Perduaan: 5 Langkah
Projek Akhir CPE 133 Perpuluhan hingga Perduaan: 5 Langkah

Video: Projek Akhir CPE 133 Perpuluhan hingga Perduaan: 5 Langkah

Video: Projek Akhir CPE 133 Perpuluhan hingga Perduaan: 5 Langkah
Video: CPE 133 Basys 3 Board Piano Experiment 2024, Julai
Anonim
Projek Akhir CPE 133 Perpuluhan hingga Perduaan
Projek Akhir CPE 133 Perpuluhan hingga Perduaan

Nombor Binari adalah salah satu perkara pertama yang terlintas di fikiran ketika memikirkan logik digital. Walau bagaimanapun, Nombor Binari boleh menjadi konsep yang sukar bagi mereka yang baru.

Projek ini akan membantu mereka yang baru dan berpengalaman dengan master nombor binari menukar nombor perpuluhan. Melalui penciptaan permainan, kami akan menguji pengguna mengenai kemahiran penukaran mereka. Permainan ini akan dijalankan di Papan Basys3 dan diprogramkan di Verilog.

Langkah 1: Bahan Yang Diperlukan

Bahan Yang Diperlukan
Bahan Yang Diperlukan

Bahan-bahan berikut diperlukan untuk membuat Permainan Penukaran Perpuluhan ke Binari ini:

  • Perisian Xilinx Vivado Design Suite
  • Papan Digilent Basys3 FPGA
  • Kabel USB ke Mikro USB

Langkah 2: Menyiapkan LFSR (Daftar Perubahan Maklum Balas Linear)

Menyiapkan LFSR (Daftar Perubahan Maklum Balas Linear)
Menyiapkan LFSR (Daftar Perubahan Maklum Balas Linear)
Menyiapkan LFSR (Daftar Perubahan Maklum Balas Linear)
Menyiapkan LFSR (Daftar Perubahan Maklum Balas Linear)

LFSR (Linear Feedback Shift Register) adalah modul yang digunakan untuk menghasilkan nombor "rawak".

LFSR tidak sepenuhnya rawak kerana menghasilkan nombor pseudo-random yang merupakan proses menghasilkan nombor yang kelihatan rawak tetapi tidak.

LFSR adalah register shift yang bit inputnya adalah fungsi linear dari keadaan sebelumnya, yang bermaksud LFSR akan berpusing melalui nombor set terhingga. Khusus untuk permainan ini, LFSR hanya akan menggunakan 8 bit untuk mengehadkan nombor perpuluhan yang dapat dihasilkannya menjadi 255.

Butang L (btnL) digunakan untuk menetapkan semula nombor pada LFSR.

Modul LFSR ini tidak dibuat oleh pembuat permainan ini. Modul LFSR dibuat oleh Profesor Universiti Carleton, John Knight. Pautan untuk modulnya disertakan di bawah.

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

Langkah 3: Menyiapkan Paparan Tujuh Segmen

Menyiapkan Paparan Tujuh Segmen
Menyiapkan Paparan Tujuh Segmen

Paparan Tujuh-Segmen digunakan di Papan Basys3 dan pada banyak perkakasan lain untuk memaparkan watak alfanumerik.

Modul Tujuh Segmen yang digunakan dalam permainan ini menukar nombor perduaan menjadi nombor perpuluhan dan memaparkannya sebagai nombor perpuluhan.

Dengan menggunakan modul LFSR yang telah dibincangkan sebelumnya, nombor yang dihasilkan secara rawak akan dikeluarkan ke Paparan Tujuh-Segmen.

Modul Tampilan Tujuh-Segmen tidak dibuat oleh pembuat permainan ini. Modul Paparan Tujuh-Segmen disediakan oleh Profesor Universiti Negeri Politeknik California, Joseph Callenes-Sloan. Pdf untuk modul dilampirkan di bawah.

Langkah 4: Membuat Modul Permainan

Membuat Modul Permainan
Membuat Modul Permainan
Membuat Modul Permainan
Membuat Modul Permainan
Membuat Modul Permainan
Membuat Modul Permainan
Membuat Modul Permainan
Membuat Modul Permainan

Buat Modul Permainan (utama).

Modul ini akan menggunakan modul LFSR untuk menghasilkan nombor rawak dan kemudian mengeluarkannya ke Paparan Tujuh-Segmen.

Modul kemudian menggunakan blok selalu yang menetapkan semula nombor rawak. Ini beroperasi di tepi positif Butang R (btnR), yang bermaksud bahawa ia hanya akan beroperasi apabila Butang R telah ditekan.

Blok Kedua selalu beroperasi pada sisi positif jam (clk). Sekiranya Butang C (btnC) ditekan, ini akan memeriksa apakah nombor pada Paparan Segmen Tujuh sama dengan nombor input dari suis (sw). Blok ini akan menaikkan bendera (tetapkan bendera daftar (bendera) menjadi 1) dan ubah wayar messageVal sesuai jika pengguna telah menang atau kalah.

Blok Ketiga selalu beroperasi pada sisi positif jam. Sekiranya bendera dinaikkan, ia akan menetapkan ssegInputVal ke wayar messageVal pada Paparan Tujuh-Segmen. Sekiranya bendera tidak dinaikkan, ia akan terus mengeluarkan nombor rawak (randomVal).

Langkah 5: Bermain Permainan

Sedang Bermain!
Sedang Bermain!
Sedang Bermain!
Sedang Bermain!
Sedang Bermain!
Sedang Bermain!

Arahan:

  • Pengguna akan menekan Butang R untuk membuat permainan baru, atau menukar nombor di Paparan Tujuh-Segmen.
  • Pengguna akan membalikkan 8 suis pertama ke atas (1) atau ke bawah (0) untuk memasukkan mewakili nombor binari.
  • Butang C akan digunakan untuk memeriksa sama ada pengguna menang atau kalah.
  • Sekiranya Pengguna menang '111' akan dipaparkan di Paparan Tujuh-Segmen.
  • Sekiranya Pengguna hilang '0' akan dipaparkan pada Paparan Tujuh-Segmen.
  • Untuk memulakan permainan baru Butang R dapat ditekan setiap saat.

Disyorkan: