Günümüzde teknolojik aletlerin hemen hemen hepsinin içinde işlemciler bulunmaktadır. Bu işlemcilerin bir kısmı geleneksel işlemciler olurken bir kısmı ise FPGA-ASIC tabanlı işlemcilerdir. FPGA tabanlı açık kaynaklı softcore işlemciler gün geçtikçe önem kazanmaktadır ve her ülke kendi sentezlenebilir işlemcisini geliştirmek için birbirleri ile yarışmaktadır.
"FPGA Tabanlı Softcore İşlemci Eğitimi"'nde ilk olarak "Soft işlemci nedir?" sorusuna cevap bulacağız. Soft işlemci - hard işlemci farklarını öğreneceğiz. Soft işlemci örneklerini tanıyacağız. Projelerde soft işlemci kullanmanın avantajları ve dezavantajlarına değineceğiz. Soft işlemcilerden "MicroBlaze"'in konfigürasyon ve optimizasyon özelliklerini tanıyacağız. Ders uygulamalarında softcore işlemcilerden MicroBlaze üzerinde çalışacağız. MicroBlaze içeren donanımları "Vivado Design Suite" kullanarak tasarlayacağız. Tasarımlarda MicroBlaze yanında GPIO, UART, TMR Voter gibi IP'ler kullanacağız ve bu IP'leri AXI Interconnect ile MicroBlaze'e bağlayacağız. Sonrasında işlemciyi programlamak için "Xilinx SDK" üzerinde yazılım geliştireceğiz. Geliştirilen yazılım ve donanım tanımlama dosyasını kullanarak FPGA'i programlayacağız ve uygulamanın çalıştığını göreceğiz.
Uygulama ekipmanları;
"FPGA Tabanlı Softcore İşlemci Eğitimi" kapsamında yapacağımız uygulamalarda hardware projesi tasarımı için "Vivado 2018.3", yazılım projesi tasarımı için "Xilinx SDK" ve uygulamanın testi için "Zybo Z7-10" FPGA kullanılacaktır.
(Uygulamalardan maksimum verimi almak için FPGA almanızı öneririm)
Ders kapsamında yapacağımız uygulamalar;
MicroBlaze üzerinde GPIO kullanımı. (LED, Switch, Button uygulamaları)
MicroBlaze üzerinde UART ile haberleşme. (TTL-USB çevirici yardımıyla FPGA'i bilgisayara bağlayacağız)
Çift soft-core işlemci ile tasarım.
Triple Modular Redundancy (TMR) uygulaması.