Mundarija:

CPE 133 Yakuniy loyiha o'nlikdan ikkilikka: 5 qadam
CPE 133 Yakuniy loyiha o'nlikdan ikkilikka: 5 qadam

Video: CPE 133 Yakuniy loyiha o'nlikdan ikkilikka: 5 qadam

Video: CPE 133 Yakuniy loyiha o'nlikdan ikkilikka: 5 qadam
Video: How to Do SDXL Training For FREE with Kohya LoRA - Kaggle - NO GPU Required - Pwns Google Colab 2024, Noyabr
Anonim
CPE 133 yakuniy loyihasi o'nlikdan ikkilikka
CPE 133 yakuniy loyihasi o'nlikdan ikkilikka

Ikkilik raqamlar - bu raqamli mantiq haqida o'ylashda aqlga kelgan birinchi narsalardan biri. Biroq, ikkilik raqamlar yangi boshlanuvchilar uchun qiyin tushuncha bo'lishi mumkin.

Bu loyiha yangi va ikkilik sonlar bilan tajribali bo'lganlarga o'nlik sonlarni konvertatsiya qilishda yordam beradi. O'yin yaratish orqali biz foydalanuvchilarni konvertatsiya qilish mahoratini sinovdan o'tkazamiz. Bu o'yin Basys3 doskasida bajariladi va Verilogda dasturlanadi.

1 -qadam: kerakli materiallar

Kerakli materiallar
Kerakli materiallar

O'nlikdan ikkilikka aylantirish o'yinini yaratish uchun quyidagi materiallar kerak bo'ladi:

  • Xilinx Vivado Design Suite uchun dasturiy ta'minot
  • Digilent Basys3 FPGA kengashi
  • USB - Micro USB kabeli

2 -qadam: LFSR -ni o'rnatish

LFSR -ni o'rnatish (teskari aloqa almashish registri)
LFSR -ni o'rnatish (teskari aloqa almashish registri)
LFSR -ni sozlash (teskari aloqa almashish registri)
LFSR -ni sozlash (teskari aloqa almashish registri)

LFSR (Lineer Feedback Shift Register) - bu tasodifiy sonlarni ishlab chiqarish uchun ishlatiladigan modul.

LFSR mutlaqo tasodifiy emas, chunki u tasodifiy sonlarni hosil qiladi, bu tasodifiy ko'rinadigan, lekin bo'lmagan raqamlarni yaratish jarayonidir.

LFSR - bu o'zgarish registri, uning kirish biti oldingi holatining chiziqli funktsiyasi, ya'ni LFSR cheklangan sonlar bo'ylab aylanadi. Xususan, ushbu o'yin uchun LFSR 255 gacha ishlab chiqaradigan kasr sonini cheklash uchun atigi 8 bitdan foydalanadi.

L (btnL) tugmasi LFSRda raqamni qayta o'rnatish uchun ishlatiladi.

Bu LFSR moduli ushbu o'yinni ishlab chiqaruvchilari tomonidan yaratilmagan. LFSR moduli Karleton universiteti professori Jon Nayt tomonidan yaratilgan. Uning moduli uchun havola quyida keltirilgan.

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

3 -qadam: Etti segmentli displeyni sozlash

Etti segmentli displeyni sozlash
Etti segmentli displeyni sozlash

Etti segmentli displey Basys3 taxtasida va boshqa ko'plab apparat qismlarida alfasayısal belgilarni ko'rsatish uchun ishlatiladi.

Bu o'yinda ishlatiladigan "Etti segmentli displey" moduli ikkilik sonni o'nlik kasrga aylantiradi va uni o'nlik raqam sifatida ko'rsatadi.

Oldin muhokama qilingan LFSR modulidan foydalanib, tasodifiy hosil qilingan raqam etti segmentli displeyga chiqariladi.

Etti segmentli displey moduli ushbu o'yinni ishlab chiqaruvchilar tomonidan yaratilmagan. Etti segmentli displey moduli Kaliforniya politexnika universiteti professori Jozef Kallenes-Sloan tomonidan taqdim etilgan. Modul uchun pdf quyida biriktirilgan.

4 -qadam: O'yin modulini yaratish

O'yin modulini yaratish
O'yin modulini yaratish
O'yin modulini yaratish
O'yin modulini yaratish
O'yin modulini yaratish
O'yin modulini yaratish
O'yin modulini yaratish
O'yin modulini yaratish

O'yin (asosiy) modulini yaratish.

Bu modul tasodifiy sonni yaratish uchun LFSR modulidan foydalanadi va keyin uni etti segmentli displeyga chiqaradi.

Keyin modul tasodifiy sonni tiklaydigan har doim blokdan foydalanadi. Bu tugma R (btnR) ning ijobiy chekkasida ishlaydi, ya'ni u faqat R tugmasi bosilganda ishlaydi.

Ikkinchi blok har doim soatning ijobiy tomonida ishlaydi (clk). Agar C (btnC) tugmachasi bosilsa, bu etti segmentli displeydagi raqam kalitlarning (sw) kirish raqami bilan bir xilligini tekshiradi. Bu blok bayroqni ko'taradi (bayroq registrini (bayroq) 1 ga o'rnatadi) va messageVal simini foydalanuvchi yutgan yoki yutqazganiga qarab o'zgartiradi.

Uchinchi blok har doim soatning ijobiy tomonida ishlaydi. Agar bayroq ko'tarilsa, u ssegInputVal-ni etti segmentli displeydagi messageVal simiga o'rnatadi. Agar bayroq ko'tarilmasa, u tasodifiy sonni chiqarishda davom etadi (randomVal).

5 -qadam: O'yin o'ynang

O'yin o'ynash!
O'yin o'ynash!
O'yin o'ynash!
O'yin o'ynash!
O'yin o'ynash!
O'yin o'ynash!

Ko'rsatmalar:

  • Foydalanuvchi yangi o'yin qilish uchun R tugmachasini bosadi yoki etti segmentli displeyda raqamni o'zgartiradi.
  • Ikkilik raqamni kiritish uchun foydalanuvchi birinchi 8 kalitni yuqoriga (1) yoki pastga (0) aylantiradi.
  • Foydalanuvchi yutgan yoki yutqazganini tekshirish uchun C tugmasi ishlatiladi.
  • Agar Foydalanuvchi "111" ni yutgan bo'lsa, etti segmentli displeyda ko'rsatiladi.
  • Agar foydalanuvchi "0" ni yo'qotsa, etti segmentli displeyda ko'rsatiladi.
  • Yangi o'yinni boshlash uchun R tugmachasini istalgan vaqtda bosish mumkin.

Tavsiya: