FPGA üzerinde düşük güç tüketimi odaklı sistem gerçeklemesi ve performans analizi
System design and performance analysis focused on low power consumption on FPGA
Yazar: HAKAN GÜRBÜZ
Danışman: PROF. DR. HAYRİYE KORKMAZ
Marmara Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı / Elektrik Elektronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Donanım hızlandırıcıları, özellikle yüksek hesaplama gücü gerektiren uygulamalarda
işlemcilere göre daha iyi bir performans sergilemektedir. Diğer taraftan işlemciler
üzerinde farklı işletim sistemlerinin çalışmasına imkân tanıdıklarından, sistemlere
esneklik ve modülerlik kazandırmaktadır. Donanım hızlandırıcılar ile işlemcilerin
görevleri paylaşmaları durumunda ise (donanım/yazılım ortak tasarımları,
hardware/software co-desing) kaynak kullanımı ve güç tüketimi optimizasyonu gibi
avantajlar elde edilebilmektedir. Günümüzde üretim yapan fabrikalardan, evlerde
kullanılan cihazlara; trafikte seyreden araçlarda kullanılan donanımlardan çevre izlemegözetlemede kullanılan aygıtlara kadar kadar pek çok alanda, nesnelerin algılayıcılar,
yazılımlar ve ağ bağlantısı ile donatılarak veri toplama, işleme, karar verme ve bu bilgileri
paylaşma yeteneğine sahip olması Internet of Things (IoT) kavramı ile mümkün hale
gelmiştir. İnternete bağlanan nesnelerin sayısı, internet kullanımının hızla yaygınlaşması
ve kolay erişilebilir olmasıyla birlikte her geçen gün artmaktadır. Bu birbirinden uzakta
ve çoğunlukla da şebekeden beslenmeyen dağıtık nesneler için enerji, işlemci ve hafıza
kapasitesi gibi kısıtlı kaynaklar bulunmaktadır ve bu nedenle IoT'yi de içine alan birçok
uygulamada bu kısıtların göz önünde bulundurulması gerekmektedir. Düşük güç tüketimi
göz önünde bulundurularak tasarlanan sistemler, cihazlarının ve sistemlerinin çevre
üzerindeki olumsuz etkilerini azaltarak, daha sürdürülebilir ve çevre dostu bir IoT
ekosistemi oluşturmaya da yardımcı olacaktır. Böyle bir sistem tasarımı için açık kaynak
projelerden faydalanmakta çeşitli avantajlar sağlayacaktır. Çünkü günümüzde işlemci
üreten firmalar ürünlerini yüksek lisanslama maliyetleriyle satmaktadırlar. Ancak açık
kaynak işlemciler, şeffaf ve geliştirilmeye açık oldukları gibi maliyet açısından da avantaj
sunmaktadır. Düşük güç tüketimi gibi ihtiyaçlar göz önünde bulundurularak, açık kaynak
işlemciler üzerinde donanım tasarımı mümkündür. Ayrıca bu donanımlar için desteği
bulunan birçok açık kaynak işletim sistemi de bulunmaktadır. Bu projelerden
faydalanarak amaca uygun donanım ve yazılım birlikte kullanımı ile bütün bir sistem
v
tasarımı gerçekleştirilebilir. Bu tez kapsamında düşük güç tüketimi sağlayan bir görüntü
işleme uygulaması senaryosuna yönelik donanım/yazılım ortak tasarımı,
(hardware/software co-desing) sunulmuştur. Konvolüsyon filtreleri, özellikle görüntü
işleme ve sinir ağı tabanlı görüntü sınıflandırma problemlerinde yaygın olarak
kullanılmaktadır. Ancak bu filtre tasarımları, karmaşık matris işlemleri ve tekrarlı
süreçler nedeniyle yüksek hesaplama gücü gerektirler. Bu tez çalışmasında, bu ve benzeri
uygulamaların performansını artırmak amacıyla Microblaze tabanlı bir sistem
tasarlanmış; Microblaze özel olarak yapılandırılarak, konvolüsyon filtresi donanımsal
olarak gerçekleştirilmiştir. Daha sonra bu tasarım Nexys4 A7-100T FPGA geliştirme kiti
üzerinde uygulanmıştır. Hem FreeRTOS hem de bare-metal yaklaşımlarıyla
gerçekleştirilen konvolüsyon filtresinin yazılımsal ve donanımsal uygulama süreleri
karşılaştırılmıştır. Ayrıca özel yapılandırma seçeneğinin donanım üzerindeki kaynak
kullanımı ve güç tüketimine olan etkisi de detaylı bir şekilde analiz edilmiştir. Donanım
ve yazılım tarafında yapılan iyileştirmelerin, güç tüketimini ve uygulama süresini
azalttığı görülmüştür.

Abstract:
Hardware accelerators perform better than processors, especially in applications that
require high computing power. On the other hand, since processors allow different
operating systems to run, they provide flexibility and modularity to systems. If hardware
accelerators and processors share tasks (hardware/software co-design), advantages such
as resource usage and power consumption optimization can be achieved. Today, in
different areas such as industrial applications, home apliances, advanced driver assistance
systems and environmental monitoring and surveillance, the concept of Internet of Things
(IoT) makes all possible for objects to have the ability to collect, process, decide and share
data by equipping them with sensors, software and network connections. The number of
objects connected to the internet is increasing day by day, as internet use becomes more
widespread and easily accessible. There are limited resources such as energy, processor
and memory capacity for these distributed objects that are far from each other and often
not fed from the network, and therefore these constraints need to be taken into
consideration in many applications including IoT. Systems designed with low power
consumption in mind will also help create a more sustainable and environmental-friendly
IoT ecosystem by reducing the negative impact of devices and systems on the
environment. Using open source projects to design such a system will provide various
advantages. Because today, companies that produce processors sell their products with
high licensing costs. However, while open source processors are transparent and open to
development, and they also offer cost advantages. Considering needs such as low power
consumption, hardware design on open source processors is possible. There are also many
open source operating systems that have support for these hardware. By taking advantage
of these projects, a whole system can be designed by using hardware/ software co-design
considering specific needs. Within the scope of this thesis, hardware/software co-design
for an image processing application scenario that provides low power consumption is
presented. Convolution filters are widely used especially in image processing and neural
vii
network-based image classification problems. However, these filter designs require high
computational power due to complex matrix operations and repetitive processes. In this
thesis, a Microblaze-based system was designed to increase the performance of the
application; Microblaze was specially configured and the convolution filter was
implemented on the hardware. And then Nexys4 A7-100T FPGA development kit was
programmed. Execution time for the convolution filter implemented with both FreeRTOS
and bare-metal approaches were compared. In addition, the impact of the special
configuration option on hardware resource usage and power consumption was analyzed
in detail. It has been observed that improvements made on the hardware and software side
reduce power consumption and execution time.