Recent Posts

VHDL ile Kayan Toplayıcı (Moving Sum) Tasarımı

Şekil 1’de gösterilen N adet örneğe sahip bir örneklem penceresinin toplam değerinin hesaplanma işlemleri aşağıdaki gibi yapılmaktadır. Şekil 1 . N adet örneğe sahip örneklem penceresi N sayısı arttıkça her seferinde bu işlemin yapılması maliyeti artıracaktır. Bu nedenle saklayıcı biriminin uzunluğu bir artıralarak ve yeni oluşturulan hafıza biriminin ilk ve son değerleri kullanılarak yine mevcut toplam değeri elde edilebilir. Aşağıda kayan…

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…

OFDM Tabanlı Sualtı Haberleşme Sisteminin Modellenmesi ve Benzetimi

Mert Kumcu, Mehmet Ali Çavuşlu, Oktay AytarELECO 2024 Özet: Bu makalede, Dikey Frekans Bölmeli Çoğullama (OFDM) kullanılan bir su altı haberleşme modeli oluşturulmuş ve bu modelin çıktıları ile değerlendirmeleri sunulmuştur. Su altı ortam kayıplarına dair bilimsel formüller ve modülasyon parametreleri kullanılarak, veri alt sembollere bölünmüş ve su altı ortamındaki kayıplar hesaplanmıştır. Alınan semboller birleştirilerek performans parametreleri incelenmiştir. Model parametrik hale…

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.