FPGA

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај
Flip-chip pin grid array не треба да се поврзува со FPGA. За повеќе видете пакување на интегрални кола.
Altera Stratix II GX FPGA.

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

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

Историјат[уреди]

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

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

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

Во доцните 1980-ти Naval Surface Warfare Department ја почнал експериментот предложен од Стив Каселман за развој на компјутер кој шти ке вклучува 600,000 репрограматорки порти. Проектот бил испешен и системот бил патентиран во 1992.[2]

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

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

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

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

Скорешните трендови зеле курс на за однесување на архитектурниот пристап чекор понапред комбинирајки ги логичките блокови и меѓуповрзаности на традиционален 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[4]
  • 1992: 600,000, Naval Surface Warfare Department[2]
  • Рани 2000-ти: милиони [8]

Големина на пазарот

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

FPGA дазиајн почетоци


FPGA компарација[уреди]

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

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

Примена[уреди]

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

Архитектура[уреди]

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

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

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

Типичен логички блок

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

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

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

Податотека:F c.gif
меѓуповрзаност на рутните патеки со пиновите на логичкиот блок

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

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

Наводи[уреди]

  1. 1,0 1,1 FPGA Architecture for the Challenge
  2. 2,0 2,1 2,2 2,3 History of FPGAs
  3. Peter Clarke, EE Times, "Xilinx, ASIC Vendors Talk Licensing." 22 јуни, 2001. Retrieved 10 февруари, 2009.
  4. 4,0 4,1 4,2 4,3 4,4 4,5 Funding Universe. “Xilinx, Inc.” Retrieved 15 јануари, 2009.
  5. Clive Maxfield, Programmable Logic DesignLine, "Xilinx unveil revolutionary 65nm FPGA architecture: the Virtex-5 family. 15 мај, 2006. Retrieved 5 февруари, 2009.
  6. Google Patent Search, "Re-programmable PLA". Retrieved 5 февруари, 2009.
  7. Google Patent Search, "Dynamic data re-programmable PLA". Retrieved 5 февруари, 2009.
  8. 8,0 8,1 Clive Maxfield, book, "The Design Warrior's Guide to FPGAs".Published by Elsevier, 2004. ISBN 0-7506-7604-3, 9780750676045. Retrieved 5 февруари, 2009
  9. 9,0 9,1 Dylan McGrath, EE Times, "FPGA Market to Pass $2.7 Billion by '10, In-Stat Says". 24 мај, 2006. Retrieved 5 февруари, 2009.
  10. Narinder Lall, eASIC Corporation, "FPGA Judgment Day:Rise of Second Generation Structured ASICs. March, 2008. Retrieved 5 февруари, 2009.
  11. 11,0 11,1 Dylan McGrath, EE Times, "Gartner Dataquest Analyst Gives ASIC, FPGA Markets Clean Bill of Health". 13 јуни, 2005. Retrieved 5 февруари, 2009.
  12. Virtex-4 Family Overview
  13. Bob Pencek, Industrial Embedded Systems, "Reconfigurable Application-Specific Computing: How Hybrid Computer Systems using FPGAs are Changing Signal Processing". No Date. Retrieved 5 февруари, 2009.
  14. http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html