Далалық бағдарламаланатын қақпа массиві - Википедия - Field-programmable gate array

A далалық бағдарламаланатын қақпа массиві (FPGA) болып табылады интегралды схема тапсырыс беруші немесе дизайнер өндіргеннен кейін конфигурациялауға арналған - демек, «өрісте бағдарламаланатын «. FPGA конфигурациясы әдетте жабдықты сипаттау тілі Үшін қолданылғанға ұқсас (HDL) қолданбалы интегралды схема (ASIC). Электр схемалары бұрын конфигурацияны көрсету үшін қолданылған, бірақ пайда болуына байланысты бұл сирек кездеседі электронды жобалауды автоматтандыру құралдар.

Спартандық FPGA Ксилинкс

FPGA құрамында массив бар бағдарламаланатын логикалық блоктар, және әртүрлі конфигурацияларда сымды байланыстыруға болатын көптеген логикалық қақпалар сияқты блоктарды «сыммен байланыстыруға» мүмкіндік беретін «қайта конфигурацияланатын өзара байланыстар» иерархиясы. Логикалық блоктар күрделі орындау үшін конфигурациялауға болады комбинациялық функциялар, немесе қарапайым логикалық қақпалар сияқты ЖӘНЕ және XOR. Көптеген FPGA-да логикалық блоктар да бар жад элементтері, бұл қарапайым болуы мүмкін резеңке шәркелер немесе одан да көп жады блоктары.[1] Әр түрлі енгізу үшін көптеген FPGA-ны қайта бағдарламалауға болады логикалық функциялар,[2] икемділік қайта конфигурацияланатын есептеу сияқты орындалды компьютерлік бағдарламалық жасақтама.FPGA мүмкіндіктердің арқасында ендірілген жүйені дамытуда ерекше рөлге ие[3] жүйенің бағдарламалық жасақтамасын (БҚ) дамуды аппараттық құралмен (HW) бір уақытта бастау, дамудың өте ерте кезеңінде жүйенің өнімділігін модельдеуге мүмкіндік беру және жүйенің архитектурасын түпкілікті мұздатуға дейін жүйені бөлудің (SW және HW) сынақтары мен қайталануларына мүмкіндік беру.

Техникалық жобалау

Бағдарламаланатын заманауи далалық массивтер (FPGA) үлкен ресурстарға ие логикалық қақпалар және күрделі сандық есептеулерді жүзеге асыруға арналған RAM блоктары.[2] FPGA жобаларында енгізу / шығару жылдамдығы мен екі бағытты деректер өте тез қолданылады автобустар, орнату уақытында және күту уақытында жарамды деректердің дұрыс уақытын тексеру қиынға соғады.

Еденді жоспарлау осы шектеулерді қанағаттандыру үшін FPGA ішінде ресурстарды бөлуге мүмкіндік береді. FPGA-ны кез-келген логикалық функцияны іске асыру үшін пайдалануға болады ASIC орындай алады. Жеткізуден кейін функционалдылықты жаңарту мүмкіндігі, ішінара қайта конфигурациялау дизайнның бір бөлігі[4] және ASIC дизайнымен салыстырмалы түрде төмен инженерлік шығындар (бірліктің жалпы құнына қарамастан) көптеген қосымшалар үшін артықшылықтар ұсынады.[1]

Кейбір FPGA-да сандық функциялардан басқа аналогтық мүмкіндіктер бар. Ең көп таралған аналогтық функция - бағдарламаланатын өлтіру жылдамдығы әр шығыс түйреуішке, бұл инженерге аз жүктелген түйреуіштерге төмен ставкаларды орнатуға мүмкіндік береді, әйтпесе сақина немесе жұп қолайсыз және жоғары жылдамдықты каналдардағы қатты жүктелген түйреуіштерге жоғары ставкаларды орнату керек, әйтпесе олар өте баяу жүреді.[5][6] Сондай-ақ кварц-кристалды осцилляторлар, чиптегі кедергі-сыйымдылықты осцилляторлар және циклмен жабылатын ілмектер ендірілген кернеу басқарылатын осцилляторлар сағат генерациясы мен басқару үшін және жоғары жылдамдықты сериализатор-десериализатор үшін (SERDES) беріліс сағаттары мен қабылдағыш сағаттарын қалпына келтіру үшін қолданылады. Дифференциалды болып табылады компараторлар қосылуға арналған кіріс түйреуіштерінде дифференциалды сигнал беру арналар. Бірнеше »аралас сигнал FPGA »интеграцияланған перифериялық құрылғыға ие аналогты-сандық түрлендіргіштер (ADC) және аналогты цифрлық түрлендіргіштер (DAC) ретінде жұмыс істеуге мүмкіндік беретін аналогтық сигналды кондиционерлеу блоктары бар чипке арналған жүйе (SoC).[7] Мұндай құрылғылар ішкі бағдарламаланатын интерконнект матасында цифрлық және нөлдік белгілерді алып жүретін FPGA арасындағы сызықты анықтамайды және өрісте бағдарламаланатын аналогтық массив (FPAA), ол ішкі бағдарламаланатын интерконнект матасында аналогтық мәндерді алып жүреді.

Тарих

FPGA индустриясы өсіп шықты бағдарламаланатын жад (PROM) және бағдарламаланатын логикалық құрылғылар (PLD). PROM және PLD-дің екеуі де зауытта немесе далада (далалық бағдарламаланатын) топтамалық түрде бағдарламаланатын болады. Алайда, бағдарламаланатын логика логикалық қақпалар арасында өте қиын болды.[8]

Альтера 1983 жылы құрылды және салада алғашқы қайта бағдарламаланатын логикалық құрылғыны - EP300 - жеткізді, ол пакеттегі кварцтық терезені ұсынды, бұл қолданушыларға ультра күлгін шамды матрицаға өшіруге мүмкіндік берді EPROM құрылғының конфигурациясын өткізетін ұяшықтар.[9] 2015 жылдың желтоқсанында, Intel Альтераны сатып алды.

Ксилинкс тең құрылтайшылар Росс Фриман және Бернард Вондершмитт бағдарламалық сипаттағы алғашқы коммерциялық тиімді өрісті ойлап тапты қақпа массиві 1985 жылы - XC2064.[10] XC2064-те бағдарламаланатын қақпалар және қақпалар арасындағы бағдарламаланатын өзара байланыстар, жаңа технология мен нарықтың бастаулары болды.[11] XC2064-те 64 конфигурацияланатын логикалық блоктар (CLB) болды, екі үш кірісті іздеу кестелері (LUT).[12] 20 жылдан астам уақыттан кейін Фриманға кірді Ұлттық өнертапқыштар даңқы залы оның өнертабысы үшін.[13][14]

1987 жылы Әскери-теңіз соғыс орталығы 60000 қайта бағдарламаланатын қақпаларды жүзеге асыратын компьютерді жасау үшін Стив Кассельман ұсынған экспериментті қаржыландырды. Кассельман сәтті болып, жүйеге қатысты патент 1992 жылы шығарылды.[8]

Альтера мен Ксилинкс еш қиындықсыз жалғасып, 1985 жылдан бастап 1990-жылдардың ортасына дейін, бәсекелестер өсіп, нарықтың едәуір үлесін төмендетіп, тез өсті. 1993 жылға қарай Актель (қазір Микросемия ) нарықтың шамамен 18 пайызына қызмет көрсетті.[11] 2013 жылға қарай Altera (31 пайыз), Actel (10 пайыз) және Xilinx (36 пайыз) FPGA нарығының шамамен 77 пайызын құрады.[15]

1990 жылдар FPGA-лар үшін схеманың жетілдірілуінде де, өндіріс көлемінде де жедел өсу кезеңі болды. 1990 жылдардың басында FPGA негізінен қолданылды телекоммуникация және желілік. Онжылдықтың соңында FPGA тұтынушылық, автомобильдік және өндірістік қосымшаларға жол тапты.[16]

Майкрософт сияқты компаниялар FPGA-ны өнімділігі жоғары, есептеу қарқынды жүйелерін жеделдету үшін қолдана бастады (мысалы деректер орталықтары олар жұмыс істейді Bing іздеу жүйесі ) байланысты бір ваттға өнімділігі артықшылықты FPGA жеткізеді.[17] Майкрософт FPGA-ны қолдана бастады тездету Bing 2014 жылы, ал 2018 жылы FPGA-ді басқа деректер орталығының жұмыс жүктемелеріне орналастыруды бастады Көгілдір бұлтты есептеу платформа.[18]

Интеграция

2012 жылы өрескел архитектуралық тәсілді одан әрі үйлестіру арқылы алды логикалық блоктар және дәстүрлі FPGA-ның ендірілген өзара байланысы микропроцессорлар толығымен қалыптастыру үшін және оған қатысты перифериялық құрылғылар «бағдарламаланатын чиптегі жүйе «. Бұл жұмыс 1982 жылы Рон Перлофф пен Burroughs Advanced Systems Group компаниясының Ханан Поташ жасаған архитектурасын бейнелейді, ол қайта қалпына келтірілетінді біріктіреді. CPU архитектурасы SB24 деп аталатын жалғыз чипте.[19]

Мұндай гибридті технологиялардың мысалдарын Ксилинкс Zynq-7000 барлығы Бағдарламаланатын SoC,[20] оған 1,0 кіредіГГц қос ядролы ARM Cortex-A9 MPCore процессоры ендірілген FPGA логикалық матасында[21] немесе Альтера 800 МГц қамтитын Arria V FPGA қос ядролы ARM Cortex-A9 MPCore. The Атмель FPSLIC - тағы бір осындай құрылғы AVR процессор Atmel бағдарламаланатын логикалық архитектурасымен үйлеседі. The Микросемия SmartFusion құрылғыларда ARM Cortex-M3 қатты процессорының ядросы бар (512 кБ дейін) жарқыл және 64 кБ жедел жады) және аналогтық перифериялық құрылғылар көп арналы сияқты аналогты-сандық түрлендіргіштер және аналогты цифрлық түрлендіргіштер оларға жедел жад FPGA негізіндегі мата.

A Ксилинкс Zynq-7000 чиптегі барлық бағдарламаланатын жүйе.

Жұмсақ өзек

Қатты макро процессорларды қолданудың балама тәсілі - пайдалану жұмсақ процессор IP ядролары FPGA логикасы шеңберінде жүзеге асырылады. Nios II, MicroBlaze және Mico32 танымал үлгілері болып табылады softcore процессорлары. Көптеген қазіргі заманғы FPGA-лар «іске қосу уақытында» бағдарламаланған, бұл идеяға әкелді қайта конфигурацияланатын есептеу немесе қайта конфигурацияланатын жүйелер - CPU өздерін қойылған тапсырмаға сәйкес етіп қайта жасайтындар. Сонымен қатар, FPGA емес жаңа архитектуралар пайда бола бастайды. Stretch S5000 сияқты бағдарламалық жасақтамамен реттелетін микропроцессорлар бір чипте процессорлар мен FPGA-ға ұқсас бағдарламаланатын ядролар жиымын беру арқылы гибридтік тәсілді қолданады.

Хронологиялар

Гейтс

  • 1987: 9000 қақпа, Ксилинкс[11]
  • 1992: 600,000, теңіз бетіндегі соғыс бөлімі[8]
  • 2000 жылдардың басында: Миллиондар[16]
  • 2013: 50 миллион, Ксилинкс[22]

Нарық мөлшері

  • 1985: Бірінші коммерциялық FPGA: Xilinx XC2064[10][11]
  • 1987: 14 миллион доллар[11]
  • ≈1993:> $ 385 млн[11]
  • 2005: 1,9 миллиард доллар[23]
  • 2010 жылғы бағалау: 2,75 миллиард доллар[23]
  • 2013 жыл: $ 5,4 млрд[24]
  • 2020 бағалау: $ 9,8 млрд[24]

Дизайн басталады

A жобалаудың басталуы бұл FPGA-да іске асыруға арналған жаңа тапсырыс.

Салыстырулар

ASIC-ке

Тарихи тұрғыдан алғанда, FPGA баяу болды, энергияны үнемдейді және жалпыға қарағанда аз жұмыс істейді ASIC әріптестер. Ескі зерттеу[қашан? ] FPGA-да жүзеге асырылатын конструкциялар орташа есеппен 40 есе көп алаңға, 12 есе көп динамикалық қуатқа және сәйкесінше ASIC енгізу жылдамдығының үштен бір бөлігіне қажет екенін көрсетті.[дәйексөз қажет ]

Жақында, сияқты FPGA Ксилинкс Virtex-7 немесе Альтера Stratix 5 сәйкес интерактивті USB интерфейсі сияқты ASIC және ASSP-ге сәйкес келеді («қосымшаға арналған стандартты бөлік»).[27]) шешімдер айтарлықтай төмендетілген қуатты пайдалану, жылдамдықтың жоғарылауы, материалдың арзандығы, жылжымайтын мүліктің минималды сатылымы және «ұшу кезінде» қайта конфигурациялаудың мүмкіндігі. 6-дан 10-ға дейінгі ASIC дизайнын тек бір FPGA көмегімен алуға болады.[28]

FPGA-дің артықшылықтары бұрын орналастырылған кезде қайта бағдарламалау мүмкіндігін (мысалы, «өрісте») қателер және көбінесе қысқа болады нарыққа шығу уақыты және төменгі қайталанбайтын инженерия шығындар. Сатушылар сонымен қатар орта жолмен жүре алады FPGA прототипі: FPGA-да олардың прототиптік жабдықтарын әзірлеу, бірақ соңғы нұсқасын ASIC ретінде жасап шығарыңыз, сонда дизайн жасалғаннан кейін оны енді өзгертуге болмайды. Бұл көбінесе процессордың жаңа дизайнына қатысты.[29]

Трендтер

Xilinx нарық пен технологияның бірнеше динамикасы 2009 жылдың ақпанындағы ASIC / FPGA парадигмасын өзгертеді деп мәлімдеді:[30]

Бұл үрдістер FPGA-ны ASIC-тен гөрі бұрынғыдан көп көлемді қосымшалар үшін жақсы альтернатива етеді, оған компания FPGA дизайнының өсіп келе жатқандығын айтады (қараңыз) § Тарих ).[30]

Кейбір FPGA мүмкіндіктері бар ішінара қайта конфигурациялау құрылғының бір бөлігі қайта бағдарламаланып, басқа бөліктер жұмыс істей береді.[31][32]

Кешенді бағдарламаланатын логикалық құрылғылар (CPLD)

Арасындағы алғашқы айырмашылықтар күрделі бағдарламаланатын логикалық құрылғылар (CPLD) және FPGA болып табылады сәулеттік. CPLD бір немесе бірнеше бағдарламаланатыннан тұратын салыстырмалы түрде шектейтін құрылымға ие өнім жиынтығы сағаттың салыстырмалы түрде аз мөлшерін беретін логикалық массивтер тіркеушілер. Нәтижесінде CPLD-лар икемділігі төмен, бірақ олардың болжамды жақтарының артықшылығы бар уақытты кешіктіру және логика мен байланыстырудың жоғары қатынасы.[дәйексөз қажет ] FPGA архитектуралары, екінші жағынан, басым өзара қосу. Бұл оларды әлдеқайда икемді етеді (олар үшін қолдануға ыңғайлы дизайн ауқымына қатысты), сонымен бірге жобалау үшін әлдеқайда күрделі немесе, ең болмағанда, одан да күрделі талап етеді электронды жобалауды автоматтандыру (EDA) бағдарламалық жасақтама.

Іс жүзінде, FPGA және CPLD арасындағы айырмашылық көбінесе үлкен мөлшерде болады, өйткені FPGA әдетте CPLD-ге қарағанда ресурстар жағынан әлдеқайда көп. Әдетте тек FPGA-да күрделі болады ендірілген функциялар сияқты қосуыштар, көбейткіштер, жады, және сериализатор / десериализаторлар. Тағы бір жалпы айырмашылық - CPLD ішіне кіріктірілген кіреді жедел жад олардың конфигурациясын сақтау үшін, әдетте FPGA сыртқы қажет тұрақты жад (бірақ әрдайым емес).

Дизайн қарапайым жылдамдықты қажет ететін кезде (логика қуаттылық кезінде конфигурацияланған) Әдетте CPLD-ға артықшылық беріледі. Көптеген басқа қосымшалар үшін әдетте FPGA-ға артықшылық беріледі. Кейде CPLD де, FPGA да бір жүйенің дизайнында қолданылады. Бұл конструкцияларда CPLD әдетте желімнің логикалық функцияларын орындайды және «жүктеу »FPGA, сондай-ақ бақылау қалпына келтіру және толық схеманың жүктелу реті. Сондықтан, қолдануға байланысты FPGA-ны да, CPLD-ді де бір дизайнда қолдану ақылға қонымды болуы мүмкін.[33]

Қауіпсіздік мәселелері

FPGA-лардың ASIC немесе қауіпсіз микропроцессорлармен салыстырғанда артықшылықтары мен кемшіліктері бар аппараттық қауіпсіздік. FPGA икемділігі кезінде зиянды модификацияларды жасайды ойдан шығару төмен тәуекел.[34] Бұрын көптеген FPGA-лар үшін дизайн ағын FPGA оны сыртқы жадтан жүктеген кезде пайда болды (әдетте кез келген қосылымда). Қазір барлық ірі FPGA жеткізушілері битстрим сияқты дизайнерлерге бірқатар қауіпсіздік шешімдерін ұсынады шифрлау және аутентификация. Мысалға, Альтера және Ксилинкс ұсыныс AES сыртқы флэш-жадта сақталған бит ағындарына арналған шифрлау (256 битке дейін).

Сияқты конфигурацияны ішкі флэш-жадыда сақтайтын FPGA-лар Микросемия ProAsic 3 немесе Тор Бағдарламаланатын XP2 құрылғылары, ағынды шығармаңыз және қажет емес шифрлау. Сонымен қатар, а іздеу кестесі қамтамасыз етеді бір оқиға ренжіді ғарыштық қосымшаларды қорғау.[түсіндіру қажет ] Бұзушылыққа төзімділіктің жоғары кепілдігін алғысы келетін клиенттер бір рет жазуды қолдана алады, антифузия Сияқты сатушылардан FPGA Микросемия.

Stratix 10 FPGAs және SoC-мен, Альтера Қауіпсіз құрылғылар менеджерін және физикалық шабуылдан қорғаудың жоғары деңгейін қамтамасыз ететін физикалық тұрғыдан қолайсыз функцияларды енгізді.[35]

2012 жылы зерттеушілер Сергей Скоробогатов пен Кристофер Вудс FPGA-лар дұшпандық ниетке осал болуы мүмкін екенін көрсетті. Олар критикалықты тапты артқы есік осалдық кремнийде Actel / Microsemi ProAsic 3 құрамында шығарылған, оны криптоны қайта бағдарламалау сияқты көптеген деңгейлерде осал етеді. кіру кілттері, шифрланбаған бит ағынына қол жеткізу, өзгерту төменгі деңгей кремнийдің ерекшеліктері және оны алу конфигурация деректер.[36]

Қолданбалар

FPGA кез келген мәселені шешу үшін қолданыла алады есептелетін. Бұл FPGA-ді a жұмсақ микропроцессор, мысалы, Xilinx MicroBlaze немесе Альтера Nios II. Олардың артықшылығы - кейбір қосымшалар үшін олардың жылдамдығына байланысты параллель табиғат және оңтайлылық белгілі бір процестерге қолданылатын қақпалардың саны бойынша.[37]

FPGA бастапқыда бәсекелес ретінде басталды CPLD іске асыру желім логикасы үшін баспа платалары. Олардың мөлшері, мүмкіндіктері мен жылдамдығы жоғарылаған сайын, FPGA-лар қосымша функцияларды кейбіреулерін қазір толық деп сататын деңгейге дейін қабылдады. чиптердегі жүйелер (SoCs). Атап айтқанда, арнайы енгізілген көбейткіштер 1990 жылдардың аяғында FPGA архитектурасына дәстүрлі түрде жалғыз резерв болып табылатын қосымшалар цифрлық сигнал процессорының аппараттық құралы (DSP) орнына FPGA-ны енгізе бастады.[38][39]

FPGA-ны қолданудың тағы бір тенденциясы болып табылады аппараттық жеделдету, мұнда алгоритмнің белгілі бір бөліктерін жеделдету және FPGA мен жалпы процессор арасындағы есептеу бөлігін бөлу үшін FPGA пайдалануға болады.[2] Іздеу жүйесі Bing іздеу алгоритмі үшін FPGA жеделдетуін 2014 жылы қабылдағаны үшін атап өтілді.[40] 2018 жылғы жағдай бойынша, FPGA пайдаланудың көбеюін көріп отыр ИИ үдеткіштері оның ішінде Microsoft деп аталатын «Project Catapult»[18] және жеделдету үшін жасанды нейрондық желілер үшін машиналық оқыту қосымшалар.

Дәстүр бойынша[қашан? ] FPGA арнайы сақталған тік қосымшалар мұнда өндіріс көлемі аз. Осы аз көлемді қосымшалар үшін компаниялардың бағдарламаланатын микросхема үшін аппараттық шығындарға төлейтін ақысы ASIC құруға жұмсалған даму ресурстарына қарағанда қол жетімді. 2017 жылғы жағдай бойынша, жаңа шығындар мен өнімділік динамикасы өміршең қосымшалардың аясын кеңейтті.

Компания Гигабайт i-RAM картасын жасады, ол Xilinx FPGA-ны қолданды, дегенмен тапсырыс бойынша жасалған чип көп мөлшерде жасалса арзан болады. FPGA оны тез нарыққа шығару үшін таңдалды, ал бастапқыда FPGA-ны ең жақсы таңдау ететін 1000 бірлік болуы керек. Бұл құрылғы адамдарға компьютердің ram-ін қатты диск ретінде пайдалануға мүмкіндік береді. [41]

Жалпы қосымшалар

Сәулет

Логикалық блоктар

Логикалық ұяшықтың жеңілдетілген мысалы иллюстрациясы (LUT - Іздеу кестесі, FA - Толық толықтырғыш, DFF - D типті флип-флоп )

Ең кең таралған FPGA архитектурасы массивтен тұрады логикалық блоктар,[1 ескерту] I / O алаңдары және арналарды бағыттау.[1] Әдетте, барлық маршруттау арналарының ені бірдей (сымдар саны). Бірнеше енгізу-шығару алаңдары массивтің бір жолының биіктігіне немесе бір бағанның еніне сәйкес келуі мүмкін.

Қолданба схемасы тиісті ресурстармен FPGA-ға түсірілуі керек. Қажетті CLB / LAB және I / Os саны дизайннан оңай анықталса да, қажет болатын маршруттау жолдарының саны логикасы бірдей дизайндарда да айтарлықтай өзгеруі мүмкін.[2 ескерту]

Мысалы, а көлденең тірек қосқышы а-ға қарағанда әлдеқайда көп маршруттауды қажет етеді систолалық массив бірдей қақпа есебімен. Пайдаланылмаған маршруттау тректері бөлшектің құнын арттырады (және өнімділікті төмендетеді), ешқандай пайда әкелмейтіндіктен, FPGA өндірушілері тек көптеген тректерді ұсынуға тырысады, осылайша көптеген дизайндар сәйкес келуі мүмкін іздеу кестелері (LUT) және I / Os болуы мүмкін бағытталды.[2 ескерту] Бұл алынған сияқты бағалаулармен анықталады Жалға алу ережесі немесе қолданыстағы жобалармен тәжірибе жасау арқылы. 2018 жылғы жағдай бойынша, чиптегі желі маршруттау мен өзара байланыстыруға арналған архитектуралар жасалуда.

Жалпы, логикалық блок бірнеше логикалық ұяшықтардан тұрады (ALM, LE деп аталады, тілім т.б.). Әдеттегі ұяшық 4 кірісті LUT-тен тұрады[Уақыт шеңберінде? ], а толық қосылғыш (FA) және a D типті флип-флоп, жоғарыда көрсетілгендей. LUT-дар осы суретте екі 3-кірісті LUT-ге бөлінген. Жылы қалыпты режим сол жақ арқылы 4 кірісті LUT-қа біріктіріледі мультиплексор (mux). Жылы арифметикалық режимінде, олардың нәтижелері қосымшаға беріледі. Режимді таңдау MUX ортасында бағдарламаланған. Нәтиже де болуы мүмкін синхронды немесе асинхронды, суреттің мысалында оң жақтағы mux бағдарламалауына байланысты. Іс жүзінде толықтауыш немесе оның бөліктері болып табылады функциялар ретінде сақталады сақтау үшін LUT ішіне салыңыз ғарыш.[44][45][46]

Қатты блоктар

Қазіргі заманғы FPGA отбасылары жоғарыда аталған мүмкіндіктерді кеңейтіп, кремнийде бекітілген жоғары деңгейлі функционалдылықты қамтиды. Тізбектегі осы жалпы функциялардың болуы қажетті ауданды азайтады және оларды логикалық примитивтерден құрумен салыстырғанда жылдамдықты арттырады. Бұған мысалдар келтіруге болады көбейткіштер, жалпы DSP блоктары, ендірілген процессорлар, жоғары жылдамдықты енгізу-шығару логикасы және ендірілген естеліктер.

Жоғары деңгейдегі FPGA жоғары жылдамдықты қамтуы мүмкін көп гигабиттік трансиверлер және қатты IP ядролары сияқты процессор ядролары, Ethernet орташа қол жетімділікті басқару блоктары, PCI /PCI Express контроллерлер және сыртқы жад контроллері. Бұл ядролар бағдарламаланатын матамен қатар жүреді, бірақ олар дайын емес транзисторлар LUT орнына ASIC деңгейіне ие өнімділік және қуат тұтыну мата ресурстарының едәуір мөлшерін тұтынбай, матаның көп бөлігін қолданбалы логика үшін бос қалдырады. Сондай-ақ, көп гигабитті трансиверлерде жоғары жылдамдықты серияландырғыштар мен десериализаторлармен қатар LUT-дан құрастыруға болмайтын компоненттермен бірге жоғары өнімді аналогтық кіріс және шығыс схемасы бар. Сияқты жоғары деңгейлі физикалық деңгей (PHY) функционалдығы сызықтық кодтау FPGA-ға байланысты қатаң логикада сериализаторлар мен десериализаторлармен қатар жүзеге асырылуы немесе болмауы мүмкін.

Сағаттау

FPGA ішіне салынған тізбектің көп бөлігі синхронды схема болып табылады, ол үшін сағаттық сигнал қажет. FPGA-да сағат тіліне және қалпына келтіруге арналған ғаламдық және аймақтық маршрутизация желілері бар, сондықтан оларды минималды жеткізуге болады қисаю. Сондай-ақ, FPGA құрамында аналог бар фазалық құлып және / немесе кешіктірілген құлып синтездеуге арналған компоненттер сағаттық жиіліктер сонымен қатар әлсірету дірілдеу. Кешенді конструкцияларда әр түрлі жиіліктік және фазалық қатынастары бар бірнеше сағаттарды қолдануға болады, олардың әрқайсысы бөлек сағат домендері. Бұл сағаттық сигналдарды осциллятор жергілікті түрде құра алады немесе оларды жылдамдықты сериялық ағыннан қалпына келтіруге болады. Құрылыс кезінде абай болу керек сағат доменінің қиылысы болдырмау үшін электр тізбегі метаболімділік. FPGA-да әдетте жұмыс істеуге қабілетті блоктық жедел жады бар қосарланған жедел жад ғимаратты салуға көмектесетін әр түрлі сағаттармен ФИФО және әр түрлі сағаттық домендерді қосатын екі портты буфер.

3D архитектуралары

FPGA көлемін және қуат тұтынуын азайту үшін, мысалы, жеткізушілер Табула және Ксилинкс енгізді 3D немесе қабаттасқан архитектуралар.[47][48] Оның енгізілуінен кейін 28 нм 7 сериялы FPGA-лар, Xilinx бұл FPGA өнім желілеріндегі ең жоғары тығыздықтағы бөлшектердің біреуі бірнеше пакеттерде, 3D құрылыс үшін құрастырылған технологияны және бір-біріне жиналатын құрастырмаларды қолдана отырып жасалады деп мәлімдеді.

Xilinx-тің жақындауы бірнеше (үш немесе төрт) белсенді FPGA кремнийінде қатарласып тұрады интерпозер - пассивті байланыстыратын кремнийдің бір бөлігі.[48][49] Көп өлімді конструкция сонымен қатар FPGA-ның әр түрлі бөліктерін әртүрлі технологиялық технологиялармен жасауға мүмкіндік береді, өйткені процесс талаптары FPGA матасының өзі мен өте жоғары жылдамдықтағы 28 Гбит / с сериялы трансиверлері арасында әр түрлі. Осылайша салынған FPGA а деп аталады гетерогенді FPGA.[50]

Альтераның гетерогенді тәсілі бір монолитті FPGA матрицасын қолдануды және басқа матрицаларды / технологияларды FPGA-ға Intel-дің кірістірілген көп өлі аралығын қосу көпірі (EMIB) технологиясын қолдана отырып қосады.[51]

Дизайн және бағдарламалау

FPGA тәртібін анықтау үшін пайдаланушы a-да дизайн ұсынады жабдықты сипаттау тілі (HDL) немесе а схемалық жобалау. HDL формасы үлкен құрылымдармен жұмыс істеуге ыңғайлы, өйткені әр бөлшекті қолмен салудың орнына жоғары деңгейлі функционалды мінез-құлықты көрсетуге болады. Дегенмен, схемалық жазба дизайн мен оның компонентін көрнекілендіруге мүмкіндік береді модульдер.

Пайдалану электронды жобалауды автоматтандыру технология, картаға түсірілген құрал желі тізімі жасалады. Содан кейін желі тізімі деп аталатын процесті қолдана отырып, нақты FPGA архитектурасына сәйкес келуі мүмкін орын және маршрут, әдетте FPGA компаниясының орын мен маршруттың жеке бағдарламалық жасақтамасы орындайды. Пайдаланушы картаны, орынды және маршрут нәтижелерін тексереді уақытты талдау, модельдеу, және басқа да тексеру және тексеру әдістемелер. Жобалау және растау процесі аяқталғаннан кейін, әдетте FPGA жеткізушісінің меншікті бағдарламалық жасақтамасын қолдана отырып жасалынған екілік файл FPGA-ны қайта конфигурациялау үшін қолданылады. Бұл файл aPG арқылы FPGA / CPLD-ге жіберіледі сериялық интерфейс (JTAG ) немесе сыртқы жад құрылғысына EEPROM.

Ең көп таралған HDL VHDL және Верилог сияқты кеңейтімдер сияқты SystemVerilog. Алайда, HDL-де жобалаудың күрделілігін төмендетуге тырысып, оны эквивалентімен салыстырды құрастыру тілдері, қозғалыстар бар[кім? ] көтеру абстракция деңгейі енгізу арқылы баламалы тілдер. Ұлттық аспаптар ' Зертханалық шолу графикалық бағдарламалау тілінде (кейде «G» деп те аталады) FPGA аппаратурасын мақсатты түрде бағдарламалау үшін FPGA қондырмасы бар. Верилог HDL-ді неғұрлым берік және икемді ету процесін жеңілдету үшін жасалған. Қазіргі уақытта ең танымал верилог болып табылады. Верилог оны іске асырудың аяқ-қолының бөлшектерін жасыру үшін абстракция деңгейін жасайды. Verilog-те VHDL-ге қарағанда C-ге ұқсас синтаксис бар. [52]

FPGA-да күрделі жүйелерді жобалауды жеңілдету үшін алдын-ала анықталған күрделі функциялар мен схемалардың кітапханалары бар, олар жобалау процесін жеделдету үшін сыналған және оңтайландырылған. Бұл алдын-ала анықталған тізбектер әдетте аталады зияткерлік меншік (IP) ядролары, және FPGA жеткізушілерінен және үшінші тарап IP жеткізушілерінен алуға болады. Олар сирек ақысыз, әдетте меншік лицензиялары бойынша шығарылады. Басқа алдын-ала анықталған схемалар сияқты әзірлеушілер қауымдастығынан алуға болады OpenCores (әдетте астында шығарылады ақысыз және ашық ақпарат көзі сияқты лицензиялар GPL, BSD немесе ұқсас лицензия), және басқа да көздер. Мұндай дизайндар «ашық бастапқы жабдық."

Әдеттегідей жобалық ағын, FPGA қосымшасын жасаушы жобалау процесінде дизайнды бірнеше сатыда модельдейді. Бастапқыда RTL сипаттамасы VHDL немесе Верилог құру арқылы имитацияланады сынақ орындықтары жүйені имитациялау және нәтижелерді байқау. Содан кейін, кейін синтез қозғалтқыш дизайнды желі тізіміне түсірді, желі тізімі а-ға аударылады қақпа деңгейі синтезді растау үшін модельдеу қайталанатын сипаттама, қатесіз жүрді. Соңында дизайн FPGA-да орналасады, сол кезде көбеюдің кідірісі қосуға болады және модельдеу осы мәндермен қайта іске қосылады артқа түсіндірме желі тізіміне.

Жақында, OpenCL (Open Computing Language) бағдарламашылар FPGA қамтамасыз ететін өнімділік пен қуат тиімділігін пайдалану үшін қолданылады. OpenCL бағдарламашыларға C бағдарламалау тілінде кодты әзірлеуге және OpenCL конструкцияларын қолдана отырып, FPGA функцияларын OpenCL ядролары ретінде бағыттауға мүмкіндік береді.[53] Қосымша ақпарат алу үшін қараңыз жоғары деңгейдегі синтез және C-ден HDL-ге дейін.

Технологиялық процестің негізгі түрлері

  • SRAM - статикалық жады технологиясына негізделген. Жүйеде бағдарламаланатын және қайта бағдарламаланатын. Сыртқы жүктеу құрылғыларын қажет етеді. CMOS. Қазіргі уақытта қолданыста.[қашан? ] Атап айтқанда, жедел жад немесе EEPROM құрылғылар көбінесе маршруттау мен логиканы басқаратын ішкі SRAM ішіне мазмұнды жүктей алады.
  • Сақтандырғыш - бір реттік бағдарламаланатын. Биполярлы. Ескірген.
  • Антифузия - бір реттік бағдарламаланатын. CMOS.
  • БІТІРУ КЕШІ - Бағдарламаланатын жад технологиясы. Пластикалық қаптаманың арқасында бағдарламаланатын бір реттік. Ескірген.
  • EPROM - Өшірілетін бағдарламаланатын жад технологиясы. Бағдарламаланатын, бірақ терезесі бар, бір реттік ультрафиолет (ультрафиолет) сәулесінің көмегімен өшіруге болады. CMOS. Ескірген.
  • EEPROM - Электрмен өшірілетін бағдарламаланатын жад технологиясы. Тіпті пластикалық пакеттерде де өшіруге болады. Кейбір EEPROM құрылғыларын жүйеде бағдарламалау мүмкін емес. CMOS.
  • Жарқыл - Flash-өшіру EPROM технологиясы. Тіпті пластикалық пакеттерде де өшіруге болады. Кейбіреулерінде, бірақ олардың барлығында бірдей флэш-құрылғыларды бағдарламалау мүмкін емес Әдетте, флэш-ұяшық эквивалентті EEPROM ұяшығынан кішірек, сондықтан оны жасау арзанға түседі. CMOS.

Ірі өндірушілер

2016 жылы саланың ұзақ уақыт бойы қарсыластары Ксилинкс (қазір AMD) және Альтера (қазір Intel еншілес ) FPGA нарығының көшбасшылары болды.[54] Сол кезде олар нарықтың шамамен 90 пайызын бақылады.

Екі Xilinx[3 ескерту] және Альтера[4 ескерту] қамтамасыз ету меншіктік электронды жобалауды автоматтандыру бағдарламалық жасақтама Windows және Linux (ISE /Вивадо және Квартус ) бұл инженерлерге мүмкіндік береді жобалау, талдау, модельдеу, және синтездеу (жинақтау ) олардың дизайны.[55][56]

Басқа өндірушілерге мыналар жатады:

2010 жылдың наурызында, Табула қолданатын FPGA технологиясын жариялады уақыт мультиплекстелген тығыздығы жоғары қосымшалар үшін ықтимал шығындарды үнемдеуді талап ететін логика және өзара байланыс.[60] 2015 жылдың 24 наурызында Табула ресми түрде жұмысын тоқтатты.[61]

2015 жылдың 1 маусымында Intel компаниясы Altera-ны шамамен 16,7 миллиард долларға сатып алатынын жариялады және сатып алуды 2015 жылдың 30 желтоқсанында аяқтады.[62]

2020 жылдың 27 қазанында AMD Xilinx сатып алатынын жариялады.[63]

Сондай-ақ қараңыз

Ескертулер

  1. ^ Жеткізушіге байланысты конфигурацияланатын логикалық блок (CLB) немесе логикалық массив блогы (LAB) деп аталады
  2. ^ а б Қосымша ақпарат алу үшін қараңыз электронды жобалау автоматикасындағы маршруттау, бөлігі ретінде орны мен бағыты интегралды микросхема жасау сатысы.
  3. ^ қазір AMD
  4. ^ қазір Intel

Әдебиеттер тізімі

  1. ^ а б c «FPGA архитектурасы». toronto.edu. Торонто университеті.
  2. ^ а б c "Конволюциялық нейрондық желілерге арналған FPGA негізіндегі үдеткіштерді зерттеу «, С.Миттал, NCAA, 2018 ж
  3. ^ Симпсон, П.А. (2015). FPGA дизайны, топтық қайта пайдалануға арналған үздік тәжірибелер, 2-ші басылым. Швейцария: Springer International Publishing AG. б. 16. ISBN  978-3-319-17924-7.
  4. ^ Висневский, Ремигиуш (2009). Бағдарламаланатын құрылғыларға арналған композициялық микропрограммалық басқару блоктарының синтезі. Зиелона Гура: Зиелона Гура университеті. б. 153. ISBN  978-83-7481-293-1.
  5. ^ «FPGA сигналының тұтастығы туралы оқулық». altium.com. Архивтелген түпнұсқа 2016-03-07. Алынған 2010-06-15.
  6. ^ NASA: FPGA жетегінің беріктігі Мұрағатталды 2010-12-05 Wayback Machine
  7. ^ Майк Томпсон. «Аралас сигналды FPGA GREEN POWER қамтамасыз етеді».EE Times, 2007-07-02.
  8. ^ а б c «FPGA тарихы». Архивтелген түпнұсқа 2007 жылғы 12 сәуірде. Алынған 2013-07-11.
  9. ^ «Басында». altera.com. 21 сәуір 2015 ж.
  10. ^ а б «XCELL 32 шығарылымы» (PDF). Ксилинкс.
  11. ^ а б c г. e f Әлемді қаржыландыру. «Xilinx, Inc. ”15 қаңтар 2009 ж. Алынды.
  12. ^ Клайв Максфилд, Бағдарламаланатын Logic DesignLine «Xilinx 65 нм FPGA революциялық архитектурасын ашады: Virtex-5 отбасы. 15 мамыр 2006. 5 ақпан 2009 ж. Алынды.
  13. ^ Баспасөз хабарламасы, »Xilinx-тің негізін қалаушы Росс Фриман 2009 жылы FPGA өнертабысы бойынша индуктит ұлттық өнертапқыштар залы атанды Мұрағатталды 2016-10-06 сағ Wayback Machine "
  14. ^ АҚШ 4870302, Фриман, Росс Х., «Конфигурацияланатын логикалық элементтері және өзара байланыстырылатын конфигурацияланатын электр тізбегі», 19 ақпан 1988 ж., 1989 ж. 26 қыркүйек 
  15. ^ «2013 жылға арналған үздік FPGA компаниялары». sourcetech411.com. 2013-04-28.
  16. ^ а б Максфилд, Клайв (2004). Дизайн жауынгерінің FPGA-ға арналған нұсқаулығы: құрылғылар, құралдар және ағындар. Elsevier. б. 4. ISBN  978-0-7506-7604-5.
  17. ^ «Microsoft Supercharges Bing іздеуін бағдарламаланатын чиптермен». Сымды. 16 маусым 2014 ж.
  18. ^ а б «Catapult жобасы». Microsoft Research. Шілде 2018.
  19. ^ [1], 1981-09-29 шығарылған «Интерконнект матрицасы бар сандық құрылғы» 
  20. ^ «Xilinx Inc, 8-K формасы, ағымдағы есеп, берілген күн, 19 қазан 2011 ж.». secdatabase.com. Алынған 6 мамыр, 2018.
  21. ^ «Xilinx Inc, 10-K нысаны, жылдық есеп, берілген күні 31 мамыр 2011 ж.». secdatabase.com. Алынған 6 мамыр, 2018.
  22. ^ Максфилд, Макс. «Xilinx UltraScale FPGA 50 миллион эквивалентті ASIC қақпаларын ұсынады». www.eetimes.com. EE Times.
  23. ^ а б Дилан МакГрат, EE Times, "FPGA нарығы '10 жылға қарай 2,7 миллиард долларды құрайды, дейді статистика «. 2006 жылғы 24 мамыр. 5 ақпан, 2009 ж. Алынды.
  24. ^ а б «FPGA нарығын жаһандық талдау және 2020 жылға дейінгі сегмент болжамдары - FPGA индустриясы, келешегі, мөлшері, қолданылуы, өнімі, үлесі, өсу перспективалары, негізгі мүмкіндіктері, динамикасы, тенденциялары, талдауы, FPGA есебі - Grand View Research Inc». grandviewresearch.com.
  25. ^ Дилан МакГрат, EE Times, "Gartner Dataquest талдаушысы ASIC, FPGA нарықтарына денсаулық туралы таза заң ұсынады «. 13 маусым 2005 жыл. 5 ақпан 2009 ж. Алынды.
  26. ^ «Virtex-4 отбасылық шолуы» (PDF). xilinx.com. Алынған 14 сәуір 2018.
  27. ^ «ASIC, ASSP, SoC, FPGA - айырмашылық неде?». eetimes.com.
  28. ^ Куон, Ян; Роуз, Джонатан (2006). «FPGA және ASIC арасындағы алшақтықты өлшеу» (PDF). FPGA'06 далалық бағдарламаланатын қақпа массивтері бойынша халықаралық симпозиум материалдары. Нью-Йорк, Нью-Йорк: ACM. 21-30 бет. дои:10.1145/1117201.1117205. ISBN  1-59593-292-5.
  29. ^ https://www.anandtech.com/show/14798/xilinx-announces-world-largest-fpga-virtex-ultrascale-vu19p-with-9m-cells
  30. ^ а б Тим Эрявец, Ақ қағаз, «Xilinx мақсатты дизайн платформасымен таныстыру: Бағдарламаланатын императивті орындау Мұрағатталды 2009-02-06 сағ Wayback Machine. «2 ақпан 2009 ж.. Алынды. 2 ақпан 2009 ж
  31. ^ «AN 818: Статикалық жаңартудың ішінара қайта құруға арналған оқулығы: Intel Stratix 10 GX FPGA әзірлеу тақтасына арналған». www.intel.com. Алынған 2018-12-01.
  32. ^ «FPGA өз логикасын динамикалық түрде өзгерте ала ма?». Электротехника қабаттасу. Алынған 2018-12-01.
  33. ^ «CPLD vs FPGA: олардың арасындағы айырмашылықтар және қайсысын қолдану керек? - Numato Lab көмек орталығы». numato.com. 2017-11-29.
  34. ^ Хафмир, Тед; Бреттон, Бретт; Шервуд, Тимоти; Кастнер, Райан; Левин, Тимоти; Нгуен, Тхю Д .; Ирвин, Синтия (2008). «FPGA негізіндегі ендірілген жүйелердегі қауіпсіздікті басқару». IEEE Дизайн және Компьютерлерді Сынау. 25 (6): 590–598. дои:10.1109 / MDT.2008.166. S2CID  115840.
  35. ^ «EETimes on PUF: қауіпсіздікті қамтамасыз етпейтін сарапшылардың қауіпсіздік мүмкіндіктері - ішкі идентификатор». Ішкі идентификатор. 2015-06-09.
  36. ^ Скоробогатов, Сергей; Вудс, Кристофер (2012). «Кремнийді сканерлеу әскери чиптің артқы есігін ашады». Криптографиялық жабдық және ендірілген жүйелер - CHES 2012. Информатика пәнінен дәрістер. 7428. 23-40 бет. дои:10.1007/978-3-642-33027-8_2. ISBN  978-3-642-33026-1.
  37. ^ «Xilinx Inc, 8-K формасы, ағымдағы есеп, берілген күні 26 сәуір 2006 ж.». secdatabase.com. Алынған 6 мамыр, 2018.
  38. ^ «Жарияланымдар мен презентациялар». bdti.com. Архивтелген түпнұсқа 2010-08-21. Алынған 2018-11-02.
  39. ^ Лапедус, Марк. «Xilinx DSP қосымшаларында 65-нм FPGA-ны мақсат етеді». EETimes.
  40. ^ Морган, Тимоти Прикет (2014-09-03). «Microsoft BPG іздеуді жылдамдату үшін FPGA-ны қалай қолданады». Enterprise Tech. Алынған 2018-09-18.
  41. ^ «Гигабайттың жедел жады: қол жетімді қатты күйдегі сақтау орны». anandtech.com. 2005-07-25. Алынған 2020-12-16.
  42. ^ «Microsemi енгізген радиациялық қатайтылған ғарыштық қосымшаларға арналған FPGA әзірлеу құралдары». www.militaryaerospace.com. 2016-06-03. Алынған 2018-11-02.
  43. ^ а б «CrypTech: криптографияның мөлдірлігін арттыру t» (PDF).
  44. ^ 2. Сәулет II циклон. Альтера. Ақпан 2007
  45. ^ «Құжаттама: Stratix IV құрылғылары» (PDF). Altera.com. 2008-06-11. Архивтелген түпнұсқа (PDF) 2011-09-26. Алынған 2013-05-01.
  46. ^ Virtex-4 FPGA пайдаланушы нұсқаулығы (1 желтоқсан, 2008). Xilinx, Inc.
  47. ^ Дин Такахаси, VentureBeat. «Intel қосылымы Tabula чип-стартапының 108 миллион доллар жинауға көмектесті. «2 мамыр 2011 ж.. 2011 жылғы 13 мамырда алынды.
  48. ^ а б Лоуренс Латиф, анықтаушы. «FPGA өндірушісі Мур заңын бұзды деп мәлімдейді. «2010 ж., 27 қазан. 2011 ж. 12 мамырда алынды.
  49. ^ EDN Europe. «Xilinx жинақталған 3D пішінді ораманы қабылдайды. «1 қараша 2010 ж.. 2011 ж. 12 мамырда алынды.
  50. ^ Сабан, Кирк (2012 жылғы 11 желтоқсан). «Xilinx қабаттасқан кремнийдің өзара байланысу технологиясы FPGA-ның үлкен қуаттылығын, өткізу қабілеттілігін және қуат тиімділігін қамтамасыз етеді» (PDF). xilinx.com. Алынған 2018-11-30.
  51. ^ «Intel тапсырыс бойынша құю өндірісі EMIB». Intel.
  52. ^ «FPGA үстіндегі шайқас: VHDL vs Verilog! Нағыз чемпион кім?». digilentinc.com. Алынған 2020-12-16.
  53. ^ «OpenCL-ді неге FPGA-да қолдану керек?». StreamComputing. 2014-09-16.
  54. ^ Диллиен, Пол (6 наурыз, 2017). «Ал 2016 жылдың үздік FPGA жеңімпазы - ...» EETimes. Архивтелген түпнұсқа 2019 жылғы 5 қаңтарда. Алынған 7 қыркүйек, 2017.
  55. ^ «Xilinx ISE Design Suite». www.xilinx.com. Алынған 2018-12-01.
  56. ^ «FPGA Design Software - Intel® Quartus® Prime». Intel. Алынған 2018-12-01.
  57. ^ «2013 жылға арналған үздік FPGA компаниялары». SourceTech411. 2013-04-28. Алынған 2018-12-01.
  58. ^ "QuickLogic — Customizable Semiconductor Solutions for Mobile Devices". www.quicklogic.com. QuickLogic Corporation. Алынған 2018-10-07.
  59. ^ "Achronix to Use Intel's 22nm Manufacturing". Intel Newsroom. 2010-11-01. Алынған 2018-12-01.
  60. ^ "Tabula's Time Machine — Micro Processor Report" (PDF). Архивтелген түпнұсқа (PDF) 2011-04-10.
  61. ^ Tabula to shut down; 120 jobs lost at fabless chip company Silicon Valley Business Journal
  62. ^ "Intel to buy Altera for $16.7 billion in its biggest deal ever". Reuters. June 2015.
  63. ^ "AMD to Acquire Xilinx, Creating the Industry's High Performance Computing Leader". October 2020.

Әрі қарай оқу

  • Sadrozinski, Hartmut F.-W.; Wu, Jinyuan (2010). Applications of Field-Programmable Gate Arrays in Scientific Research. Тейлор және Фрэнсис. ISBN  978-1-4398-4133-4.
  • Wirth, Niklaus (1995). Digital Circuit Design An Introduction Textbook. Спрингер. ISBN  978-3-540-58577-0.
  • Mitra, Jubin (2018). "An FPGA-Based Phase Measurement System". IEEE Transactions on Very Large Scale Integration (VLSI) Systems. IEEE. 26: 133–142. дои:10.1109/TVLSI.2017.2758807. S2CID  4920719.
  • Mencer, Oskar et al. (2020). "The history, status, and future of FPGAs". ACM байланысы. ACM. Том. 63, No. 10. doi:10.1145/3410669

Сыртқы сілтемелер