FPGA

FPGA Nedir?

FPGA

FPGA

Açılımı “Field Programmable Gate Array” dir. Dilimize Alanda Programlanabilir Kapı Dizisi olarak çevirebiliriz. Burada bahsi geçen kapı kelimesi, sayısal devrelerin temelini oluşturan mantık kapılarıdır. Mantık kapıları, kullanıcının tasarımına bağlı olarak girilen değerler doğrultusunda mantıksal sonuçlar üretir. Dijital elektronikte kullanılan lojik entegreler ve dolayısıyla entegrelerin bir araya getirilmesiyle oluşturulan sayısal devreler gerekli mantık kapılarını bir araya getirerek çalışmaktadır. FPGA ‘ler ise kullanıcıya bu mantık kapılarını kullanarak sayısal devre tasarlama imkanı sağlamaktadır. Yani sayısal devre tasarlamak için kullanılan yapıların neredeyse hepsi, FPGA ‘ler üzerinde gerçekleştirilebilir ve dolayısıyla tek bir yapı üzerinde sayısal devre tasarlanabilir. Alan programlanabilir denmesinin sebebi ise üretim sürecinden sonra kullanıcıya gelen kartın gerekli ihtiyaçlar doğrultusunda sürekli programlanmasıdır. FPGA‘lerin en önemli özelliği ise tekrar ve tekrar programlanabilmesidir. İhtiyaç duyulan herhangi bir sayısal devre, FPGA üzerinde inşa edilip direkt kart üzerine yüklenebilir ve sistemin çalışma durumu gözlemlenebilir. Bu sayede prototip devrelerin çalışıp çalışmama durumu test edilebilir ve bir nevi hata ayıklama yapılabilir.

FPGA'lerin birincil avantajı, tasarımcının cihazı hemen hemen her işlevi gerçekleştirecek şekilde hızlı bir şekilde programlamasına (ve yeniden programlamasına) olanak tanıyan programlanabilir yapılarıdır. Bu yeniden programlanabilirlik, FPGA indirilebilir yazılım güncellemeleri kullanılarak bir uygulamaya entegre edildikten sonra bile mümkündür (dolayısıyla "sahada programlanabilir kapı dizisi"ndeki "sahada programlanabilir"). Bu doğal esneklik aynı zamanda FPGA tabanlı tasarımların pazara çıkış süresini hızlandırmaya da yardımcı olur çünkü FPGA'nın işlevselliği genel sistem tasarımına paralel olarak geliştirilebilir veya değiştirilebilir.

FPGA'lerin bir diğer faydası da paralel işleme yetenekleridir. FPGA'ler, "kapı denizi" mimarisi sayesinde, işlemleri sıralı olarak değil aynı anda gerçekleştirerek verileri paralel bir şekilde işleyebilir. Bu tür işleme, FPGA'nın daha düşük güç tüketen daha düşük saat hızlarını kullanarak önemli ölçüde daha yüksek performans sunmasına olanak tanıyan yüksek performanslı bilgi işlem uygulamaları (AI gibi) için daha uygundur.

Mikrodenetleyiciler (MCU), Mikroişlemciler (MPU), Uygulamaya Özel Entegre Devre (ASIC) ve Uygulamaya Özel Standart Ürün (ASSP) gibi diğer IC türleri, dağıtım üzerine sabit bir işleve sahiptir ve sırayla (yani birbiri ardına) çalışır. Programlanabilirliğin olmayışı, devreye alındıktan sonra sistemin ömrünün kısalmasına katkıda bulunabilir. Ve seri işleme, IC'lerin işlem iş yüküne ayak uydurmak için daha yüksek hızlı saatler kullanması nedeniyle daha yüksek güç tüketimine yol açabilir. Bu, düşük güçte çalışma desteğinin de gerekli olduğu Edge AI gibi daha yüksek bilgi işlem performansı gerektiren uygulamalar için sorunludur.

 

Bir FPGA nasıl programlanır veya yapılandırılır?

FPGA'ler, cihazın mantık devrelerinin ve ara bağlantılarının belirli bir uygulamanın uygulanmasında hangi rolü oynamaları gerektiğini bilmesi için yapılandırma gerektirir. Geliştiriciler, özel bir yazılım (genellikle FPGA tedarikçisi tarafından sağlanır) kullanarak, grafik tasarım yakalama (genellikle daha küçük FPGA'ler için kullanılır) veya bir donanım tanımlama dili (HDL) kullanarak FPGA'de uygulanacak mantığı tasarlarlar.

Yazılım, daha sonra tasarımı sentezleyerek ve ardından hedef FPGA'ye en iyi uyan mantığı yerleştirip yönlendirerek "derler"; ardından yazılım, FPGA'yı yapılandırmak (veya programlamak) için kullanılan bir bit akışı oluşturur. Bit akışı FPGA'ya indirildikten sonra cihaz tanımlanmış görevini gerçekleştirmeye hazırdır. Lattice, geliştiricilere, tasarımcıların Lattice FPGA'lerde çalışan bit akışlarının oluşturulmasını basitleştirmek ve hızlandırmak amacıyla tasarım sürecinin süresini ve çabasını azaltmak için kullanabileceği bir yazılım tasarım araçları ve IP (Fikri Mülkiyet) veya önceden yapılandırılmış tasarım blokları paketi sunar. 

FPGA'ler nerede kullanılır?

Kısa cevap, her yerde.

Hacim açısından dünya çapında lider FPGA sağlayıcısı olan Lattice FPGA'ler, büyüyen İletişim, Bilgi İşlem, Endüstriyel, Otomotiv ve Tüketici pazarlarındaki uygulamalarda dünya çapında binlerce müşteri tarafından kullanılmaktadır. Lattice FPGA'lere yönelik uygulamalar arasında yapay zeka ve makine öğrenimi (ML) çıkarımı, veri ortak işleme, yerleşik görüş ve güvenli sistem kontrolü yer alır.

Genel Yapısı


FPGA genel olarak üç birimden oluşur.

 Bunlar;
• Mantık blokları
• Giriş/Çıkış Birimleri
• Ara Bağlantı Yolları


FPGA üzerinde bulunan mantık blokları içerisinde LUT denilen ve gerekli mantıksal işlemleri
yerine getiren küçük bellekler bulunmaktadır. Bu bellekler minimum 4 girişlidir ve giriş sayısına
bağlı olarak işaret edilen bellek sayısı değişim gösterir. Kullanıcı, mantık kapılarını tasarlamak
istediği sayısal devreye göre dizayn eder. Bloklar içerisinde aynı zamanda ‘multiplexer’ denilen
çoklayıcı devreler ve bir bitlik saklayıcı görevi gören flip-floplar bulunmaktadır. Kullanıcının
tasarlamak istediği devre doğrultusunda mantık blokları birbirleri ile ara bağlantı yolları vasıtasıyla bağlantı kurar ve bir sayısal devre tasarlanmış olur.

Yapılarında bulunan giriş/çıkış birimleri sayesinde çevresel birimlerle haberleşme, veri alma veya tasarlanan devre doğrultusunda çıkış verme özelliklerine sahiptirler. Bu sayede FPGA‘ler üzerinde sinyal veya görüntü işlenebilir, üzerinde bulunan sensörler vasıtasıyla birçok ölçüm yapabilir ve yaptığı bu ölçümler doğrultusunda programlandığı amaca hizmet edebilir. Bir FPGA‘in performans ölçeği yapısında bulunan mantık bloklarının sayısına bağlıdır. Yapılarında bulunan binlerce mantık bloklarının doğru yapılandırılmasıyla çok karmaşık ve büyük tasarımlar ortaya çıkarılabilir.

Kullanım Alanları


• Havacılık Ve Savunma Sistemleri: FPGA üzerinde dalga formu üretimi, sinyal ve görüntü
işleme yapılabildiği için tercih edilir.


• Tüketici Elektroniği: Yakınlaştırılmış ahizeler, dijital düz panel ekranlar, bilgi cihazları, ev
ağı ve konut set üstü kutuları gibi yeni nesil, tam özellikli tüketici uygulamalarında
kullanılır. Uygun maliyetli çözümler üretilebilir.


• Ses: Çok çeşitli ses, iletişim ve multimedya uygulamaları için daha yüksek esneklik, daha
hızlı piyasaya sürme süresi ve daha düşük tekrarlanan mühendislik maliyetleri sağlar.,


Diğer kullanım alanları:


• Tıbbi Görüntüleme
• Kablolu İletişim
• Kablosuz İletişim
• Endüstri
• Otomotiv
• Hesaplama ve veri depolama


Yüksek hızı, yeniden programlanabilir olması, paralel işlem yapabilmesi, sinyal ve ya görüntü
işleyebilmesi ve daha birçok özellikleri sayesinde FPGA‘ler günümüzde çeşitli alanlarda
kullanılıyor.

 

16 Oca 2024 13:11:00