elektrik port üyelik servisleri elektrik port üyelik servisleri

FPGA Nedir? FPGA Teknolojisi

Bu yazımızda paralel çalışma kabiliyetine sahip, son teknoloji geliştirme kartları olan FPGA’leri yakından inceledik. FPGA nedir ve FPGA programlama konularına bu yazımızdan ulaşabilirsiniz.



A- A+
14.09.2020 tarihli yazı 40716 kez okunmuştur.

FPGA Nedir?

FPGA (Field Programmable Gate Arrays), “Alanda Programlanabilir Kapı Dizileri” anlamına gelen yarı iletken teknolojisine sahip cihazlardır.Daha temel ve göz korkutucu olmayan bir tanım yapacak olursak, kullanıcının bir veya daha fazla mantıksal işlemi gerçekleştirmek için programlayabileceği donanım devresi olduğunu söyleyebiliriz.

Bir adım daha ileri gidecek olursak, FPGA’ler bir yonga üzerindeki bir dizi entegre(IC) devre diyebiliriz.  Bu entegre devre dizileri, tasarımcının üretim süreci tamamlandıktan sonra da yapılandırabileceği bir entegre devre çeşididir. Programlanabilir mantık kapıları, bellek veya diğer öğelerden meydana gelmiştir. Ayrıca en önemli ve ayırt edici  özelliği olarak pararel işlem yapabilme kabiliyetinden söz edebiliriz.

 

FPGA vs Mikrodenetleyici

Mikrodenetleyicilerin modern elektronik tasarımda baskın bir bileşen haline geldiği konusunda hemfikir olabiliriz. Ucuzdurlar ve çok yönlüdürler ve günümüzde genellikle bir kişinin elektronik dünyasına ilk girişi olarak hizmet ederler. Aşina olduğumuz bileşenleri kullanmaya devam etmemiz doğaldır ve mikrodenetleyiciler gittikçe güçlendikçe, tasarım zorluklarımıza alternatif çözümler düşünmeye gittikçe daha az ihtiyaç duyulmaktadır. Bununla birlikte, bir mikro denetleyici bir işlemci etrafında oluşturulur ve işlemciler, tanınması ve bazı durumlarda üstesinden gelinmesi gereken temel sınırlamalarla gelir.



Öyleyse, bir mühendis bir mikro denetleyici üzerinden bir FPGA'ya ne zaman ulaşır? Cevap, yazılım ve donanım arasında gelir.

Bir işlemci, talimatları sıralı bir şekilde uygulayarak görevlerini yerine getirir. Bu, işlemcinin işlemlerinin doğası gereği sınırlandırıldığı anlamına gelir: istenen işlevsellik, mevcut talimatlara uyarlanmalıdır ve çoğu durumda, birden fazla işlem görevini aynı anda gerçekleştirmek mümkün değildir. İyi haber: eğer FPGA kullanıyorsanız bu mümkündür!

 

►İlginizi Çekebilir: İşlemci Önbelleği Nedir? Nasıl Çalışır? Nasıl Tasarlanmalıdır?

Şekil 1: Bir mikro denetleyici, bir işlemci etrafında oluşturulur ve bir işlemci bir CPU etrafında oluşturulur ve bir CPU, her seferinde bir işlem gerçekleştirir.

Komut seti oldukça çok yönlü olacak şekilde tasarlanmıştır ve günümüzde talimatlar çok yüksek frekanslarda yürütülebilir; ancak bu özellikler, dijital tasarıma yazılım tabanlı bir yaklaşımın dezavantajlarını ortadan kaldırmaz.

Alternatif, donanım tabanlı bir yaklaşımdır. Her yeni tasarım, sistemin gerektirdiği tam işlevselliği uygulayan bir dijital IC etrafında inşa edilebilseydi son derece kullanışlı olurdu: yazılım yazmaya gerek yok, talimat seti kısıtlamaları yok, işleme gecikmeleri yok, sadece giriş pinlerine sahip tek bir IC , çıkış pinleri ve gerekli işlemlere tam olarak karşılık gelen dijital devre. Bu metodoloji, her bir kart için bir ASIC (uygulamaya özel entegre devre) tasarlamayı içerdiğinden, tarifin ötesinde pratik değildir. Ancak, bu metodolojiyi FPGA'lar kullanarak tahmin edebiliriz .

 

Alan Programlanabilir Kapı Dizisi Nedir?


İyi bir isim gayet bilgilendirici olabilir ve "alanla programlanabilir kapı dizisi" nin gayet iyi bir isim olduğunu düşünürdüm. Bir FPGA bir dizi mantık kapılarıdır (iyi, bir nevi - aşağıya bakınız) ve onu tasarlayan insanların aksine  cihazın kullanıcısı tarafından  bu dizi sahada programlanabilir (aslında "yapılandırılabilir" daha uygun bir kelime olabilir) . Bu temel özelliklere daha yakından bakalım.


Mantık kapıları (AND, OR, XOR, vb.), Dijital devrenin temel yapı taşlarıdır. O halde, oldukça yapılandırılabilir olması (yani "sahada programlanabilir") amaçlanan bir dijital cihazın, özelleştirilebilir bir şekilde birbirine bağlanabilen çok sayıda kapıdan oluşur.

Bununla birlikte, bir FPGA, tek tek Boole kapılarının geniş bir koleksiyonu değildir. Bu, yapılandırılabilir mantık işlevselliği sağlamanın çok yetersiz bir yolu olacaktır çünkü ortak işlemlerin sabit modüller olarak çok daha verimli bir şekilde uygulanabileceği gerçeğinden yararlanmayacaktır. Aynı ilke, ayrık dijital IC'lerin dünyasında da geçerlidir. AND kapılarından, OR kapılarından vb. Oluşan IC'ler satın alabilirsiniz - ancak tek tek kapılardan bir vardiya kaydı oluşturmak istemezsiniz. Bunun yerine, bir kaydırma yazmacı IC satın alırsınız.



► İlginizi Çekebilir: ASIC ve FPGA Farkları Nelerdir?

 

Öyleyse bir FPGA, bir dizi kapıdan çok daha fazlasıdır. Ortak işlevleri verimli bir şekilde uygulama kabiliyeti olan ve aynı zamanda çok yüksek düzeyde esneklik sunan, dikkatlice tasarlanmış ve birbirine bağlı dijital alt devreler dizisidir. Dijital alt devreler, yapılandırılabilir mantık blokları (CLB'ler) olarak adlandırılır ve FPGA'nın programlanabilir mantık kabiliyetinin temelini oluştururlar.

Esnek İşlem Kabiliyeti


FPGA’in işlevi, aygıtın her açılışında değişebilir. Bu nedenle, bir tasarım mühendisi değişiklik yapmak istediğinde, cihaza yeni bir konfigürasyon dosyası indirip değişikliği deneyebilir.
Çoğu zaman, pahalı PC kartı ile değişiklikler yapmadan FPGA'da değişiklikler yapılabilir.
ASSP'ler ve ASIC'lerin, pahalı ve çok zaman isteyen sabit donanım “işlevselliğine” sahiptir.

 

Hızlı Sonuç

Ürünleri daha hızlı pazara sunabilirsiniz  ve / veya sistem performansınızı arttırırsınız.

FPGA'ler, ASIC'lere göre (aylar süren üretim döngüleri gerektiren) "kullanıma hazır" olarak satılır.
FPGA esnekliği nedeniyle orijinal ekipman üreticileri, tasarım çalışır ve test edilir edilmez sistemleri sevk edebilme imkanına sahiptir.
FPGA'lar, CPU'lara yüksüz(off-load) ve hızlandırma işlevleri kazandırarak tüm sistem performansını etkin bir şekilde hızlandırırlar.

Entegrasyon


Günümüzün FPGA'ları, kalıp üstü(on-die) işlemciler, 28 Gbps (veya daha hızlı)   alıcı-verici I/O'lari, RAM blokları, DSP motorları ve daha fazlasını içerir. FPGA'daki daha fazla özellik, devre kartında daha az cihaz anlamına gelir ve bu da cihaz arızalarının sayısını azaltır dolayısıyla  güvenilirliği de artırır.

Maliyet

ASIC'ler birim başına eşdeğer olan bir tane FPGA'dan daha ucuza mal olabilirken, bunları oluşturmak için tekrar yapılması gerekmeyen bir masraf (NRE), pahalı yazılım araçları, özel tasarım ekipleri ve uzun üretim döngüleri gerektirir.
Intel FPGA'lar, karttaki elektronik cihazlardan birinin kullanım ömrü sona erdiğinde orijinal ekipman üreticisi, üretim ekipmanını yeniden tasarlama ve yeniden yetkilendirmesinin maliyetini ortadan kaldırır. Uzun kullanım ömrüne (15 yıl ya da daha fazla) sahiptir.
 


Şekil 2 : Devrenin osiloskop, mantık analizörü, spektrum analizörü vb. işlevselliklerini sağlamak üzere yeniden yapılandırılmasını sağlamak için FPGA kullanılan bir PCB


Intel FPGA'lar, uzun kullanım ömrünü (15 yıl veya daha fazla) destekler.
FPGA'lar üretimde oluşabilecek riskleri azaltır, prototip sistemlerin saha denemeleri için müşterilere gönderilmesine izin verir ve seri üretime geçmeden önce hızlı bir şekilde değişiklik yapma yeteneği sağlarlar.
 

Kaynak:

► allaboutcircuits.com

► intel
► digilent


Yazar: Nazlıcan Güvenç


Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar