

FPGA’in iç konfigürasyonunu belirlemek için kullanılan
dillere HDL (Hardware Description Language – Donanım Tanımlama Dili)
denmektedir. Bu dillerinin başlıcaları VHDL ( Very High Speed Integrated
Circuit Hardware Description Language – Çok Yüksek Hızlı Entegre Devre Donanım
Tanımlama Dili) ve Verilog’dur. Verilog C’ye benzeyen bir yapıya sahipken, VHDL
daha alt seviye bir dil gibidir. Ama bu diller geleneksel programlama
dillerinden tamamıyla farklı olup, bir akış ve işleyişten çok donanımın
yapısını yani elemanların birbiriyle bağlantısını ve entegrenin iç
konfigürasyonunu ifade etmektedirler.
Bir projeye başlamadan önce ihtiyaçlar belirlenmeli ve
tasarım aşamasında Mikroişlemci, FPGA yada ASIC teknolojilerinden hangilerinin
hangi aşamada kullanılması gerektiği iyice planlanmalıdır. Bir mikroişlemci
kullanarak rahatlıkla yapılabilecek bir proje, FPGA üzerinde gerçeklendiğinde
zaman ve maliyet açısından zarar ettirecektir.
Bununla birlikte entegre devre teknolojileri birbirinden bağımsız
teknolojiler değillerdir. Örnek olarak FPGA entegrelerin üretilmesinde ASIC
teknolojisi kullanılırken, herhangi bir uygulamaya yönelik ASIC tasarımında ilk
önce FPGA kullanılarak istenen fonksiyon tasarlanıp gerçeklendikten sonra
tasarım ASIC’e taşınmakta, yani FPGA prototip aşamasında kullanılmaktadır. Günümüzde
FPGA – ASIC arasındaki ilişki tavuk – yumurta ilişkisine benzeyen bir hal
almıştır.

Piyasada birçok FPGA entegre üretici firması olmasına karşın,
Xilinx ile Intel’in 2015 yılında satın aldığı Altera firmaları en büyük iki
firmadır ve bu firmalar FPGA entegre üretiminin yanı sıra kullanıcıya
geliştirme ortamları da sunmaktadırlar. Intel’in de Altera’yı yakın zamanda
satın almış olması bu teknolojinin geleceğinin parlak olduğunun işaretlerinden
biridir.
FPGA'lerin Özellikleri

FPGA’ler geleneksel ASIC’lerin aksine yeniden
programlanabilme özelliğine sahiptir. Bu sayede, bir uygulama için FPGA
üzerinde tasarım yapılıp müşteriye satıldıktan sonra bile güncelleme ve özellik
iyileştirmesi yapmak mümkündür.
ASIC tasarıma göre FPGA entegrelerin geliştirilip, test edilip
pazara sürülmesi daha kısa sürede gerçekleşmektedir ancak mikroişlemcilerle
karşılaştırıldığında bu konuda dezavantaja sahiptir.
Tasarım esnasında sadece simülasyonlarla değil çoğu zaman
donanım hazır olduğu için donanım üzerinde de doğrulama yapma olanağı da mevcuttur.
Ama bazı durumlarda FPGA’de gerçeklenecek sayısal tasarım geliştirilirken bir
yandan da bu FPGA’i de içine alacak şekilde PCB tasarımı paralel yürütülebilir
ve bu tasarım bitmeden FPGA’i programlayıp test etme imkanı olmayabilir. Bu gibi
durumlarda ise FPGA entegre üreticilerinin geliştirme kartları (development
board) kullanılabilir.
FPGA’lerdeki en önemli özelliklerden biri de paralel işlem
yapabilmesidir. Bu özellik FPGA’in mikroişlemcilere karşı en büyük avantajıdır.
Paralel işlem yapmaya kameradan video görüntülerinin sürekli olarak alınması,
bunun işlenmesi ve filtrelerden geçirilmesi ile bunun bir haberleşme protokolü
ile kişisel bilgisayara gönderilmesi örnek olarak verilebilir. Burada önemli
olan bu işlerin hepsinin paralel olarak yani eşzamanlı olarak
gerçekleştirilebiliyor olmasıdır. Yani ilk görüntü alındıktan sonra işlenmesi
ve gönderilmesi beklenmeden ikinci görüntü alınmaya başlanır. FPGA yerine bir
mikroişlemci kullanıldığında bu işlemler sırayla yapılmak zorunda kalınacak ve
bu da yeterince hızlı olamayabileceğinden bazı girişlerin zorunlu olarak ihmal
edilmesine neden olabilecektir.
FPGA Kullanım Alanları
FPGA’ler tekrar programlanabilir doğası, yüksek performansı
ve paralel işlem yapabilme kapasitesiyle birçok entegre devre uygulamasında
kullanılmaktadır. Bu uygulamalara örnek olarak şunlar verilebilir:
- Kriptoloji
- Görüntü ve Ses İşleme
- ASIC prototipleme
- Yapay Zeka ve Makine Öğrenmesi
- Uydu ve Radar Haberleşmesi
- Tüketici Elektroniği
- Tıp Elektroniği
- Savunma, Havacılık, Otomotiv ve Robotik Sistemler
Yazının devamı niteliğindeki FPGA Teknolojisinin Geleceği ve FPGA Tasarımınında Yol Haritası hakkındaki yazımı okuyabilirsiniz.
Hiç yorum yok:
Yorum Gönder