FPGA

:*[[Flip-chip pin grid array]] не треба да се поврзува со FPGA. За повеќе видете пакување на интегрални кола.*

  [thumb|300px|[Altera Stratix II GX FPGA.]]

**Field-programmable gate array** (FPGA) е полупроводникчки уред кој може да се конфигурира од страна на корисникот или дизајнерот по произведувањето. FPGA може да биде програмиран со употреба на дијаграми на логички кола или со изворен код преку јазик за опис на хардверот HDL за да се специфицира како треба да работи чипот. Може да се употреби за да се имплементира било која логичка функција што едно интегрално коло со специфична задача ASIC може да ја изврши, но можноста за ажурирање на функционалноста по доставата овозможува предности за многу апликации.

FPGA содржи програмабилни логички компоненти наречени "логички блокови", и хиерархија реконфигурабилни меѓуповрзаности што овозможуваат на блоковите да бидат "ожичени заедно". Логичките блокови може да бидат конфигурирани да извршуваат комплексни комбинациони функции, или едноставни логички порти како на пример И и XOR. Кај повеќето FPGA уреди, логичките блокови вклучуваат мемориски елементи.

## Историјат
FPGA индустријата изникнува од програмабилната read only меморија (PROM) и програмабилните логички уреди (PLD). PROM и PLD ја имале можноста да бидат програмирани во сериско производство или конфигурирани по производството, но сепак програмабилната логика била ожичена меѓу логичките порти.

Xilinx Соосновачите, Рос Фриман и Бернард Вондершмит, ја измислиле прватата комерцијална теренско програматорска низна порта во 1985 – XC2064. XC2064 имала програматорски порти и програматорски меѓуповрзаности помеѓу порти, тоа бил почетокот на нова технологија на пазарот. XC2064 содржела 64 конфигурациони логички порти (CLB), со три влеза прегледни таблици (LUT).

Некои од индустриските основни концепти и технологии за програматорски логички низи, порти и логички блокови сепатентирани на името на Дејвид В. Пејџ и Луверн Р. Петерсно во 1985.

Во доцните 1980-ти *Naval Surface Warfare Department* ја почнал експериментот предложен од Стив Каселман за развој на компјутер којшто ќе вклучува 600.000 репрограматорски порти. Проектот бил испешен и системот бил патентиран во 1992.

Xilinx продолжил со неоспорен развој и брз растеж од 1985 до средината на 1990-тите, кога конкуренцијата надминала. Веќе во 1993, Actel имал околу 18% од пазарот.

1990-тите биле експлозивен период за FPGA, во поглед на софистицираноста и волуменот на производство. Во раните 1990-ти, FPGA главно се користеле во телекомуникациите и мрежните поврзаности. Кон крајот на декадата, FPGA веќе изградиле и пат кон потрошувачите и индустриските апликативности.

FPGA се прославиле во 1997, кога Адријан Томпсон употребил технологија на генетски алгоритам и FPGA за да создаде уред за распознавање на глас. Томпсоновиот алгорита овозможил низа од 64 x 64 ќелии коритсјки Xilinx FPGA чип да одлучи која е потребната конфигурација за извршување на гласовни распознавачки задачи.

**Модерен развој**

Скорешните трендови зеле курс на за однесување на архитектурниот пристап чекор понапред комбинирајки ги логичките блокови и меѓуповрзаности на традиционален FPGA со приложни микрообработувачи и поврзани периферии за да формират комплетен "системна програмабилен чип". Оваа работа е огледало на архитектурата на Рон Перлоф и Хана Поташ од Burroughs Advanced Systems Group која комбинирала реконфигурабилна ЦПЕ архитектура на единичен чип наречен SB24. Таа работа била завршена во 1982. Примери ваква хибридна технологија може да биде видена и кај Xilinx Virtex-II PRO и Virtex-4 уредите, коишто вклучуваат еден или повеќе PowerPC обработувачи приложени во the FPGA логичка фабрика. Atmel FPSLIC е друг таков уред, кој користи AVR процесор во комбинација со Atmel програмабилна логичка архитектура.

Алтернативен приод користејки hard-macro обработувачи за да се искористи "софт" процесор јадра коишто се имплементирани во FPGA логика.
(Види "Софт Обработувачи", подолу).

Како што е претходно споменато, доста модерни FPGA ја имаат возможноста да бидат репрограмирани во "run time," и ова води до идејата за реконфигурабилно пресметување или реконфигурабилни ситеми — ЦПЕ коишто се реконфигурираат самите себе за да се прилагодат кон извршување задача. Mitrion Virtual Processor од Mitrionics е пример за реконфигурабилен софт процесор, имплементиран на FPGA. Сепак, не поддржува динамичка реконфигурација во runtime, но се адаптира себеси кон специфична програма.

**Порти**
* 1987: 9,000 порти, Xilinx
* 1992: 600,000, Naval Surface Warfare Department
* Рани 2000-ти: милиони 

**Големина на пазарот**
* 1985: Прва комерзијална FPGA технологија измислена од страна на Xilinx
* 1987: $14 милиони
* ~1993: >$385 милиони
* 2005: $1.9 билиони
* 2010 estimates: $2.75 billion 

**FPGA дазиајн почетоци**
* 10,000
* 2005: 80,000
* 2008:90,000
* 2010 estimates: 110,000

## FPGA компарација

Историски гледано, FPGA се бавни, помалки ефикасни по моќност и главно постигнуваат помалку функционалности од нивните ASIC соперници. Комбинацијата од зафатнина, подобрување на производството, развој и истражување, како и влезно-излезните можности на новите суперкомпјутери ја затвориле празнината меѓу ASIC и FPGA.

Основната разлика помеѓу CPLD и FPGA е архитектурна. CPLD има на некој начин рестриктивна структура состоејќи се од еден или повеќе пробрамабилни збир-од-производ логички низи поддржувајќи релативно мал број на тактирани регистри. Резултатот од ова е помалку флексибилност, со предноста што временските задоцнувања се попредвидливи и односот логика-меѓуповрзаност е поголем. Во FPGA архитектурата од друга страна од друга страна преовладуваат меѓуповрзаностите. Ова ги прави далеку пофлексибилни, но исто така и далеку покомплексни за дизајн.

## Примена

FPGA се применуваат во дигитална обработка на сигнали, софтверски-дефинирано радио, космички и одбранбени системи, моделирање на ASIC, медицински слики, компјутерска визија, распознавање на глас, криптографија, биоинформатика, емулација на компјутерски хардвер и друго.

## Архитектура
Нај застапената FPGA архитектура се состои од низ од конфигурабилни логички блокови (CLB), В/И падови, и рутни канали. Генерално, сите рутнимканали имаат иста тежина (број жици). Повеќе В/И падови може да се совпаднат со бројот редови или колони на низот.

Апликационо колко мора да биде мапирано во FPGA со адекватни ресурси. Додека бројот CLB и И/В кои се потребни се лесно определиви од дисајнот, бројот патеки кој е потребен може значајно да варира дури и кај дизајни со иста логика. Неискористените патеки ја накачуваат цената (и ги намалуваат перформанситеe) од делот којшто не бенифицира, FPGA произведувачите се обидуваат да достават онолку патеку колку што би биле потребни на дизајнерите во однос на искористената.

Класичен FPGA логичен блок се состои од 4 влеза lookup table (LUT), и flip-flop.

|400px|thumb|center|Типичен логички блок

Има само еден излез, регистер или нерегистриран излез. Логичкиот блок има 4 влеза и клок влез.

frame|center|Локации на пинови на логички блок

Секој влез е достапен од една страна на логичкиот блок, додека излезот може да се поврзува со рутни патеки и на истиот блокк или соседен.

frame|center|меѓуповрзаност на рутните патеки со пиновите на логичкиот блок

Аналогно, В/И пад може да се поврзува на било кој од жичните сегменти на адаптабилните канали до него. FPGA рутирањето е несегментирано. Секој жичен сегмент троши само еден логички блок пред да заврши во свич кутија. Било кога хоризонтален или вертикален канал да се препокрие, има свич ккутија. Во оваа архитектура, кога жица влезе во свич кутија има три свича коишто овозможуваат да се поврзува со дуги три жици.

frame|center|Топологија на свич кутијата

## Наводи

Категорија:Полуспроводници
Категорија:Американски пронајдоци
Категорија:Полуспроводнички елементи