FPGA

Из Википедије, слободне енциклопедије
Altera Stratix IV GX FPGA
Primer Xilinx Spartan 6 FPGA програмибилно/евалуационог кола

FPGA (енгл. Field-Programmable Gate Array) представља интегрисано коло пројектовано тако да се његова унутрашња структура може конфигурисати од стране крајњег корисника. Дефинисање унутрашње структуре FPGA компоненте се врши уз помоћ HDL (енгл. Hardware Description Language) језика или шематских дијаграма. Употреба FPGA компоненти је вишеструка, а основна је да се може користити за имплементацију било које логичке функције.

Архитектура и начин коришћења FPGA компоненте [уреди]

Свака FPGA компонента се састоји од великог броја идентичних логичких блокова (ћелија) и реконфигурабилних веза које омогућавају блоковима да буду међусобно повезани. Сваки логички блок, као независна јединица, може реализовати било коју Булову функцију из унапред ограниченог скупа Булових функција или једноставне логичке капије типа И, ИЛИ, XOR,... У већини FPGA компоненти логички блокови се састоје од меморијских елемената који могу бити једноставни флип-флопови или сложени меморијски блокови који су повезани жицама и програмабилним прекидачима.

Пројектовање од стране корисника се своди на спецификацију једноставне логичке функције за сваки логички блок појединачно и селекцију затварања прекидача у матрици међусобних веза. Низ логичких блокова и њихових међусобних веза формирају градивне блокове за креирање сложенијих дигиталних система.

Архитектура логичких блокова варира у зависности од различитих произвођача. Генерално говорећи, сваки логички блок комбинује неколико бинарних улаза (обично се тај број креће од 3 до 10) са један или два излаза у зависности од Булове логичке функције специфициране у корисничком програму. Код већине фамилија, корисник такође има могућност да упише жељену комбинацију излаза блока, тако да логика може бити једноставно имплементирана. Комбинациона логика логичког блока може бити имплементирана као мала енгл. Look-Up Table меморија (LUT) или као комбинација мултиплексера или логичких капија. LUT компоненте претендују да буду нешто флексибилније и обезбеђују више улаза логичком блоку него мултиплексери на штету времена пропагације.

Могућност конфигурисања FPGA компоненти омогућава кориснику пројектовање сложених дигиталних система ослобођено високих трошкова развоја који су неминовни када се користе АСИЦ компоненте. У зависности од врсте FPGA компоненте, конфигурациони фајл се трајно или краткотрајно спушта у компоненту или се учитава из спољашње меморије сваки пут када се активира напајање компоненте.

Дефинисање свих веза и функција логичких капија представља тежак и сложен задатак. На срећу, овај задатак је олакшан посебних софтвером који преводи шематски дијаграм кориника или програм написан у HDL језику у скуп међусобно повезаних логичких блокова, а затим врши њихово распоређивање и повезивање по FPGA чипу. Већина софтверских алата има ту предност да дозвољавају кориснику управљање имплементацијом, распоређивањем и повезивањем како би се обезбедиле боље перформансе и искоришћеност FPGA компоненте. Библиотеке комплекснијих функција макроа (на пример сабирача) додатно поједностављују сам процес пројектовања омогућујући коришћење оптимизованих кола у погледу брзине и логичких ресурса за имплементацију често коришћених функција.

Произвођачи FPGA компоненти [уреди]

Тренутно главне произвођаче FPGA компоненти на тржишту чине компаније Xilinx и Altera. Заједно контролишу преко 80% тржишта, а сам Xilinx преко 50% читавог тржишта.

Компаније које такође производе FPGA компоненте су: Lattice Semiconductor, Actel, Atmel, SiliconBlue Technologies, QuickLogic i Achronix.

У марту 2010. године две компаније, Tier Logic i Tabula, су објавиле своје нове FPGA технологије.

Спољашње везе [уреди]

Викиостава
Викимедијина остава има још мултимедијалних датотека везаних за: ФПГА