Kategori: VHDL
Rastgele Sayı Üreteci Modülünün VHDL ile Gerçeklenmesi
Rastgele sayı üretimi işlemleri için Galois tarafından önerilen LFSR (Linear Feedback Shift Register ) yöntemi kullanılmıştır. Kaydırma ve tanımlı olan bitlerin xor işlemine tabi tutulması ile yeni sayı üretim işlemi gerçekleştirilmektedir. Bu yazıda ise kullanıc tarafından xor işlemine tabi tutulacak bitlerin sayısı ve bit numaraları generic olarak tanımlanabilme imkanı sağlayan kod sunulmuştur. Rastgele sayı üretim işlemleri bu değere göre gerçekleşitirilmiştir. Bununla…
Vivado ile Nexys 4 Kartı Üzerinde UART Protokolü Kullanarak Data Kontrolü
UART (Universal asynchronous receiver/transmitter – Evrensel eşzamanlı olmaya alıcı/verici) paralel ve seri formlar arasında data çevrim işlemi yapan bilgisayar donanım parçasından biridir. UART’lar RS-232, RS-485 gibi yaygın iletişim standartları ile birlikte kullanılır. Aşağıda VHDL dilinde UART modülü ile data alma ve gönderme işlemlerinin gerçekleştirildiği örnekler verilmiştir. Örnek 1: Aşağıda UART protokoklü kullanarak data gönderim işlemninin yapıldığı UART_tx.vhd VHDL kodu erilmiştir….
Vivado ile Nexys 4 Kartı Üzerinde Hata Ayıklama (Debug) Uygulaması
Aşğaıda verilen display.vhd VHDL kod ile tanımlı 4 bitlik giriş portunun aldığı değeri 7 Segment Displaylerde gösterilmektedir. Aynı zamanda bu kod ile Vivado programında sinyal değişlenlerinin aldığı değerleri kontrol edilebilmektedir. 26-33. satırlarda tanımlı nitelikler (attribitude) ile kod FPGA içerisinde çalışırken tanımlı sinyallerin aldığı değerleri görebilmemiz sağlanacaktır. 26-27. satırlarda tanımlı nitelikle kod içerisinde kesinlikle bulunması gerekmektedir. 29-30 ve 32-33. satırlarda tanımlı…
İmge İşlemede Konvolüsyonun VHDL ile Gerçeklenmesi
volisyon kerneli olarak adlandırılan bir matris ile çarpımıyla elde edilir. Konvolisyon işlemine ilişkin denklem aşağıda verilmiştir. Şekil 1 Konvolüsyon işlemi Şekil 1’de verilen örnek piksel değeri ve konvolüsyon kerneline ilişkin hesaplama aşağıdaki gibi yapılmatakdır. Örnek : Aşağıda imge de konvolüsyon işleminin gerçekleştirildiği konvolusyon_imge.vhd VHDL kodu verilmiştir. Kodda RAM üzerinden okunan datalar 3×3 matriste saklanmaktadır. Matriste bulunan datalar konvolusyon işlemine tabi…
Temel İmge İşleme Algoritmalarının VHDL ile Gerçeklenmesi
Bu örnekte de işaret işleme uygulamalarına devam ediyoruz. Bir önceki başlık bir alçak geçiren filtre uygulaması gerçekleştirmiştik. Bu örnekte ise işaret işleme uygulamarı arasında bulunan temel imge (görüntü) işleme algoritmalarından ve VHDL ile tasarımından bahsedeceğiz. Uygulamaya geçmeden önce ilk olarak temel imge işleme işlemleri tanıtılacak olup ardından VHDL kodları verilecektir. Örnek uygulamada kullanılan görüntü 8 bit gri seviyeli bir görüntüdür….
Sinyal İşlemede Konvolüsyon İşleminin VHDL ile Gerçeklenmesi
Bu kısma kadar olan örneklerde genelde sayısal tasarımla alakalı uygulamalar gerçekleştirdik. Uygulamalarla VHDL ile ilgili kullanım şekillerini ve tasasrım yollarını göstermeye çalıştık. Bu örnekte ise temel bir işaret işleme uygulamasına geçiş yapıyoruz. Bu kısımda bahsedilen kavramları anlayabilmek için temel seviyede işaret işleme ile alakalı konuların bilinmesi gerekmektedir. Bu bölüme devam etmeden önce lütfen işaret işleme ile alakalı kaynakları gözden geçriniz….
VHDL’de FIFO tasarımı
Yaptığımız tasarımlarda zaman zaman farklı hızlarda çalışan modüller arasında veri alış-verişi yapmamız gerekebilir. Ya da bazı durumlarda işlenmesi gereken verilerin önce belli bir miktar biriktirilip daha sonra işlenmesi gerekebilir. Bu ve bunun gibi durumlarda en sık tercih edilen yaklaşım FIFO (First In First Out – İlk Giren İlk Çıkar) kullanımıdır. FIFO’ya giren veriler giriş sırasına çıkışından alınır. FIFO elemanını, hafıza…
VHDL ile Clock Domain Crossing İşlemi
Aşağıda A saat darbesi frekansında mevcut bir sinyalin B saat darbesi frekansında oluşturulmasını sağlayan VHDL kodları aşağıda verilmiştir.
VHDL’de RAM Bloğu Oluşturmak
RAM’ler (Random Access Memory – Rastgele Erişimli Hafıza), ROM’lardan farklı olarak verilerin hem okunmasına hem de yazılmasına izin veren bir hafıza birimidir. Rastgele erişim kontrol devresi ile saklanmış verilere rastgele sırada direk erişim sağlanır. Şekil 1’de NxM bitlik RAM gösterimi bulunmaktadır. Şekil 9‑24’den de görüleceği üzere in_ram_aktif giriş portunun aktif olması ile birlikte ile RAM’dan in_data_addr adresindeki data out_data çıkış…
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…