Kategori: Yazılar
VHDL’de Dosya Okuma ve Yazma İşlemleri
Yaptığımız tasarımları bilgisayarda benzetim ortamında test ederken, tasarım tarafından işlenecek pek çok veri olabilir. Örneğin imge üzerinde çeşitli işlemler yapan bir tasarımı sınamak için imgenin de tasarlanan sisteme giriş olarak verilmesi gerekebilir. Böyle durumlar için VHDL bize dosyadan veri okuma ve yazma imkanı sunmaktadır. VHDL ile dosyadan okuma ve yazma işlemi yapabilmek için kütüphane bildirim kısmına aşağıda verilen söz diziminin…
VHDL’de ROM Bloğu Oluşturmak
ROM (Read Only Memory – Sadece Okunabilir Hafıza) sadece okunabilen sayısal verilerin saklanması için kullanılan depolama birimidir. Şekil 1’de NxM bitlik ROM gösterimi verilmiştir. Şekil 9‑22’den de görüleceği üzere in_rom_aktif giriş portunun aktif olması ile birlikte ile ROM’dan in_data_addr adresindeki data out_data çıkış portuna aktarılmaktadır. Şekil 1 NxM bitlik ROM Hafıza elemanları tasarlanırken genel olarak kullanılan bazı terimlere aşina olmak…
VHDL’de Saat Frekansı Bölme İşlemi
Zaman zaman tasarımlarımızda kullandığımız saat kaynağından daha yavaş çalışan, daha düşük frekanslı saat kaynaklarına ihtiyaç duyarız. Bu durumda kullanabileceğimiz çeşitli yöntemler mevcuttur. Örneğin FPGA üzreticileri tarafından sağlanan PLL (Phase Locked Loop), DCM (Digital Clock Manager) gibi hazır tasarım kütüphaneleri kullanılabilir. Bir diğer basit yaklaşım ise bir sayıcı kullanarak frekansı düşürmektir. Sayıcı kullanarak frekans bölmenin birden fazla yolu mevcuttur. Bu örnek…
Kayan Noktalı Sayılarda Dört İşlem
Kayan Noktalı Sayılarda Toplama/Çıkarma Öncelikle, işlem yapacağımız sayıların, matematiksel dönüşümlerini elde edersek; Sayı1 = 7.362 = (-1)0(1.8405)22 Buradan: s1=0; e1=129 ve 1.f1=1.8405 Sayı2 = 2.594 = (-1)0(1.297)21 Buradan: s2=0; e2=128 ve 1.f2=1.297 Yukarıda verilen iki sayının toplama işleminde ilk olarak iki sayıdan mutlak büyük olanın işareti, sonuçta elde edilecek sayının işaret biti olarak atanır ssonuc=0; Üslü sayılarda toplama işlemi yapabilmek için…
Levenberg & Marquardt Algoritması ile Parametre Kestirimi
Aşağıda F(X,Y) = aX2 + bY2 fonksiyonunda a ve b parametrelerinin LM algoritması ile kestirimine ilişkin MATLAB kodu verilmiştir.
Kayan Noktalı Sayı Çevrim İşlemlerinin MATLAB ile Gerçeklenmesi
Aşağıda girilen gerçel sayıyı istenen tanımlanan üs ve çarpan bit uzunluklarına göre ikili kayan noktalı sayı formatına çeviren Float2bin fonksiyonu MATALB kodu verilmiştir. İkili sayı formatında verilen sayının gerçel sayı formatınına çeviren bin2Float fonksiyonu MATLAB kodu aşağıda verilmiştir.
VHDL ile Kayan Noktalı Sayılarda Çarpma İşleminin Gerçeklenmesi
Bu yazımızda kayan noktalı sayılarda çarpma işlemini pipeline mimaride fonksiyonlar ile gerçekleştirilmesini anlatacağız. Kayan noktalı sayılarda dört işlemle ilgili detaylı yazımıza buradan ulaşabilirsiniz. Yazıda çarpma işlemlerine ait gösterilen tüm adımlar birer fonksiyon olarak tanımlanmıştır. Aşağıda VHDL dili kullanılarak kayan noktalı sayılarda çarpma işlemini gerçekleştiren fonksiyon kodları verilmiştir. Koddan da görüleceği üzere ilk olarak işaret biti tanımlama işlemleri gerçekleştirilmektedir. Burada saklayıcı amacı ile…
Sabit Noktalı Sayı Formatı
Sabit noktalı sayı formatı sayının tam kısmı ve ondalık kısmı ile yazılır. Bu sayı formatında tasarlanacak sisteme göre, istenilen sayının maksimum büyüklüğü ve hassasiyet göz önünde bulundurularak bir uzunlukları belirlenir. i.f i : Tam kısım f : Ondalık kısım n bitlik sabit noktalı sayının matematiksel ifadesi aşağıda verilmiştir. Sayı = n2-m n: n bitlik sayının integer değeri m : noktadan sonraki bit sayısı Örneğin 3,375 sayısını…
Kara Şimşek Uygulamasının Nexys 4 Kartı Üzerinde Gerçeklenmesi
Aşağıda verilen VHDL kodunda hızı artırılabilen veya azaltabilen kayan led uygulaması verilmiştir. 8. satırda tanımlı parametre ile kaç adet led kullanılacağı tanımlanmaktadır. 9. satırda tanımlı parametre ile sistem saat darbesi frekans değeri tanımlanmaktadır. Nexys 4 kartı üzerinde 100 MHz’lik bir saat üreteci mevcuttur. 22-24 satırlarında limit değerleri ve hız artımı/azaltımında kullanılacak parametre değeri sabit olarak tanımlanmıştır. 38-51 satırları arasında tanımlı process içerisinde led’in sola…
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.