Mündəricat:

CPE 133 İkili İkili Onlu Final Layihəsi: 5 Addım
CPE 133 İkili İkili Onlu Final Layihəsi: 5 Addım

Video: CPE 133 İkili İkili Onlu Final Layihəsi: 5 Addım

Video: CPE 133 İkili İkili Onlu Final Layihəsi: 5 Addım
Video: How to Do SDXL Training For FREE with Kohya LoRA - Kaggle - NO GPU Required - Pwns Google Colab 2024, Noyabr
Anonim
CPE 133 Final Projesi Ondalıkdan İkili
CPE 133 Final Projesi Ondalıkdan İkili

İkili Nömrələr rəqəmsal məntiq haqqında düşünərkən ağla gələn ilk şeylərdən biridir. Bununla birlikdə, İkili Nömrələr yeni başlayanlar üçün çətin bir anlayış ola bilər.

Bu layihə həm yeni, həm də ikili ədədlərlə təcrübəli olanlara ondalık ədədləri çevirməyə kömək edəcək. Bir oyun yaratmaqla istifadəçiləri dönüşüm bacarıqlarını sınayacağıq. Bu oyun bir Basys3 lövhəsində icra ediləcək və Verilogda proqramlaşdırılacaq.

Addım 1: Lazım olan materiallar

Lazım olan materiallar
Lazım olan materiallar

Bu Ondalıkdan İkili Dönüştürmə Oyunu etmək üçün aşağıdakı materiallar lazımdır:

  • Xilinx Vivado Design Suite Proqramı
  • Digilent Basys3 FPGA lövhəsi
  • USB -dən Mikro USB Kabelinə

Addım 2: LFSR -nin qurulması (Lineer Feedback Shift Register)

LFSR -nin qurulması (Linear Feedback Shift Register)
LFSR -nin qurulması (Linear Feedback Shift Register)
LFSR -nin qurulması (Linear Feedback Shift Register)
LFSR -nin qurulması (Linear Feedback Shift Register)

LFSR (Linear Feedback Shift Register), "təsadüfi" ədədlər yaratmaq üçün istifadə olunan bir moduldur.

Bir LFSR təsadüfi deyil, təsadüfi görünən, lakin olmayan ədədlərin əmələ gəlməsi prosesidir.

LFSR, giriş biti əvvəlki vəziyyətinin xətti bir funksiyası olan bir keçid qeydidir, yəni LFSR sonlu çoxluqlardan keçəcəkdir. Xüsusilə bu oyun üçün, LFSR yarada biləcəyi ondalık sayını 255 ilə məhdudlaşdırmaq üçün yalnız 8 bit istifadə edəcək.

Düymə L (btnL) LFSR -də nömrəni sıfırlamaq üçün istifadə olunur.

Bu LFSR modulu bu oyunu hazırlayanlar tərəfindən yaradılmamışdır. LFSR modulu Carleton Universitetinin professoru John Knight tərəfindən yaradılmışdır. Onun modulu üçün link aşağıda verilmişdir.

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

Addım 3: Yeddi Segment Ekranının Qurulması

Yeddi Segment Ekranının Qurulması
Yeddi Segment Ekranının Qurulması

Alfasayısal simvolları göstərmək üçün Basys3 lövhəsində və bir çox digər cihazda yeddi seqmentli ekran istifadə olunur.

Bu oyunda istifadə olunan Yeddi Segmentli Ekran modulu ikili sayını ondalık rəqəmə çevirir və ondalık rəqəm olaraq göstərir.

Daha əvvəl müzakirə olunan LFSR modulundan istifadə edərək, Yeddi Segment Ekranına təsadüfi olaraq yaradılan bir rəqəm çıxarılacaq.

Yeddi Segment Ekran Modulu bu oyunu hazırlayanlar tərəfindən yaradılmamışdır. Yeddi Segment Ekran Modulu Kaliforniya Politexnik Dövlət Universitetinin professoru Joseph Callenes-Sloan tərəfindən təmin edilmişdir. Modul üçün pdf aşağıda əlavə edilmişdir.

Addım 4: Oyun Modulunun Yaradılması

Oyun Modulunun Yaradılması
Oyun Modulunun Yaradılması
Oyun Modulunun Yaradılması
Oyun Modulunun Yaradılması
Oyun Modulunun Yaradılması
Oyun Modulunun Yaradılması
Oyun Modulunun Yaradılması
Oyun Modulunun Yaradılması

Oyun (əsas) modulu yaradın.

Bu modul təsadüfi bir ədəd yaratmaq üçün LFSR modulundan istifadə edəcək və sonra onu Yeddi Segment Ekranına çıxaracaq.

Modul sonra təsadüfi sayını sıfırlayan daima bir blokdan istifadə edir. Bu, Button R -nin (btnR) müsbət kənarında işləyir, yəni yalnız R düyməsinə basıldıqda işləyəcək.

İkinci blok həmişə saatın müsbət kənarında işləyir (clk). Düyməsinə C (btnC) basıldığı təqdirdə, Yeddi Segment Ekranındakı nömrələrin açarların (sw) giriş nömrəsi ilə eyni olub olmadığını yoxlayacaq. Bu blok bir bayraq qaldıracaq (bayraq qeydini (bayrağı) 1 olaraq təyin edəcək) və istifadəçinin qazandığı və ya itirdiyinə görə messageVal telini dəyişəcək.

Üçüncü həmişə blok da saatın müsbət kənarında işləyir. Bayraq qaldırılsa, ssegInputVal-ı Yeddi Segment Ekranındakı mesajVal telinə təyin edəcək. Bayraq qaldırılmasa, təsadüfi ədəd çıxarmağa davam edəcək (randomVal).

Addım 5: Oyun oynayın

Oyun oynayır!
Oyun oynayır!
Oyun oynayır!
Oyun oynayır!
Oyun oynayır!
Oyun oynayır!

Təlimatlar:

  • İstifadəçi yeni bir oyun etmək və ya Yeddi Segment Ekrandakı nömrəni dəyişdirmək üçün R düyməsini basacaq.
  • İstifadəçi ikili nömrəni daxil etmək üçün ilk 8 açarı yuxarı (1) və ya aşağı (0) çevirəcək.
  • İstifadəçinin qazandığını və ya itirdiyini yoxlamaq üçün C düyməsindən istifadə olunacaq.
  • İstifadəçi '111' qazanırsa, Yeddi Segment Ekranda göstəriləcək.
  • İstifadəçi '0' itirsə, Yeddi Segment Ekranda görünəcək.
  • Yeni bir oyuna başlamaq üçün R düyməsinə istənilən vaxt basıla bilər.

Tövsiyə: