Mündəricat:

VHDL Saniyəölçən: 8 Addım (Şəkillərlə birlikdə)
VHDL Saniyəölçən: 8 Addım (Şəkillərlə birlikdə)

Video: VHDL Saniyəölçən: 8 Addım (Şəkillərlə birlikdə)

Video: VHDL Saniyəölçən: 8 Addım (Şəkillərlə birlikdə)
Video: 1.2 Основы языка VHDL. Базовые концепции описания устройств. 2024, Noyabr
Anonim
VHDL Saniyəölçən
VHDL Saniyəölçən

Bu, Basys3 Atrix-7 lövhəsi kimi VHDL və FPGA dövrə lövhəsindən istifadə edərək saniyəölçən düzəltmək üçün bir təlimatdır. Saniyəölçən 00.00 saniyədən 99.99 saniyəyə qədər saya bilir. İki düymədən istifadə edir, biri başlanğıc/dayandırma düyməsi, digəri sıfırlama düyməsi üçün. Nömrələr anod və katodlardan istifadə edərək lövhənin yeddi seqmentli ekranında göstərilir. Bu saniyəölçənin işləməsi üçün üç fərqli fayl lazımdır.

Addım 1: Hardware/Software

  • Basys3 Atrix-7 FPGA lövhəsi
  • Xilinx -dən Vivado Design Suite
  • USB 2.0 A Kişi-Micro-B Kişi

Addım 2: Blok Şeması

Blok diaqram
Blok diaqram

Ümumi saniyəölçənin üç girişi və iki çıxışı var. Üç giriş başlanğıc/dayanma, sıfırlama və saatdır. Başlat/dayandır və sıfırlama düymələrdir və saat lövhənin 100MHz saatıdır. İki çıxış, yeddi seqmentli ekran üçün anod və katodlardır.

Birinci modulda (saat bölücü) bir giriş və iki çıxış var. Giriş lövhənin 100MHz saatdır və çıxışlar iki ayrı saatdır, biri 480Hz -də, digəri isə 0.5MHz -də işləyir.

İkinci modulda (ekran) beş giriş və iki çıxış var. Girişlər, lövhənin 100MHz saatı, saat bölücü modulundan iki saat və start/stop və sıfırlama düymələridir. Çıxışlar anod və katodlardır.

Son modul (bütün blok diaqramı ilə modelləşdirilmiş) üç giriş və iki çıxışa malikdir. Bu hər şeyi bir araya gətirən sənəddir. Girişlər lövhənin 100MHz və start/stop və reset düymələridir. Çıxışlar yeddi seqmentli ekranı idarə edən anod və katodlardır. Bütün giriş və çıxışlar fiziki olaraq son modul üçün lövhədədir.

Addım 3: Dövlət Diaqramı

Dövlət Diaqramı
Dövlət Diaqramı

Yuxarıdakı şəkil saniyəölçənin necə işlədiyinə dair dövlət diaqramını göstərir. Sıfırlama düyməsini basmağın saniyəölçənin vəziyyətinə heç bir təsiri yoxdur. Növbəti vəziyyət start/stop düyməsi ilə müəyyən edilir. Başlanğıc/dayanma basıldığında "YÜKSEK" dir, ancaq basıldıqda deyil, düymə geri qayıtdıqda və ya "YÜKSEK" olduqdan sonra basıldıqda "LOW" dır.

Saniyəölçən sayılırsa və başlat/dayandır düyməsi "YÜKSEK" olarsa, o zaman saymağı dayandırır. Saniyəölçən dayandırılıbsa, başlat/dayandır düyməsi "YÜKSƏK" olarsa, yenidən saymağa başlayır. Hər iki əyalət üçün başlanğıc/dayandırma düyməsi "LOW" olarsa, o, hazırda olduğu vəziyyətdə qalacaq.

Addım 4: Saat Bölücü Modulu

Saat bölmə modulu bir girişə malikdir, lövhənin 100MHz saatı və iki çıxışı var, 480Hz və 0.5MHz saatlar. 480 Hz saatı, yeddi seqmentli ekrandakı bütün LED-ləri eyni anda "açıq" saxlamaq üçün istifadə olunur. 0.5MHz saatı saniyəölçənin əslində saniyə saniyə sayılması üçün istifadə olunur.

Addım 5: Ekran Modulu

Bu ekran modulu beş girişə malikdir, lövhənin 100MHz saatı, saat modulundan iki saat, start/stop və sıfırlama düymələri, iki çıxış, anodlar və katodlar. Bu modulda saniyəölçənin sonlu vəziyyət maşını necə hesablandığı və daxil olduğu üçün "məntiq" də var.

Addım 6: Bağlama Modulu

Bu son modul digər iki modulu bir araya gətirən moduldur. Üç giriş, lövhənin 100MHz saatı və start/stop və sıfırlama düymələri və iki çıxışı, anodlar və katodları var. 100MHz saat, saat bölmə moduluna və ekran moduluna, başlanğıc/dayandırma və sıfırlama düymələri isə ekran moduluna keçir. Saat bölmə modulunun (480Hz və 0.5MHz) çıxışları ekran modulunun iki saat girişinə keçir. Ekran modulunun çıxışları (anodlar və katodlar) son modulun çıxışlarına keçir.

Addım 7: Məhdudiyyətlər

Məhdudiyyətlər
Məhdudiyyətlər

İki giriş Basys3 Atrix-7 FPGA lövhəsindəki hər hansı bir düymə ola bilər və nəticələr yeddi seqmentli ekran üçün dörd anod və səkkiz katoddan ibarət olacaq (çünki saniyələr və milisaniyələr arasında ondalık nöqtəsi də istəyirsiniz).

Addım 8: Bitti

Proqramı Basys3 Atrix-7 FPGA lövhəsinə yükləyin və saniyəölçəni işə salmaq üçün start/stop düyməsini basın!

Tövsiyə: