FPGA
61 theses under this subject heading
Efficient hardware architectures for cryptographic algorithms used in computer and communication systems
Modern cryptography is an important discipline, which involves the disciplines of mathematics, electrical engineering and computer science, that provides the primitives of security services to information systems. Today, more important is how the fundamentals of cryptography are implemented and used. They involve significantly a series of computationally complex mathematical transformations and suffer from computational efficiency problems. Improving the security levels in computer and communication systems involves huge multiplications or performing the algorithm with longer key that might be a hundred digits long or longer, which make the computational complexity worse. In this dissertation, diverse efficient hardware architectures are proposed for a set of cryptographic algorithms, which are necessary to provide security functions to those systems, in order to overcome the computational efficiency challenges. Through the proposed design techniques, which accommodate resource sharing, efficient memory access scheme and tight scheduling, novel compact coprocessors are developed for many kinds of ciphers in symmetric and asymmetric cryptography. The proposed coprocessors focus on finding better trade-off between cost and performance and overcome the challenges introduced by the growing system needs. The proposed architectures are analyzed and compared based on hardware performance metrics consisting of area, frequency and throughput measures. The experimental results and comparisons show that the methods require very low-area with adequate throughput values for many applications. They also reveal a deeper understanding of the computational efficiency of studied cryptographic algorithms. Designing efficient hardware architectures for those algorithms solves the efficiency issues and reveals the parallelism behind the algorithm.
SRAM tabanlı FPGA devrelerinde LUT seviyesinde fonksiyonlar arasındaki NPN ilişkilerin maksimize edilmesi
Bu tezde, yeni bir FPGA (Field Programmable Gate Array) sentez algoritması geliştirmek için araştırma yapılmıştır. Yeni algoritma LUT (Lookup Table) seviyesindeki devrelerde NPN (Input Negation, Input Permutation and Output Negation) denk fonksiyon sayısını artırmayı amaçlamaktadır. Hedefimiz, NPN denk fonksiyonlar arasında SRAM (Static Random Access Memory ) paylaşımı sağlayan, yeni ve verimli bir FPGA mimarisi geliştirmektir. Bu tez çalışmasında, hızlı bir şekilde NPN denklik kontrolü yapmak amacıyla, FPGA sentez aracı olan ABC (A System for Sequential Synthesis and Verification) aracı için eklenti olarak çalışan bir araç geliştirilmiştir. Geliştirmiş olduğumuz aracın çalışma prensibi şöyledir: Öncelikle, iki adet mantıksal fonksiyonu hiper çizge olarak formülize eder. Daha sonra, çizge izomorfizm kontrolü yapan Nauty izomorfizm karşılaştırma aracını çağırıp bu iki çizgenin denkliklerini kontrol eder. Kullanıcılar, referans fonksiyon kümesini ABC aracına girdi olarak verirler. ABC aracı geliştirdiğimiz eklentiyi kullanarak kullanıcılardan aldığı fonksiyon kümesindeki fonksiyonlara NPN denk, LUT fonksiyonları oluşturur. Kullanıcının girdi olarak verdiği fonksiyonlar şöyle seçilir: İlk önce, devre orijinal ABC aracı ile sentezlenir. Normal ABC aracı sentezleme sonucu oluşan devreler analiz edilip en çok tekrar eden fonksiyon sınıfları belirlenir. Sonrasında bu sınıflardan seçilen temsilci fonksiyonlar geliştirmiş olduğumuz eklenti ile ABC aracında sentezleme için seçilir. Bir defaya mahsus da geliştirdiğimiz eklenti aktifleştirilip ABC aracı kullanılarak sentezleme yapılır ve oluşturulan LUT'ların girdi olarak verilen fonksiyonlara NPN denk olması sağlanır. Geliştirmiş olduğumuz ABC aracı eklentisi, olabilecek en iyi şekilde kullanıcıların girdi olarak verdiği fonksiyonlara NPN denk LUT'lar oluşturmaya çalışır. Önerilen araştırmanın performansı, MCNC (Microelectronics Center of North Carolina) referans devreleri ile yapılan bir dizi FPGA sentezleme ile ölçülmüştür. Bu tez çalışmasında, beş ve altı girişli fonksiyonlar araştırılmıştır. Beş ve altı girişli fonksiyonların seçilmesinin nedeni pratik olarak kullanılabilir olmalarıdır.
Gerçek zamanlı video işleyen yeni bir hücresel sinir ağı emülatörü tasarımı ve FPGA ile gerçeklenmesi
Hücresel Sinir Ağları (HSA) (Cellular Neural Networks (CNN)) kavramı Prof. Leon O. Chua ve L. Yang tarafından Kaliforniya Berkeley Üniversitesinde Aralık 1988 - Kasım 1997 arasında yapılan ?Nonlinear Circuits and Neural Networks? adlı bir ONR (Office of Naval Research) projesi sırasında geliştirilmiş ve 1988 yılında yayımlanmıştır. Daha sonraları Macar Bilim Akademisinden Prof. Tamás Roska ile birlikte yine Berkeley'de yapılan bir çalışmada Prof. Chua ve Prof Roska HSA Çok Kapsamlı Makinesi (HSA-ÇKM) (CNN Universal Machine) yapısını geliştirmişlerdir. Tasarlanan HSA-ÇKM yapısı önce küçük ölçekli (64×64), sonra daha büyük ölçekli (128×128) analog tümdevreler üzerinde gerçeklenmiştir. Bu tümdevrelerin işlem hızları çok yüksek olmasına rağmen, eşdeğer dijital doğruluklarının 7-8 bit olması, maliyetlerinin çok yüksek olması, şu ana dek gerçekleştirilebilen analog işlemci sayısı en yüksek tümdevrenin 128×128 hücreli (işlemcili) ve halen üzerinde çalışılmakta olan 256×256 analog hücreli HSA tümdevresinin bitirilememiş olması, araştırmacıları HSA yapısının dijital emülasyonları üzerinde çalışmaya yöneltmiştir.Bu tez çalışmasında, HSA yapısının FPGA tümdevresiyle dijital emülasyonu için kullanılabilecek yeni bir emülatör yapısı tasarlanmış, gerçeklenmiş ve bir kenar belirleme uygulamasıyla test edilmiştir. Bu yapı, basit taramalı (progressive) video işaretlerini gerçek zamanlı olarak işleyebilecek kadar hızlıdır ve bir VGA video işaretini alarak gerçek zamanlı olarak işleyip sonucu bir VGA monitöründe gösterebilir. Ayrıca, sistem maliyetlerinin düşürülmesi amacıyla yapı, FPGA dışında bir bellek elemanına ihtiyaç duymayacak şekilde tasarlanmıştır. Bu yeni yapı dijital görüntü işleme uygulamaları için hızlı ve genel bir çözüm oluşturmaktadır.Bu tez çalışması, küçük hedeflere adım adım ulaşarak sonuç hedefe varma yaklaşımıyla ilerletilmiştir. Bu yaklaşım doğrultusunda, öncelikle bir HSA emülatörü işlem birimi yapısı, çalışma hızı önemsenmeden oluşturulmuştur. Sonra bu işlem birimi yapısı, ardışık düzenle (pipeline) çalışması sağlanarak hızlandırılmış ve sistemdeki işlem birimlerinin çizgisel bir dizilimle (kaskad) bağlanarak birden fazla işlem biriminin eş zamanlı olarak çalışması sağlanmıştır.Tasarım ortamı olarak Xilinx firmasının ISE yazımı ve bu yazılımın şematik editörü kullanılmıştır. Tasarım öncelikle şematik editörle bilgisayar ortamına aktarılmış, daha sonra ISE yazılımı ile simülasyonu yapılarak tasarımdaki hatalar bulunmuş ve düzeltilmiştir. Tasarım, simülasyon programında çalışması sağlandıktan sonra FPGA kartı üzerine yüklenerek denenmiştir. Deneme işleminde, Xilinx firmasının ChipScope Pro yazılımı kullanılarak FPGA'de oluşturulmuş olan lojik analizör bloğu ile FPGA üzerindeki sinyaller çalışma esnasında bilgisayar ekranından gözlenmiş ve hata analizi yapılmıştır. Gözlenen hataların oluşma nedeni saptanarak tasarımda düzeltmelere gidilmiş ve sistemin hatasız çalışması sağlanmıştır.Sonuç olarak, basit taramalı video işretlerini 3×3 HSA şablonları ile dış bellek kullanmadan gerçek zamanlı olarak işleyen yeni bir HSA emülatörü yapısı önerilmiş ve Celoxica RC203 kartında bulunan Xilinx Virtex-II 3000 FPGA tümdevresi üzerinde gerçeklenmiştir. Gerçeklenen sistem 640×480 piksel 60 fps monokrom VGA video girişi ile test edilmiş ve çıkış videosu bir VGA monitöründe gözlenmiştir.Gerçeklenen emülatör yapısı CPU Turkey 2008 yarışmasının Akademik Yenilikçi Gömülü Sistem Tasarımı kategorisinde birincilik ödülü almıştır.
Systolic architectures for sequence alignment operations
In this work, new and optimized algorithms and application specific processors based on these algorithms to perform sequence alignment operations, which is one of the basic operations in bioinformatics are designed. In this work, systolic architectures are developed to implement pairwise and multiple sequence alignment operations. Proposed hardware methods develop hardwares implemented on ASIC and FPGA platforms at the rate of over one hundred per cent. The designs proposed in this work provides performance gain up to 189,92% when it is implemented on FPGA. Therefore, it is provided to other research branches in bioinformatics to analyse larger amount of data in smaller time periods.Key Words: Bioinformatics, systolic architectures, application specific processors, FPGAs, Smith-Waterman algorihtm
Fotovoltaik sistemlerde maksimum güç noktası izleyicinin Xilinx Zedboard Zynq-7000 FPGA ile birlikte simülasyonu
Dünya üzerinde günden güne artan enerji ihtiyacını karşılamak için yenilenebilir enerji kaynaklarından biri olan güneş enerjisi oldukça fazla tercih edilmektedir. Güneş enerjisi fotovoltaik paneller aracılığıyla elektrik enerjisine dönüştürülmektedir. Ancak fotovoltaik panel çıkışında elde edilen akım ve gerilim değerleri sıcaklık ve ışınım miktarlarında meydana gelen değişiklikler sonucunda farklılık göstermektedir. Bunun sonucunda yük üzerine yeterli miktarda güç aktarılamamaktadır. Bu durumu önleyerek panellerden en yüksek verim ile enerji üretilmesini sağlamak amacıyla fotovoltaik enerji üretim sistemlerinde maksimum güç noktası izleyiciler (MPPT) kullanılmaktadır. MPPT'ler çeşitli kontrol yöntemleri ile panel çıkışından elde edilen akım ve gerilim değerlerinin maksimum güç noktasında çalışmasını ve yük üzerine en az kayıp ile güç aktarılmasını sağlamaktadır. Bu çalışmada bir fotovoltaik sistemde kullanılan MPPT Matlab/Simulink ortamında tasarlanmıştır. MPPT üzerinde değiştir&gözle (P&O) algoritması kullanılmıştır. P&O algoritması Xilinx tarafında Simulink için üretilmiş olan Xilinx System Generator (XSG) aracındaki bloklar ile, sistemin diğer kısımları ise Simulink blokları ile tasarlanmıştır. Oluşturulan sistemin Simulink ortamında simülasyonu gerçekleştirilmiştir. Ardından P&O algoritması Xilinx Zedboard ZYNQ-7000 FPGA kart üzerine yüklenmiştir. P&O algoritması FPGA üzerinde, sistemin diğer kısımları ise Simulink ortamında çalışarak birlikte simülasyon (eş benzetim, co-simulation) aşamasını gerçekleştirmiştir. Sonuçta simülasyon ve eş benzetim aşamalarından elde edilen değerlerin aynı olduğu görülmüştür.
Yapılandırılabilir donanım üzerindeki (FPGA) mikrobilgisayar sistemleri için analog haberleşme arayüz tasarımı
Bu çalışmada, yapılandırılabilir donanım tabanlı sistemler ve bu sistemler üzerinde gerçekleştirilen eğitimsel amaçlı mikrobilgisayar sistemleri için analog arayüz tasarımı yapılmıştır. Tasarlanan arayüz ile eğitimsel amaçlı mikrobilgisayar sistemlerinin analog sinyalleri işlemelerine katkı sağlanması hedeflenmiştir. Analog haberleşme arayüz modülü, modüler yapıda olup temel olarak altı modülden meydana gelmiştir. Birinci modül; sistemin çalışması için gerekli frekanslar üretilmiştir. İkinci modül; yapılandırılabilir donanım ile çevre birimlerinin haberleşebilmesi için standart bir i2c protokolü tasarlanarak WM8731 audio kodek entegresi için gerekli register ayarları yapılmıştır. Üçüncü modül; analog girişten seri olarak alınan datalar 8-bit paralel sinyale dönüştürülmüştür. Dördüncü modül; 8-bit paralel veriler hafızaya kayıt edilmiştir. Beşinci modül; hafızadan alınan 8-bit paralel veriler seri sinyale dönüştürülerek analog çıkışa aktarılmıştır. Altıncı modül; tasarlanan analog haberleşme ara yüzü BZK.SAU.FPGA mikrobilgisayar sistemine uyarlanmıştır.
3 axis plotting machine design using FPGA based microcomputer architecture
This study has been made with educational purposes that 3 axis stepper motor control design and application. In the controller part of the design, BZK.SAU.FPGA, which is a microcomputer designed and made of FPGA based educational purpose, was used. Step motor signal transmission is provided that BZK.SAU.FPGA microcomputer architecture using the existing parallel ports. BZK.SAU.FPGA microcomputer program code is written in accordance with the characteristics of stepper motors and drivers used for this. In such a case, two stepping motor with two different drive models was used and a separate coding was carried out for each one. The design created with the study could be used in accordance with the educational objectives.
Grafik sistemleri için FPGA cihazlarında çalışmak üzere tasarlanmış matris çarpım motoru
Bilgisayar grafiklerinde, üç boyutlu (3B) dönüşümlerde, animasyon sahnesindeki dönüşüme uğrayan nesne sayısı ve bu nesneleri tanımlamada kullanılan nokta sayısı arttıkça dönüşümü hesaplamak için çok fazla CPU zamanı gerekmektedir. Sonuçta, özellikle gerçek zamanlı grafik uygulamalarının hesaplanması imkânsız hale gelmektedir. Bu çalışmada, FPGA (Alan Programlanabilir Kapı Dizileri) çiplerini kullanarak üç boyutlu dönüşümleri hızlandırmak için donanım modülleri tasarlanmıştır. Tasarlanan modüller gerçek veri üzerinde işlemler yapılarak test edilmiş ve modüllerin ürettiği sonuçların doğrulanması yapılmıştır. Modüllerin veri işleme hızı değişik bilgisayarlarla karşılaştırılmıştır. Karşılaştırma sonuçları göstermiştir ki, tasarlanan modüller kullanılarak üç boyutlu grafik dönüşümleri 12 kata kadar daha hızlı gerçekleştirilebilmektedir.
Sayısal görüntüye veri gömmek ve ayrıştırmak için FPGA tabanlı donanım modülü tasarımı
Bu çalışmada özel amaçlı Alan Programlanabilir Kapı Dizileri ( Field Programmable Gate Array FPGA) kullanılarak eski bir veri gizleme sanatı olan Steganografi tekniğinin en anlamsız bit (Least Significant Bit LSB) metodunun gerçekleştirilmesine yönelik modüller tasarlanmıştır. LSB metodu resimlerin kırmızı, yeşil, mavi ( Red, Green, Blue RGB) bileşenlerinin sayısal olarak ikilik değerlerinin en anlamsız bitlerini kullanır. Bu en anlamsız bitler gizlenecek olan veri ile yer değiştirir. Bu gibi işlemler programlama dilleri kullanılarak yazılmış programlarla yapılırken uzun zaman almaktadır. Bu yüzden bilgisayarın işlemcisinin yükünü azaltmak ve saldırıya açık programlardan izole etmek amacıyla bu veri gizleme işlemi için FPGA modülleri tasarlanmıştır. Ayrıca işlemlerin daha kolay anlaşılabilmesi ve veri gizlemeden sonraki sonuçları rahat görebilmek amacıyla program Matlab'ın Gui'si kullanılarak simüle edilmiştir.
Bilgisayar grafikleri için fpga tabanlı üçgen doldurma modül dizaynı
Bilgisayar grafiklerinde poligon rendering (giydirme-kaplama) işlemi yüzeyleri matematiksel olarak poligonlarla tanımlanmış animasyon objelerinin renklendirilme işlemidir. Grafik sahnesindeki nesne sayısı ve bu nesneleri tanımlama kullanılan poligon sayısı arttıkça render işlemi içini gerekli olan CPU zamanıda katlanarak artmaktadır ve genel amaçlı bilgisayarlar rendering işleminde yetersiz kalmaktadırlar. Bu durum karşısında gelişmiş grafik kartlarının, grafik işlemler için tasarlanmış özel amaçlı bilgisayarların, daha hızlı işlemcilerin ya da paralel işlemcilerin kullanılması gibi farklı yaklaşımlar geliştirilmiştir. Ancak bu yöntemlerde yüksek maliyetler gerektirmekte ve her zaman istenen performans elde edilememektedir. Bu çalışmada yukarıda bahsi geçen yaklaşımlara bir alternatif olarak rendering işlemini gerçekleştimek üzere Alanda Programlanabilir Kapı Dizileri (Field Programmable Gate Array (FPGA)) yongaları üzerinde çalışabilecek tam sayı tabanlı iki farklı donanım modülü tasarlanmıştır. Birinci modül Yarı Alan denkleminden yararlanılarak oluşturulmuştur ve koordinatları verilen verilen üçgeni tek renk ile doldurmaktadır. İkinci modül ise Doğru Denkleminden yararlanılarak oluşturmuştur ve üçgenin içini köşe noktaların renk bilgisine göre tonlama yaparak doldurmaktadır. Tasarlanan modüller, rastgele oluşturulmuş test üçgenleri kullanılarak test edilmiştir. Modüllerin verilen üçgenleri render etme süreleri genel amaçlı bilgisayralar üzerinde çalışan ve C++'da oluşturulan yazılım versiyonları ile karşılaştırılmıştır. Sonuçta genel amaçlı bilgisayarlara göre birinci modülün 31 kata kadar, ikinci modülün ise 17 kata kadar değişen oranlarda daha hızlı rendering yaptığı görülmüştür.
Kesir dereceli kaotik sistemlerin FPGA platformu ile gerçekleştirilmesi
Günümüzde, birçok bilimsel çalışmada kaotik sistemlerin kullanılmasının sağladığı avantajlar görüldükçe kaotik sistemlerin geliştirilmesi ve daha da kaotik hale getirilmesi amacıyla yapılan çalışmalar artmıştır. Bu çalışmada öncelikle kesirli hesaplamanın tanımı yapılıp, kaotik sistemleri kesir dereceli hale getirmek için Matlab programında yapılan kesirli hesaplama yöntemine değinildi. Kaotik sistemlerin geliştirilmesi amacıyla, kaotik sistemlerin kesirli halinin matematiksel modelinin blok diyagramı, LabVIEW platformu kullanılarak görsel programlama yöntemi ile oluşturulmuştur. Kesir dereceli sistemlerin matematiksel modellerinden yararlanılarak LabVIEW platformunda oluşturulan kesir dereceli sistemlerin uygulamaları çalıştırılarak LabVIEW platformu üzerinde gerçek zamanlı benzetimleri elde edilmiştir. Kesir dereceli olarak oluşturulan bu sistem ile bir görüntü şifreleme uygulaması yapılmış ve başarılı sonuçlar elde edilmiştir. Bu çalışmanın asıl amacı olan kesir dereceli sistemlerin FPGA cihazına uygulanmasıdır. Kesir dereceli sistemlerin LabVIEW programı ile oluşturduğu için LabVIEW platformu ile uyumlu bir FPGA cihazı gereklidir. Bu çalışmada LabVIEW programı ile uyumlu myRIO 1900 FPGA cihazı kullanılmıştır. FPGA uygulamasını gerçekleştirmek için öncelikle LabVIEW ortamı içerisinde myRIO 1900 cihazının çalışması için gerekli olan ayrı bir platformda, daha önce oluşturulan kesir dereceli sistemler yeniden düzenlemeler yapılarak FPGA cihazına kesir dereceli sistemler uygulanarak osiloskop cihazı üzerinde sonuçlar elde edilmiştir. Kesir dereceli bu sistemlerin FPGA cihazına uygulanıp osiloskop üzerinde sonuçlar elde edilmesinin asıl amacı kesir dereceli sistemler ile yapılacak uygulamalarda FPGA cihazının kullanıma hazır olduğunu göstermektir.
Çip üzerinde sistem mimarili fpga kullanarak gerçek zamanlı görüntü işleme algoritmalarının gerçekleştirilmesi
Bu tezde, gri seviye görüntü dönüşümü ve kenar bulma algoritmaları, Zynq-7000 mimarisine sahip FPGA üzerinde gerçek zamanlı olarak uygulanmıştır. Oluşturulan deney düzeneğinde, gömülü sistem uygulaması için Picozed gömülü görüntü işleme kartı kullanılmıştır. Kullanılan kart, üzerinde Xilinx Zynq-7000 mimarisine sahip XC7Z030 FPGA barındırmaktadır. Zynq-7000 mimarisi ARM işlemci ve FPGA bloklarına sahip olduğu için, yazılımsal ve donanımsal olarak programlanabilir yapıdadır. Bu iki yapı arasındaki iletişim Gelişmiş Genişletilebilir Arayüz (AXI-Advanced eXtensible Interface) üzerinden sağlanmaktadır. Ayrıca, ARM işlemci bir işletim sistemi kullanmaya da imkân tanımaktadır. Xilinx tarafından sağlanan Linux işletim sistemi, FPGA'da kullanılan donanımlar ve kartın barındırdığı donanımlar için sürücü desteği sağlamaktadır. Bu tezde, kartın programlanmasında Yazılım Tanımlı Çip Üzerinde Sistem (SDSoC-Software Defined System on Chip) programlama ortamı seçilmiş ve AVNET tarafından sağlanan Picozed uyumlu SDSoC görüntü işleme platformu kullanılmıştır. Programlamada, C/C++ dilleri kullanılarak kartta kurulan Linux işletim sisteminde çalışan proje oluşturulmuştur. Görüntü işleme uygulamaları için aynı ortam donanımsal programlama yapmayı da mümkün kılmıştır. Donanımsal olarak gerçekleştirilmek istenen hesaplamalar, donanım hızlandırmalı hesaplama yapısı sayesinde doğrudan aynı ortamda tasarlanmıştır. Seçilen görüntü işleme uygulamaları; 1920X1080 piksel çözünürlükte, 60 çerçeve/saniye hızında gerçek zamanlı olarak gerçekleştirilmiştir. Uygulanan kenar bulma algoritmaları, Sobel, Prewitt ve Roberts kenar tespit yöntemleridir. Gömülü sistemin HDMI girişinden alınan görüntü verileri işlenerek HDMI protokolünde çıkışa aktarılmıştır. Tezde her bir uygulama, hem yazılımsal hem de donanımsal olarak gerçekleştirilmiş ve performansları karşılaştırılmıştır. Anahtar Kelimeler: FPGA, Zynq-7000, Picozed gömülü görme kartı, SDSoC, Kenar algılama
Görüntü işleme algoritmalarının FPGA üzerinde gerçeklenmesi
Görüntü işleme algoritmaları; sağlık, güvenlik, savunma gibi birçok alanda kullanılmaktadır. Bu çalışmada bazı görüntü işleme algoritmaları FPGA geliştirme kartı üzerinde gerçeklenmiştir. FPGA tabanlı geliştirme kartları üzerinde gerçek zamanlı olarak görüntüde renk değiştirme, morfolojik açma ve kapama, kırmızı renkli nesne takibi, ten rengi tanıma, sobel filtresinin görüntüye uygulanması gibi bir takım tasarımlar gerçekleştirilmiştir. Bu işlemlerde donanım tanımlama dili olan Verilog kullanılmıştır. Elde edilen sonuçlar geliştirme kartına bağlanan monitör sayesinde gözlemlenmiştir. Yapılan bu çalışmanın, daha gelişmiş görüntü işleme sistemleri tasarlamak için bir temel olacağı düşünülmektedir.
FDAM ile hareket ettirilen dört çeker mobil robotun FPGA ile kontrolü
Son yıllarda gelişen mikroişlemci teknolojisi, sensör teknolojisi ve motor sürücü sistemlerindeki gelişmeler ile birlikte mobil robotlar hakkında yapılan çalışmalar artmıştır. Mobil robotlar genellikle insanlar açısından tehlikeli ortamlarda yapılan arama kurtarma çalışmalarında, yük taşıma-yerleştirme sistemlerinde, coğrafi bilgi sistemlerinde veya haritalamada kullanılmaktadır. Bu çalışmada karşısına çıkan engelleri algılayarak yönünü belirleyen bir dört çeker mobil robotun tasarımı ve kontrolü gerçekleştirilmiştir. Tasarlanan dört çeker mobil robotun her bir tekerleği kapalı çevrimli FDAM (Fırçasız Doğru Akım Motoru) ile hareket ettirilmiştir. Böylece daha hassas dönüş açısı ve geniş bir hız aralığında çalışma imkânı elde edilmiştir. Ayrıca mobil robot tekerleklerinin yüksek verimli tahrik elemanı olan FDAM ile hareket ettirilmesi ile mobil robotun enerji tüketimi de azaltılarak çalışma süresi arttırılmıştır. Dört çeker mobil robotun kontrol algoritması National Instruments firması tarafından üretilen Myrio-1900 FPGA geliştirme kartında oluşturularak mobil robotun engelleri hızlı bir şekilde algılaması ve hızlı bir şekilde tepki vererek yönünü belirlemesi sağlanmıştır. Çalışmada engelleri daha doğru ve hassas bir şekilde algılamak için yüksek hassasiyete sahip LiDAR kullanılmıştır. LiDAR dört çekerli mobil robotta bulunan bir servo motor üzerine monte edilmiştir. Servo motor ile LiDAR'a hareket kabiliyeti kazandırılmaktadır. Servo motor sayesinde LiDAR iki yüz yetmiş derece görüş açısına sahip olmaktadır. Böylece mobil robot karşısına çıkan tüm engelleri algılayabilmektedir.
Gömülü sistemlerle biodent fırın tasarımı ve gerçekleştirilmesi
Bu tez çalışmasında, diş protezlerini pişirmede kullanılan biodent fırının denetimi, gömülü denetim sistemi ile gerçekleştirilmiştir. Biodent fırının denetimi, Xilinx Spartan- 3A XC3S700A FG484 FPGA ile tasarlanmış ve gerçekleştirilmiştir. Sistemin programlama arayüzü için Xilinx firmasına ait ISEWebPack9.2i programı yardımıyla VHDL programlama dili ve Şematik programlama kullanılmıştır. Sistemde; rezistans, ekovat ve selenoid valf denetlenmektedir. Sistemde, basınç sabit olup sıcaklık elle termostattan girilerek ve zaman ayarı iki seçimli bir anahtar yardımıyla girilerek sistem otomatik olarak çalıştırılmaktadır.
İnternet tabanlı güç kalitesi izleme sisteminin donanımsal ve yazılımsal olarak gerçekleştirilmesi
Bu tez çalışmasında, elektrik enerji sistemlerinde güç kalitesinin sürekli ve standartlara uygun bir şekilde izlenmesi için donanımsal ve yazılımsal olarak internet tabanlı yeni bir izleme sistemi geliştirilmiştir. Tasarlanan izleme sistemi, şebeke üzerinden akım ve gerilim bilgilerini gerçek zamanlı okuyarak güç kalitesi parametrelerini hesaplamaktadır. İzleme sisteminin yapısında, sinyal işleme alanında gittikçe yaygınlaşan FPGA donanımı kullanılmıştır. Güç kalitesi izleme sistemi ile hem güç kalitesi parametrelerinin izlenmesi hem de güç kalitesi bozulmalarının tespiti sağlanmıştır. Güç kalitesi izleme sisteminin yazılımsal tasarımları, genel olarak iki aşamada gerçekleştirilmiştir. Birinci aşama, FPGA tabanlı çalışan yazılımlardır. Bu yazılımlar, güç kalitesi ölçüm ve tespit işlemleri için hazırlanan sinyal işleme algoritmaları ve haberleşme kısımlarından meydana gelmektedir. FPGA tabanlı yazılımların oluşturulmasında, VHDL donanım tanımlama dili kullanılmıştır. İkinci aşama, izleme cihazlarından elde edilen verilerin; kayıt altına alınması, izlenmesi, analizi ve raporlanması gibi işlemleri gerçekleştiren bilgisayar tabanlı yazılımlardır. Sunucu üzerinde çalışan bu yazılımlar, güç kalitesi verilerinin görsel olarak izlenmesi ve sorgulanmasında kullanıcılara büyük kolaylıklar sağlamaktadır. Bu tez çalışmasında, güç kalitesi verilerinin uzaktan izlenmesi için internet tabanlı bir web uygulaması oluşturulmuştur. Hem sayısal hem de grafiksel bilgilere sahip olan web sayfası aracılığı ile kullanıcılar, kendilerine ait güç kalitesi bilgilerini bilgisayar ve mobil platformlar aracılığı ile takip edebilmektedir. Tez kapsamında tasarlanan güç kalitesi izleme cihazı, Tunceli Üniversitesi bünyesinde bulunan Mühendislik Fakültesi, Tunceli Meslek Yüksekokulu ve AR-GE Laboratuarları'nın elektrik dağıtım panolarına kurularak test edilmiştir. Elde edilen test sonuçlarından, tez kapsamında oluşturulan güç kalitesi izleme sisteminin yeni nesil güç kalitesi izleme sistemlerinden beklenen tüm özellikleri sağladığı gözlemlenmiştir. Ayrıca, FPGA teknolojisinin bu sistemde yer alması, bu alana yenilikçi bir katkı sağlamıştır.
Çok yüksek hızlı tümleşik devre donanım tanımlama dili kullanılarak gerçek zamanlı modülatör-demodülatör tasarımı
Bu tez çalışmasında Altera DE-0 Nano Board kullanılarak gerçek zamanlı modülatör-demodülatör tasarımları gerçekleştirilmiş olup BPSK (Binary Phase Shift Keying: İkili Faz Kaydırmalı Anahtarlama), QPSK (Quadrate Phase Shift Keying: Dördün Faz Kaydırmalı Anahtarlama) ve MSK (Minimum Shift Keying: Minimum Kaydırmalı Anahtarlama) modülasyon teknikleri için geliştirilmiş yeni mimariler sunulmuştur. Geliştirilen BPSK ve QPSK modülatör mimarileri, MUX tabanlı mimarilere göre %87.5 oranında daha düşük ram bit kullanmakta olup kullandığı TLE (Total Logic Element: Toplam Lojik Eleman) ve kaydedici sayısı daha azdır. Bu iyileştirme, geliştirilen BPSK ve QPSK mimarilerinde taşıyıcı sinyalin üretimi için yeni bir tekniğin önerilmesiyle sağlanmıştır. Tez çalışmasında MSK modülasyon tekniği için de üç farklı yeni modülatör mimarisi tasarlanmıştır. Önerilen MSK mimarilerinin ilkinde MUX tabanlı mimariler kullanılarak I ve Q kanalı sinyalleri üretilmiştir. Bu mimariye yer değiştirme tekniği uygulanarak kaynak kullanımı düşürülmüştür. İkinci mimari ise I kanalı ve Q kanalı sinyallerinin simetrilik özelliği kullanılarak tasarlanmış olup birinci mimariye göre ram bit kullanımı yaklaşık olarak %75 oranında düşürülmüştür. Son mimari ise MSK modülasyonu için tamamen yeni bir mimari olup Y-D (R-F) MSK olarak adlandırılmıştır. Y-D MSK mimarisi, iki yeni denklemin türetilmesiyle tasarlanmıştır. Ayrıca Y-D MSK mimarisinin ram bit kullanımını düşürmek için ön hesaplama (ÖH) tekniği kullanılmıştır. Geliştirilen bütün mimariler FPGA kartı üzerinde gerçek zamanlı çalıştırılarak modülasyonlu sinyallerin değişimi osiloskoptan izlenmiştir.
FPGA kullanarak gerçek zamanlı görsel nesne algılama
FPGA kullanımı, görüntü işleme operasyonu sırasında veri boyutunun büyük olmasından dolayı birçok uygulamada tercih edilmektedir. Bu tezde, Terasic DE2-115 FPGA seti ve onunla uyumlu TRDB-D5M kamera modülü incelenmiş ve firma tarafından sağlanan Verilog dilindeki kamera uygulama modülü, geliştirmeye uygun referans bir sistem olarak kullanılmıştır. Sisteme farklı fonksiyonlar ve özellikler eklenerek bir nesne algılama sistemi gerçekleştirilmiştir. Nesne algılama sistemi temel olarak 3x3 pencere boyutuna sahip bir medyan filtresinin donanımasal olarak optimize edilmiş bir versiyonunu içermektedir. İkili imge oluşturmak için filtrelenmiş görüntüdeki kırmızı, yeşil ve mavi (RGB) renkler ve gri renk için farklı eşik değerleri kullanılarak segmentasyon yapılır. Sahnede bulunan nesneyi kabaca gösteren bu ikili imge sayesinde nesneye ait olduğu düşünülen pikseller için video tamponuna sıfırdan farklı bir veri değeri yazılmaktadır. Elde edilen ikili imgeden nesnenin ağırlık merkezi ve bu merkezinin koordinatları belirlenmiştir. Belirlenen merkezin koordinatları onaltılık sayı sistemi (hexadecimal) olarak FPGA setinin üzerinde bulunan 7-segment göstergeye aktarılmıştır. Tamamen gerçek zamanlı çalışan sistem üzerinde farklı aydınlanma koşulları ve eşik değerlerle deneysel çalışmalar yapılmıştır. Deneyler sırasında gözlemlenen, yayılma gecikmelerine bağlı problemler, kodlarda yapılan düzeltmelerle giderilmiştir.
Mobil robotlarda programlanabilir kapı dizileri alanı kullanılarak gerçek zamanlı modelleme
Programlanabilir Kapı Dizileri Alanı (Filed Programable Gate Array, FPGA) yapılandırılabilir mantık blokları ile birlikte bu bloklar arasındaki değiştirilebilir ara bağlantılardan oluşan sayısal tümleşik devrelerdir. FPGA'lar hızlı işlem gerektiren gerçek zamanlı uygulamalarda ve paralel işlem gerektiren özel işlemler için kullanılır. Tipik bir FPGA altmış dörtten yüzbinlere kadar lojik blok ve flip-flop içerir. Kullanıcının tasarladığı devreye göre, FPGA üreticisi tarafından sağlanan bir yazılım sayesinde lojik bloklar ve aralarındaki bağlantılar programlanır.Bu çalışmada, FPGA geliştirme kartı kullanılarak bir omni-directional robot modeli gerçekleştirilmektedir. Robot üç tane omni-directional tekerleğe sahiptir ve bu tekerlekler üzerinde serbestçe hareket eden ufak tekerlekler bulunmaktadır. Bu sayede robot her yöne hareket etme yeteneğine sahip olmaktadır.Bu tez çalışmasında, ilk olarak omni-directional robotun ters kinematik ve dinamik modelleri Matlab'da oluşturulmuştur. Sonra farklı yörüngeler için robot simülasyonu gerçekleştirilmiştir. Daha sonra robot modelinin FPGA uygulaması gerçek zamanlı uygulamalar için kullanılan Altera'nın geliştirme kartı ve araçları ile gerçekleştirilmiştir. Son olarak, omni-directional robot modelinin gerçek zamanlı FPGA uygulamasını doğrulamak için sonuçlar karşılaştırılmıştır.Anahtar Kelimeler : Gerçek zamanlı modelleme, Omni-directional robot, FPGA
Sahada programlanabilir kapı dizileri kullanılarak darbe genişlik modülasyonlu sinyallerin üretimi ve dc motor uygulaması
Bu tez çalışmasında, Xilinx üretici firmasına ait XC3S500E-4FG320 Sahada Programlanabilir Kapı Dizisi (SPKD) elemanı kullanılarak 1-16 kHz arasında, değişken frekans ve değişken görev periyotlu Darbe Genişlik Modülasyon (DGM) sinyalleri üretilmiştir. SPKD'nin programlanması için donanım tanımlama dili VHDL (Çok Yüksek Hızlı Tüm Devre Donanım Tanımlama Dili) kullanılmıştır. Üretilen DGM sinyalleri bir doğru akım motorunun sürücü devresine uygulanarak belirli hızlarda çalışması sağlanmıştır. Motor hız bilgisi motor miline bağlı bir disk ve optik algılayıcı devreler yardımıyla alınıp değerler bir sayısal ekranda (LCD) gösterilmiştir. Üretilen DGM sinyalleri, kullanılan Xilinx programlama ara birimi ile hem benzetimleri yapılmış hem de osiloskop ile gözlenerek doğrulukları sınanmıştır.
Hardware acceleration of internet of things network stack with dtls support
The data communication stack on IoT devices is traditionally implemented in software as part of their operating systems. However, running computationally intensive software tasks related to network communication on a microprocessor may lead to poor application performance and high power consumption for resource-constrained IoT devices. To mitigate these issues, hardware acceleration using System on Chip (SoC) Field Programmable Gate Arrays (FPGAs) is utilized. This thesis consists of two main parts: The first part focuses on hardware acceleration of the Constrained Application Protocol (CoAP) and its underlying network protocols. The second part centers around hardware acceleration of the Datagram Transport Layer Security (DTLS) protocol, combining ASIC cryptographic accelerators with reconfigurable logic. To showcase the performance of the hardware accelerated CoAP server, both standard and secure versions are thoroughly evaluated and compared against a software-based implementation. The evaluation considers metrics such as performance, latency, power consumption, and FPGA resource utilization. Results demonstrate that the proposed CoAP hardware accelerators consume significantly less power while delivering higher performance and lower message latency compared to software-based CoAP servers. Therefore, the proposed CoAP hardware accelerator designs are viable solutions for resource-constrained IoT device deployment.
NEORV32 RİSC-V işlemcisinde kayan nokta komutların desteklenmesi
The RISC-V Instruction Set Architecture (ISA) provides a customizable framework for processor design; however, the base RISC-V ISA does not have floating-point operation instructions. This necessity is addressed by integrating the F extension into the base instruction set architecture. The main objective of this thesis is to enhance the functionality of NEORV32 soft-core processor that implements only the base RISC-V ISA by incorporating F extension into its microarchitecture design. The NEORV32 soft-core processor design based on the base RISC-V ISA is first analyzed to identify the areas that can benefit from the inclusion of the F extension. The integration of the F extension into the NEORV32 soft-core processor architecture entails the implementation of all instructions in the F extension, optimizing the processor's datapath and control path, and seamless interconnectivity with the original processor design. A set of simulation techniques are employed to evaluate the performance improvements on computation speed and overall system efficiency achieved by the enhanced processor. Assembly codes incorporating floating-point instructions are generated and tested, providing insights into the benefits of the F extension integration. This thesis contributes to the advancement of soft-core processor design by enabling efficient and accurate floating-point computations through the integration of the F extension. The findings have implications for a wide range of computing systems, including embedded systems, high-performance computing clusters, and scientific simulations. These systems heavily rely on the computational accuracy and versatility offered by floating-point arithmetic, enabling complex mathematical computations, accurate physical simulations, and data analysis with high precision.
Üç fazlı uzay vektör PWM kontrollü eviricinin FPGA tabanlı kosimülasyonu
Eviriciler girişlerindeki DC gerilimi AC gerilimine dönüştürür. Bu dönüşümü sağlamak için kontrol yöntemleri geliştirilmiştir. Bu yöntemlerden en önemlisi Darbe Genişlik Modülasyon yöntemleridir. Darbe genişlik modülasyon yöntemleri, eviricilerde çıkış gerilimini ve frekansını düzenlemek için kullanılır. Eviriciler, motor kontrol uygulamalarında, kesintisiz güç kaynaklarında ve yenilenebilir enerji kaynaklarında yaygın olarak kullanılır. Darbe Genişlik Modülasyon yöntemlerinden Uzay vektör DGM yöntemi, eviricilerin kontrolünde yaygın olarak kullanılır, çünkü düşük harmonik içeriğe sahiptir ve dijital olarak uygulanabilir. Geleneksel mikroişlemcilerle üretilen uzay vektörü DGM sinyallerinin çıkış frekansı istenilen frekanstan farklı olmakta ve kaymalar meydana gelebilmektedir. Bu kaymalar, geleneksel mikroişlemcilerin seri işlem yapılarından kaynaklanmaktadır. Bu durum istenmeyen harmonikler gibi birçok soruna yol açmaktadır. Bu nedenle bu çalışmada geleneksel mikro işlemciler yerine FPGA kullanımı tercih edilmiştir. FPGA ile paralel işlem yapılabilir, kullanılan tasarım test edilebilir ve istendiğinde içine işlemci sistemi gömülebilir ve sahada programlanabilmektedir. Ayrıca FPGA ile tasarlanan program bilgisayar ortamında simüle edilebilir.. Bu tez çalışmasında, referans şebeke gerilimi kullanılarak Uzay Vektör DGM sinyalleri oluşturulmuş ve geleneksel mikroişlemciler yerine FPGA kullanılmıştır. Uzay Vektör DGM sinyalleri MATLAB/Simulink benzetim programı ile System Generator sayesinde sağlanan Xilinx FPGA'larına özel bloklarla oluşturulmuştur. Bu evirici modelinde FPGA'da oluşturulan modelin simülasyonu yapılmıştır. Ayrıca bu modelin BASYS3 FPGA deneme kartıyla kosimülasyonu yapılmış, sonuç olarak simülasyon ve kosimülasyon verileri gözlemlenmiştir.
Implementation of image processing algorithms on FPGA demonstration board
Image enhancement, motion and target tracking, face recognition and license plate detection are some of the image processing applications which are widely used in many fields such as military, medical sciences, astronomy etc.Image processing is mostly implemented in software. In this thesis, implementation of image processing algorithms on FPGA was analyzed. Object and motion detection on thermal imagery, edge detection, noise reduction, histogram monitoring, nonlinear contrast adjustment and motion detection applications were successfully operated.Altera DE2-70 development and education board was chosen to work on. Board has a number of input and output interfaces sufficient for many image-processing applications. The most important factors for choosing Altera DE2-70 board was its two composite video inputs, VGA output feature and its powerful FPGA, which facilitates to design. Verilog hardware description language (HDL) was used for modeling hardware. Quartus 9.1 program was used to synthesize the hardware models. General application includes conversion of analog video input into digital format, processing the image and transmitting the image to a VGA monitor at a resolution of 640x480.The main objective of this study is taking advantage of the use of FPGAs in the field of image processing and demonstrating the feasibility of the efficient applications of image processing.