Yazar: Mehmet Ali Çavuşlu

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ış…

VHDL’de Saat Darbesi (Clock) Kullanımı

Genelde process yapılarını tetikleme için harici bir kaynak tarafından üretilen kare dalga işareti kullanılmaktadır. Bu kare dalga işaretinin değişimlerinde ise process yapısı tetiklenmektedir. Bu dışarıdan uygulanan (tasarıma göre FPGA içerisinde de üretilebilir) tetikleme işareti çoğu zaman “saat darbesi” (clock) olarak adlandırılır. Şekil 1’de saat darbesi gösterimi verilmiştir. Şekil 1’den de görüleceği üzere saat darbesi işaretin 0’dan 1’e veya 1’den 0’a…

VHDL’de IF, CASE ve LOOP Sözdizimleri

if Sözdizimi VHDL dilinde if sözdizimi, bir veya birden fazla koşula bağlı olarak,  koşulların bağlı olduğu sözdizimlerinden birini seçmektedir ve seçilen koşula ait söz dizim ifadesi gerçeklenmektedir. Eğer koşul ifadelerinin hiç biri sağlanmamış ise bu durumda hiçbir işlem yapılmamaktadır. Aşağıda VHDL dilinde if sözdizimi tanımı verilmiştir. Verilen sözdiziminde if söz dizimi ile ilgili koşul denetlenmektedir. Eğer bu koşul sağlanırsa koşula…

VHDL’de VARIABLE Kullanımı

Örnek 1: Aşağıda signal veri nesnesi kullanılarak 8 bitlik giriş portu değerinde bulunan ‘1‘ bitlerinin sayısını çıkışa aktaran programı gerçeklemeyi amaçlayan bit_say_signal.vhd VHDL kodu verilmiştir. Kodda 17. satırda process hassasiyet listesinde in_giris girişi mevcuttur. Bunun anlamı in_giris giriş portunda meydana gelen değişikliklerde process aktif hale gelecektir. process‘in aktif olması ile birlikte  19. satırda tanımlanan varsayılan atama işlemi gerçekleştirlecektir ve r_sayac…