FPGA: бул микросхемалар жана аларды программалоо жөнүндө

FPGA чипи

The FPGAлар барган сайын популярдуу болуп баратат акыркы мезгилдерде. Кесипкөй колдонмолор үчүн да бул микросхемалар көп колдонулат, бирок микросхеманын ичиндеги дискреттүү схеманы ишке ашырууну каалаган DIYers жана өндүрүүчүлөр үчүн ушул артыкчылыктар бар. Сиздин макеттериңизди же үлгүлөрүңүздү жөнөтүп, өзүңүзгө ылайыкташтырылган чипти даярдай турган фабриканы табуу арзан же оңой эмес.

Туура, айрым куюучу жайлар жол беришет вафли же мультипроекттүү вафли жасаңыз аларды сыноо үчүн жеке адамдардан же университеттерден чиптерди жасоо. Бул түрдөгү заводдорду, мен айткандай, табуу кыйын, алар адатта чет өлкөлөрдө болушат жана арзан эмес. Бир аз убакыт өткөндөн кийин, сиздин микросхемалардын үлгүлөрү макулдашылган дарекке жөнөтүлөт, бирок алар буларды тестирлөө же алардын иштешин текшерүү үчүн жооптуу эмес. Бардыгы сиздин дизайныңызга байланыштуу ...

Una башка чечим - бул FPGA сатып алуу жана чиптин ичинде ишке ашыруу үчүн эмнени кааласаңыз, программалаңыз ...

FPGA деген эмне?

 

Программалануучу уячалар

FPGA Field Programmable Gate Array дегенди билдирет. Алар санариптик шаймандар же микросхемалар, алар иш жүзүндө эч нерсени жүзөгө ашырууга жол бербейт. Башкача айтканда, бул "жаза" турган бош чип. Демек, сиз процессорду, эс тутумду, контроллерду, каалаган логиканы ж.б. ишке киргизип, тез иштей аласыз жана аны электрондук элементтер менен эмес, чипке бириктирүүнүн бардык артыкчылыктары менен ишке ашыра аласыз.

Ксилинкс компаниясынын негиздөөчүлөрү Росс Фриман жана Бернард Вондершмитт 1984-жылы FPGAны ойлоп табышкан. CPLD программаланган микросхемалардын айрым кемчиликтери болгон, алар жаңы FPGA долбоорлорун чечкен жана ошондон бери алар бүгүнкү күнгө чейин өнүгүп келе жатат.

FPGA рыногу ушунчалык жемиштүү болгондуктан, компаниялар жагат Intel, Xilinx, Altera, Quick Logic, Решетка ж.б., алар жакшыраак FPGA иштеп чыгуу үчүн көп каражат жумшашты, ошондой эле алар үчүн программалоо чөйрөлөрүн же IDEлерди камтыйт. Ошентип, иштеп чыгуучулардын же чыгаруучулардын милдетин жеңилдетүү үчүн абдан жакшы аянтчаларды камсыз кылуу.

Учурда бул өндүрүүчүлөр программаланган чип менен гана камсыз кылбастан, камтыйт көптөгөн жардамчы элементтер иштеп чыгуучуларга көбүрөөк мүмкүнчүлүктөрдү алып келүү. Мисалы, аларга флэш-эс тутумдары, SDRAM эс тутумдары ж.б.

Алар эмне үчүн колдонулат?

FPGA программасы үчүн IDE

Ошондуктан, FPGA ASIC окшош болушу мүмкүн, бирок биз тандай алабыз эмне болот. Мисалы, биз аны программалоо үчүн код түзүп, аны CPU, GPU, аддер, эстутум контроллери же башка чипте ишке ашырылган башка логикалык схемага айланта алабыз.

Мүмкүнчүлүктөр чексиз. Чындыгында, веб-сайтты карап чыгууну сунуштайм opencores.org, акысыз жабдуу долбоорлорун сунуш кылууга арналган сайт. VHDL, Verligo ж.б. коддорун таба аласыз RAM, CPU, GPU, контроллер, ALU, FPU, декодер жана башка көп нерселер..

Кантип программаланган?

FPGA үчүн программист

FPGAны программалоо үчүн биз аны сүйүктүү GNU / Linux, Windows жана MacOS сыяктуу иштетүү тутумдарынан жасай алабыз, бирок Windows үчүн өнүгүү чөйрөлөрү дагы бар. Адатта, FPGA сунуш кылган компаниялар а Иштөө үчүн толук IDE жана ошол эле программалык камсыздоодон керектүү бардык шаймандарды кайдан тапса болот.

Ошондой эле сизге керек болот FPGA чипи же доска жана керектүү кабель же программист анын жардамы менен жазуу кодун FPGAга өткөрүп берүү үчүн, компьютериңизге FPGA туташтыра аласыз жана ал программаланган. Arduino IDE программасын микроконтроллердин программалоочу эс тутумуна жазып, Arduino тактасына жасаганга окшош нерсе.

FPGAда гана, бизде эс тутум клеткалары, ЖАНА дарбазалар, ЖЕ, ЭМЕС, Флип-флоптор жана башкалар сыяктуу элементардык компоненттердин матрицасы же массиви бар. санариптик электрониканын негизги элементтери же блоктору биз колдоно алабыз. Жазуу программасы менен биз ушул маанилүү блокторду топтоштуруп, биз каалаган кичинекей схеманы, мисалы, ALU түзүүнү таңуулайбыз.

Башкача айтканда, эгерде биз IDE программабызга программаны киргизсек, анда бул кошумча каражатты ишке ашыруу үчүн зарыл болгон блоктор алар шилтеме бергени жатышат чип кошумча каражат катары иштеши үчүн, FPGA ичинде туура жол менен. Жөнөкөй туурабы? Жалпысынан алганда, бул программалоо үчүн физикалык деңгээлде бир нече ыкмалар колдонулат, мисалы, бул учурда туруктуу байланыш түзүү үчүн эстутумдар же биригүүлөр.

Алардын иштөө ылдамдыгы көз каранды болот саат жыштыгы ага FPGA сатып алганбыз. Мисалы, эң негизгиси, адатта, 50 МГц кубаттуулукта иштесе, калгандары бир топ жогорку жыштыкта ​​иштешет. 50 МГц FPGA учурда, ал секундасына 50.000.000 жолу ылдамдыкта иштейт дегенди билдирет. Эгер мен мисал келтирген кошумчаны уланта берсек, анда сиз бир эле секундда ушундай сумманы жасай аласыз ...

Темасы менен улантууда ПрограммалооArduino IDE программасында же башка программаны иштеп чыгууда жазгандай код жазууга боло тургандыгын билгенден кийин, анын аппараттык деңгээлде кандайча жасалып жаткандыгын көрүп, мен чындыгында андай программалоо эмес деп айтам. Тескерисинче, бул аппараттык сүрөттөмө. Чындыгында, VHDL, Verilog ж.б.у.с. аппараттык сүрөттөө тилдери колдонулат.

менен ал программа логикалык деңгээлде сүрөттөлөт биз ишке ашырууну каалаган кичинекей схема эмне кылат. Андан кийин ал FPGAга барат. Чындыгында эле, кээ бир платформалар программалоо тилдеринде программалоо мүмкүнчүлүгүн берет, мисалы C, FPGAда CPU иштетип, андан кийин эс тутумга жүктөлүп, аталган процессор тарабынан иштелип чыгышы мүмкүн.

Arduino менен интеграциялоо

FPGA Arduino

FPGAлар адатта өзүнчө колдонулат, бирок рынокто сиздин жашооңузду интеграциялоону жеңилдеткен көптөгөн шаймандар жана топтомдор бар экени чын. Arduino платформасы менен FPGA. Arduino менен долбоорлоруңузга FPGA алып келүүчү тактанын мисалы, MKR Vidor 4000, бирок башкалар бар.

MKR Vidor 4000 бул үч фишкасы бар такта. Алардын бири - бул FPGA, тактап айтканда Intel циклону 10. Bluetooth LE же аз кубаттуу туташуу, ошондой эле WiFi шайкештиги үчүн башка чиптер бар. Ардуиноңузду туташуу функциялары менен камсыз кылган жана FPGAда керектүү нерселерди ишке ашыра турган мыкты кошумча.

Аны менен сизде а настройкаланган жабдык, өзүңүз каалаган максатта конфигурацияланган. Бул чексиз мүмкүнчүлүктөрдү сунуш кылат.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.