Bu bölümde kısaca FPGA ile ilgili terimlerin anlamlarını vermeye çalıştım. FPGA ile ilgili teknik terimler hep İngilizce oldukları için Türkçe'sini yazamadıklarım oldu. Türkçelerini bulamadıklarım için kusura bakmayın.
Aslında bu terimlerin anlamları üzerinde daha fazla durulabilir fakat dediğim gibi çok İngilizce terim kullanmak gerektiği için ayrıntıların açıklamaları anlamsızlaştıracağını düşündüm. Ayrıntısını merak ettiğiniz terimin anlamını aşağıdaki yorum kısmından sorabilirsiniz.
Field Programmable Gate Array (Alan Programlanabilir Kapı Dizini)
İçerisinde birçok programlanabilir devre elemanına ve programlanabilir yollara sahip olan entegredir (chip,yonga). Programlanma özelliği sayesinde aynı FPGA ile farklı devreler (işlemci, ekran kartı, sayaç …) üretibilir.
İlgili Link: FPGA
Register Transfer Level
Dijital devreleri tanımlamak için kullanılan yüksek seviye donanım tanımlama dillerine verilen isimdir
Bir RTL dilidir.
Verilog'a yeni özellikler eklenerek oluşturulmuştur. Daha çok simulasyon için kullanılmasına rağmen, sentezlenebilir kodlar da yazılabilir.
C++ dilinin altkümesi kütüphanelerden oluşur. Simulasyon amaçlı kullanılan bir dildir. Aynı anda gerçekleşen olaylar simule edilebilir. İlgili Link: |SystemC|
RTL diliyle tanımlanmış devrenin And, Or, Flip-Flop gibi mantıksal devre elemanlarından ve bağlantılarından oluşan devrenin oluşturulmasıdır.
RTL sentezlendikten sonra çıkan devrenin FPGA kaynaklarını kullanacak hale getirildiği aşamaya Port-Translate denilebilir. Bu aşamada kaynakların gecikmelerini de hesaba katarak yapılan simulasyona denir.
Look-up table
Taramalı tablo, adreslenebilir bir RAM/ROM'dur. Her bir adrese bir değer yazılarak oluşturulan bu yapıya toplam adres kadar değer kaydedilebilir. FPGA'ler içerisinde combinatorial (kombinasyonal-katışımsal) olan AND/OR/XOR (ve/veya/yada) gibi yapıların oluşturulmasını sağlar
Digital Signal Processing Block (Sayısal İşaret İşleme Bloğu) / Multiply-Accumulate Block (Çarpma-Biriktirme Bloğu)
FPGA'lerin içerisinde çarpma ve toplama işlemlerini yapmak için kullanılan kısımlardır. Aslında bu işlemler VE/VEYA kapıları birleştirilerek de yapılabilir (eski FPGA'lerde böyledir) fakat bu durumda devrenin frekansı yüksek olamaz. Onun için çarpma ve toplama işlemlerinde bu işlemlere özel blokların kullanılması daha uygundur . Mesela Virtex-6'da çarpma işlemi bu blok ile 450 MHz gibi hızlarda yapılabilirken bu blok kullanılmadan yapılan aynı çarpma işleminin yapılabileceği en yüksek hız 50 Mhz'lere düşecektir. Sentez araçları eğer uygun kodlama yapılmışsa otomatik olarak DSP block'ları kullanır. Fakat FPGA'lerde bu blokların sayısı sınırlıdır ve sayıları arttıkça FPGA'in fiyatı da artar. İçlerindeki çarpma-biriktirme (multiply-accumulate) yapısı sayısal işaret işleme (digital signal processing = DSP) tekniklerine uygun olduğu için adına DSP blok denir.