Са растућом популарношћу микроконтролера, инжењери користе микроконтролере више од ФПГА. У Микроконтролери су постали доминантни у ФПГА због јефтине трошкова, добра подршка, лако доступност, велика заједница, свестраност, програмирање итд али осим тога микропроцесора имају нека ограничења као што су упутства наведена, секвенцијално извршење програма (Секуентиал обрада), недостатак флексибилности и поновне употребе итд. Међутим, ФПГА може превазићи ова ограничења јер ФПГА имају паралелно извршавање програма, а флексибилан је и за вишекратну употребу, што значи да се може изнова и изнова програмирати за различите задатке.
Шта је ФПГА и по чему се разликује од микроконтролера
ФПГА је интегрисано коло силиконски чип који има низ логичких кола и овај низ се могу програмирати у пољу, односно корисник може преписати постојеће конфигурације са својим новим дефинисаним конфигурацијама и могу да креирају свој дигитални спој на терену. ФПГА се могу сматрати празним листом. ФПГА не раде ништа сами, док је на дизајнерима да креирају конфигурациону датотеку која се често назива битна датотека за ФПГА. ФПГА ће се понашати као дигитални склоп када се учита са бит датотеком.
Док код микроконтролера то није случај, јер се микроконтролери не могу програмирати или реструктурирати на терену. Кориснику није дозвољено да преписује постојеће конфигурације нити може да креира било који дигитални круг на терену. Микроконтролере је лако програмирати, а заједница је такође широка. Микроконтролери су минијатурни рачунари израђени по мери који се испоручују у ИЦ облику, док ФПГА садрже само логичке блокове који се поново могу електрично пре повезати. Такође у погледу микроконтролера, троши мање енергије од ФПГА-а. Познато је да су ФПГА скупи и захтевају више трошкова од микроконтролера када је у питању изградња било ког уређаја. ФПГА-има је потребно много више времена за подешавање, док су микроконтролери доступни за специфичне примене.
ФПГА архитектура
ФПГА има редовну структуру логичких ћелија или модула и међусобних веза која је под потпуном контролом програмера и дизајнера. ФПГА је изграђен са углавном три главна блока, као што су конфигурабилни логички блок (ЦЛБ), И / О блокови или јастучићи и матрице прекидача / жице за међусобно повезивање. У наставку ће се укратко расправљати о сваком блоку.
- ЦЛБ (конфигурабилни логички блок): Ово су основне ћелије ФПГА. Састоји се од једног 8-битног генератора функција, два 16-битна генератора функција, два регистра (флип-флопс или резе) и репрограмибилних контрола усмеравања (мултиплексери). ЦЛБ се примењују за примену других дизајнираних функција и макронаредби. Сваки ЦЛБ има улазе са сваке стране што их чини флексибилним за мапирање и партиционирање логике.
- Улазно / излазни јастучићи или блокови: Улазно / излазни јастучићи се користе за спољашњу периферну опрему за приступ функцијама ФПГА, а помоћу И / О подлога такође могу комуницирати са ФПГА за различите апликације користећи различите периферне уређаје.
- Матрица прекидача / жице за међусобно повезивање : Матрица прекидача користи се у ФПГА за повезивање дугих и кратких жица за међусобно повезивање у флексибилној комбинацији. Такође садржи транзисторе за укључивање / искључивање веза између различитих водова.
Када су потребни ФПГА
Као што је горе поменуто, микроконтролери имају одређена ограничења и не могу се користити за паралелно извршавање задатака јер микроконтролери и микропроцесори раде на секвенцијално извршавање програма што у неким апликацијама чини мало споро, у овом сценарију ФПГА имају предност и могу се ефикасно користити. Такође микроконтролер може да обавља ограничене задатке јер долази са упутствима и њиховим склоповима. Програмер се мора придржавати ограничења док развија код. Дакле, и у овом сценарију ФПГА имају предност.
Међутим, у случају микроконтролера, процесор се пребацује са једног кода на други да би постигао одређени ниво паралелизма. Лакше ћете писати кодове на микроконтролере него ФПГА. Способност паралелне обраде ФПГА-а омогућава вам ефикасну контролу прекида коришћењем машина коначних стања (ФСМ).
У случају микроконтролера, морате узети у обзир време које је ИСР требало да реши прекид. ФПГА можете једноставно поново повезати само репрограмирањем. Конфигурација у ФПГА учитава се на конфигурабилне логичке ћелије када се напајање укључи.
Да бисте репрограмирали ФПГА, не морате да мењате хардвер. ФПГА су погодни за брзу обраду паралелних података и испоручују се са високим степеном прилагодљивости. Међутим, они такође имају недостатке рада прототипа и сложености конфигурације. Дакле, ФПГА се могу одабрати са овим предностима у односу на микроконтролере. Почнимо са ФПГА програмирањем и нагласимо