Kategori: VHDL
Dijital Saat Uygulamasının Nexys 4 Kartı Üzerinde Gerçeklenmesi
Aşağıda ayarlanabilir dijital saat uygulamasının Nexys 4 kartı üzerinde gerçeklenmesine ait kodlar ve videolar gösterilmiştir. digital_clock.vhd dosyası saat kontrol işlemlerinin yapıldığı ana modüldür. Saniye ve dakika ayarları için min_sec_digit_cntrl.vhd modülü tasarlanmıştır. Saat ayarları için ise hour_digit_cntrl.vhd modülü tasarlanmıştır. Digital Saat tasarımında her bir birimin ayarlanabilmesi sağlanmıştır. Saatin çalışmasına ilişkin video aşağıdadır.
VHDL’de Sayaç Kullanımı
VHDL ile tasasrım yapılırken sıklıkla kullanılan bileşenlerden biri de sayıcılardır. Sayıcılar gecikme yapmak, frekans bölmek v.b. pek çok amaçla kullanılabilen elemanlardandır. Bu uygulamalı örnekte ilk olarak 4 Bit uzunlukta basit bir sayıcı tasarımı yapılmış olup ardından aynı sayıcı generic hale getirilmiştir. Sayıcı tasarlarken sayı aralığına bağlı olarak değişen bit uzunluğuna dikkat edilmelidir. Sayıcının alabileceği azami değer ve bit uzunluğu arasında…
VHDL’de Kaydırmalı Saklayıcı (Shift Register) Tasarımı
Sık kullanılan bir diğer saklayıcı tasarımı da “Kaydırmalı Saklayıcı” adı verilen tasarımdır. Bu tasarımda giriş portundan verilen veriler sırayla kayarak saklayıcı içinde D İki Durumluları (D Flip-Flop) arasında aktarılır. Şekil 1’de bu saklayıcıya mimari gösterimi verilmiştir. Kaydırmalı Saklayıcı çıkışları her saat darbesi ile güncellendiği için çıkışlar gelen veriye göre sürekli değişiklik gösterecektir. Şekil 9‑11 Kaydırmalı saklayıcı tasarımı Örnek 1: Aşağıda…
VHDL’de Saklayıcı (Register) Tasarımı
Bu kısıma kadar anlatılan örneklerden görüleceği üzere “D Mandalı” bilgiyi saklama özelliğine sahip bir elemandır. 1 Bit uzunluğundaki bilgi (‘1’ ya da ‘0’) “D Mandalı” üzerinde saklanabilmektedir. Bu özellik kullanılarak, birden fazla “D Mandalı” bir araya getirilerek basit bir hafıza elemanı tasarlamak münkündür. Bu şekilde tasarlanmış hafıza elemanlarına “saklayıcı” (register) adı verilmektedir. Şekil 1’de “D Mandalı” kullanılarak tasarlanmış bir saklayıcıya…
VHDL’de Eşzamanlı Olmayan Resetli Yükselen Kenar Tetiklemeli D İki Durumlusu
Bu örnekte bir önceki bölümde anlatılan “Yükselen Kenar Tetiklemeli D İki Durumlusu” örneğinden farklı olarak, tasarıma eşzamanlı olmayan bir reset girişi eklenmiştir. Eşzamanlı olmayan reset girişi, tetikleme işaretinden bağımsız olarak, çıkışların sıfırlanmasını sağlamaktadır. Gerçekleştirilen tasarıma ait doğruluk tablosu Tablo 1’de verilmiştir. Tablo 1’den de görüleceği üzere in_rst giriş portu değeri ‘0’ ve saat darbesi yükselen kenarı mevcut ise in_giris giriş…
VHDL’de Eşzamanlı Resetli Yükselen Kenar Tetiklemeli D İki Durumlusu
Eşzamanlı reset işlemi tetikleme işaretine (saat darbesine) bağlı olarak çalışan bir tasarımdır. Eşzamanlı olmayan reset işleminden farklı olarak reset girişi etkinleştirilse bile çıkışın sıfırlanması için saat darbesinin yükselen kenarı (tasarıma göre düşen kenarı da olabilir) beklenmektedir. “Eşzamanlı Resetli Yükselen Kenar Tetiklemeli D İki Durumlusu” tasarımına ait doğruluk tablosu Tablo 1’de verilmiştir. Tablo 1’den de görüleceği üzere saat darbesi yükselen kenarı…
VHDL’de Yükselen Kenar Tetiklemeli D İki Durumlusu (D Flip Flop)
Yükselen kenar tetiklemeli D iki durumlusunda, saat darbesinin yükselen kenarına bağlı olarak çıkış değeri güncelleme işlemi yapılmaktadır. Yükselen kenar tetiklemeli D iki durumlusuna ait doğruluk tablosu Tablo 1’de verilmiştir. Tablo 1’dende görüleceği üzere saat darbesin yükselen kenarındain_giris giriş portunun değeri out_cikisçıkış portuna ve in_giris giriş portunun değerinin değili ise out_cikis’ çıkış portuna atanmaktadır. Saat darbesinin yükselen kenarı mevcut olmadığı durumlarda…
VHDL’de Yetki Girişli D Mandalı (D Latch) Uygulaması
D Mandalı devresi giriş sinyalinin durumu değiştiği zaman çıkış değerini güncelleyen, değişim olmadığı durumlarda ise çıkış değerini koruyan bir devre elemanıdır. Bu elemana bir yetkilendirme girişi eklendiğinde oluşan elemana “Yetki Girişli D Mandalı” adı verilmektedir. Bu elemanda çıkış değerinin güncellenmesi normal D Mandalından farklı olarak yetki girişinin de ‘1’ olması gerekmektedir. Eğer yetki girişi ‘0’ ise giriş değeri değişse bile…
VHDL’de İfade Düzenleme
Aşağıda verilen kodda, sinyal_secme sinyalinin ‘1’ olma durumunda siynal_cikis sinyaline sinyal_2 sinyali atanmakta aksi durumda ise sinyal_1 sinyali atanmaktadır. sinyal_secme, sinyal_1 vesinyal_2 sinyallerinin herhangi birinde meydan gelen değişimde process aktif olmakta ve koşul işlemektedir. VHDL dilinde process içerisinde işlemlerin sıralı olarak yapılmasından dolayı yukarıda verilen uygulama aşağıdaki gibide ifade edilebilmektedir. sinyal_secme, sinyal_1 vesinyal_2sinyallerinin herhangi birinde meydan gelen değişimle process aktif…
VHDL’de WAIT UNTIL Sözdizimi
Aşağıda VHDL dilinde wait until sözdizimi tanımı verilmiştir: process içerisinde wait until söz dizimi kullanımı özel bir durumudur. Çünkü wait until kullanım durumunda hassasiyet listesi ihmal edilir. Örnek 1: : Aşağıda verilen wait_until_ornek.vhd VHDL kodunda saat darbesi uygulaması gerçeklenmiştir. 21. satırda tanımlanan sözdizimi ile in_clk giriş portunda değişim meydana geldiğinde ve in_clk giriş portu değeri 0’dan 1’e değiştiğinde out_cikis çıkış…