fpganedir.com'da ara

fpganedir mail

FPGA NEDİR?

FPGA’i , üretimden sonra istenen fonksiyona göre donanım yapısı kullanıcı tarafından değiştirilebilen entegre devreler olarak tanımlayabiliriz. FPGA ile yeni tanışanlar ya  da tanışmak üzere olanlar için bu tanım zor anlaşılır gelebilir fakat yazımızın devamında bu tanımı açacağız ve mümkün olduğunca örneklerle daha anlaşılır hale getirmeye çalışacağız. Bu sayfamızın amacı “ FPGA de nedir?” ya da “Anladım gibi ama tam değil.” diyen arkadaşlarımızın “ FPGA'i ben de zor bir şey sanıyordum.”  diyebilmelerini sağlamak. Sonrasında da sitemizin birbirinden güzel örneklerle zenginleştirilmiş diğer bölümlerini inceleyerek ‘Nasıl...’la başlayan sorularınıza cevap bulabileceğinizi umuyoruz.

Girişteki tanımda da belirttiğimiz gibi FGPA bir tür entegredir fakat onu diğer entegrelerden ayıran yanı donanım yapısını yani iç konfigürasyonunu istediğimiz gibi değiştirebilmemizdir. Bunu şöyle açıklayabiliriz: Donanım-programlanabilir olmayan Standart entegrelerde, transistörler arasındaki bağlantılar sabittir ve (entegre yanmadığı yada başına başka talihsiz bir olay gelmediği sürece) değişmezler.

FPGA’i, içindeki transistörleri birbirinden bağımsız ve serbest olarak üretilmiş ham bir entegre olarak düşünebiliriz. Bizim belirlediğimiz fonksiyona göre FPGA içindeki transistörler birbirlerine bağlanır ve bu sayede istediğimiz fonksiyonu gerçekleştirir. Yani teorik olarak transistör kapasitesi dahilinde akılmıza gelen herhangi bir entegrenin yaptığı işi FPGA ile yapabiliriz.

Burada şunu belirtmek gerekir ki; verdiğimiz transistör benzetmesi FPGA’in iç yapısını tam olarak anlatmamaktadır, FPGA Yapısı  sayfamızda iç yapıyla ilgili ayrıntılı ve daha kapsamlı bilgiyi bulabilirsiniz.

FPGA’lerin en önemli özelliklerinden biri de paralel işlem yapabilme yeteneğidir. Paralel işlem yapabilmek aynı anda birden fazla işlemi yapabilmek demektir. Örneğin bir insanın aynı anda hem kitap okuyup hem de müzik dinlemesi ve bu arada kahve içiyor olması gibi.

Sıradan entegreler ya hiç paralel işlem yapamazlar ya da çok sınırlı yapabilirler. FPGA’de ise uygulamaya ve kapasiteye göre, birbirine paralel onlarca belki binlerce işlemi aynı anda yapabiliriz. Bu da paralel işlem gerektiren uygulamalarda FPGA’leri eşsiz kılmaktadır.

Paralel İşleme Güzel Bir Örnek: Video Sinyali İşleme / Filtreleme

Örneğin gerçek zamanlı yüksek çözünürlüklü bir video görüntüsü üzerinde filtreleme işlemi yapmak istiyoruz. Video aslında peş peşe sıralanan resimlerdir ve bu resimlerin her birine “frame” denilmektedir. En basit haliyle bunun için videonun bir resim karesini giriş portlarından almamız, onu filtrelememiz ve çıkış portlarından göndermemiz gerekir. Sonra ikinci resim için de aynı işlemleri gerçek zamanlı olarak tekrarlamak durumundayız. Standart entegreler (örneğin bir mikroişlemci) kullanırsak bu üç işlemi (alma, filtreleme, gönderme) sırayla yapıp bitirdikten sonra gelen ikinci resmi almaya başlarız. Eğer bu işlemleri yeterince hızlı yapamazsak sıradaki resmi  kaçırabiliriz. FPGA’de ise bu işlemler paralel olarak devam eder. Örneğin ilk resmi alıp filtreleme işlemini yaparken ikinci resmi almaya başlarız. İlk resmi gönderirken ikinci resmi filtrelemeye ve üçüncü resmi almaya başlarız. Bunun yanında, filtreleme işlemi genel olarak yoğun çarpım gerektirmektedir. Standart bir işlemci ile bu çarpma işlemlerini de sırayla yapmak zorundayız. Oysaki FPGA ile bu işlemleri de paralel olarak yani çok hızlı bir şekilde yapabiliriz.

Özet olarak, FPGA’ler bize paralel işlem kabiliyeti sunan ve  içyapısını istediğimiz fonksiyon ve uygulamaya göre değiştirebildiğimiz donanım-programlanabilir entegrelerdir.

Intelectual Property (IP)

Intellectual Property (IP) belli bir FPGA ailesine göre hız ve performans yönüyle optimize edilmiş hazır fonksiyonları ifade etmektedir. Basit fonksiyonlar üretici tarafından ücretsiz sunulurken ileri seviye fonksiyonlar için genelde belli bir ücret ödemek gerekmektedir. IP’ler üretici tarafından sunulabildiği gibi 3.parti firmalar veya şahıslar tarafından da sunulabilmektedir.

                                                                                                                                                                                                                                                                         

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.