FPGA nedir? Mikroişlemci


Günümüzde elektronik sistemlerin tasarımında system-on-chip (SoC) teknolojisi özellikle yer ve enerji sorunlarının yoğun olarak yaşandığı alanlarda kullanılmaktadır.

SoC teknolojisinde, sistem içerisindeki birimler çoğunlukla bir donanım tanımlama dili (VHDL, VERILOG veya SystemC) yardımıyla ifade edilirler. Sistemin tanımlanma aşamasını takiben derleme ve davranışsal benzetim adımları gerçekleştirilir.

Sistemden beklenen cevapların elde edilmesiyle sistem üzerinde zamansal benzetim aşamasına geçilir. Bütün birimler, sentezleme ve yerleştirme işlemleri sonunda tekrar programlanabilir bir tümleşik devreye aktarılır. Sistemin uygulama aşamasında ise gerek büyük kapasiteleri ve gerekse de esnek yapılarından dolayı FPGA tümleşik devreleri tercih edilmektedir.


Field Programmable Gate Array (FPGA) genel olarak programlanabilir aygıt olarak tanımlanır. Programlanabilir aygıtlar, çok geniş bir uygulama yelpazesinde, bir uygulamaya özel olarak ayarlanabilen genel amaçlı çiplerdir. Geniş bir kullanım alanı bulan ilk programlanabilir aygıt Programmable Read Only Memory (PROM) çipleridir. Bir kere programlanabilen PROM çipleri iki basit sürümde gelir.

FPGA’lar tipik olarak SPLD ve CPLD’den daha yoğun bir yapıya sahip olmakla yapı olarak ayrılır. Bir FPGA, Lojik Blok dizisi ve Lojik Blok dizisini çevreleyen giriş çıkış birimlerinden oluşur. Birbirleri ile programlanabilen ara bağlantılar ile bağlıdır. Tipik bir FPGA altmış dörtten onbinlerceye kadar lojik blok ve flip-flop içerir. Çoğu FPGA lojik bloklar arasında tam bağlantı içermez (bunu sağlamak epeyce pahalıya malolur). Bunun için yazılmış bir yazılım ile PCB’de görülen otomatik yönlendirme gibi lojik bloklar arasındaki yönlendirmeyi yapar.

FPGA çipin genel bir tanımı olarak “Bir lojik blok dizisi, bu dizinin çevresinde bir halka oluşturan giriş çıkış birimleri ve bütün bu birimleri bağlayan programlanabilir ara bağlantılardan oluşan aygıttır” verilebilir. Bu grupta değişik alt mimariler geniş olarak bulunur. Bu çiplerin içerdiği lojik blokların yapabildiği lojik fonksiyonlar ve yönlendirmenin performansı, yoğunluğun ve performansın anahtarıdır.