FPGA: всичко за тези чипове и тяхното програмиране

FPGA чип

Лос FPGA стават все по-популярни в последните времена. Дори и за професионални приложения тези чипове често се използват, но също така и за домашни любимци и производители, които искат да внедрят дискретна схема в чипа с всички предимства, които това предполага. Не е евтино или лесно да намерите фабрика, която да изпраща вашите оформления или модели и да създадете персонализиран чип за вас.

Вярно е, че някои леярни позволяват направете вафли или мултипроектни вафли да се правят чипове от физически лица или университети, за да се тестват. Този тип фабрики са, както казвам, трудни за намиране, обикновено са в чужбина и не са евтини. След известно време пробите от вашите чипове се изпращат на уговорения адрес, но те не са отговорни за тестването им или проверката им за работа. Всичко зависи от вашия дизайн ...

а алтернативно решение на това е закупуването на FPGA и програмирайте всичко, което трябва да внедрите в чипа ...

Какво е FPGA?

Програмируеми клетки

FPGA означава Field Programmable Gate Array. Те са цифрови устройства или чипове, които могат да бъдат конфигурирани, за да позволят практически всичко да бъде внедрено. Тоест, с други думи, това е празен чип, където можете да „пишете“. Това означава, че можете да внедрите процесор, памет, контролер, всякаква логика и т.н., постигайки много бърза работа и с всички предимства да го интегрирате в чип, а не с електронни елементи.

Рос Фрийман и Бърнард Вондершмит, съоснователи на Xilinx, са тези, които са изобретили FPGA през 1984 г. Те го направиха като еволюция към CPLD чиповете от онова време. Програмируемите чипове CPLD имаха някои недостатъци, които решиха новите проекти на FPGA и оттогава те се развиват до момента.

Пазарът на FPGA е толкова плодотворен, че компаниите харесват Intel, Xilinx, Altera, Quick Logic, Lattice и др., те са инвестирали много, за да разработят по-добри FPGA, а също и вградени програмни среди или IDE за тях. По този начин предоставя много добри платформи за улесняване на задачата на разработчиците или производителите.

В момента тези производители не само предлагат програмируем чип, но и включват множество помощни елементи да предостави повече възможности на разработчиците. Например те включват клетки с флаш памет, клетки с памет SDRAM и т.н.

За какво се използват?

IDE за програмиране на FPGA

Следователно FPGA може да бъде подобен на ASIC, но това можем да избираме какво ще бъде. Например, бихме могли да създадем код, който да го програмира и да го превърнем в CPU, GPU, суматор, контролер на паметта или всяка друга логическа схема, реализирана на един чип.

Възможностите са доста безкрайни. Всъщност ви препоръчвам да посетите уебсайта opencores.org, сайт, посветен на предлагането на множество проекти hardware libre. Ще намерите кодове във VHDL, Verligo и др., за RAM, CPU, GPU, контролери, ALU, FPU, декодери и дълги и т.н..

Как се програмира?

Програмист за FPGA

За да програмираме FPGA, можем да го направим от любимата ни операционна система, като GNU / Linux, Windows и MacOS, въпреки че със сигурност има повече среди за разработка на Windows. Като цяло същите компании, които правят FPGA предлагат a Много пълна IDE за работа и къде да намерите всички необходими инструменти в същия софтуерен пакет.

Вие също ще имате нужда от FPGA чип или платка и необходимия кабел или програмист с който можете да свържете FPGA към вашия компютър, за да предадете написания код на FPGA и така той е програмиран. Това е нещо подобно на това, което правите с платката Arduino, като записвате програмата Arduino IDE в програмируемата памет на микроконтролера.

Само в случая с FPGA това, което имаме, е матрица или масив от елементарни компоненти като клетки с памет, И порти, ИЛИ, НЕ, Джапанки и други. основни елементи или блокове от цифрова електроника които можем да използваме. С писмената програма това, което ще направим, е да наложим начина, по който тези основни блокове трябва да бъдат групирани заедно, за да образуват малката верига, която искаме, като ALU.

Тоест, ако програмираме суматор в нашата IDE, необходимите блокове за реализиране на този суматор те ще се свържат по правилния начин вътре в FPGA, така че чипът да работи като суматор. Просто, нали? Като цяло за това програмиране на физическо ниво се използват няколко метода, като например памет или предпазители, за да се направи постоянна връзка в този случай.

Скоростта, с която работят, ще зависи от тактова честота към които FPGA сме закупили работи. Например, най-елементарните обикновено работят на 50 Mhz, други ще го правят на много по-високи честоти. В случая с 50 Mhz FPGA, това означава, че той ще работи със скорост 50.000.000 XNUMX XNUMX пъти в секунда. Ако продължим с разширителя, който дадох като пример, ще можете да направите това количество суми за една секунда ...

Продължавайки с темата за ПрограмиранетоСлед като разберем, че можете да напишете код, както бихме го направили в IDE на Arduino или да разработим друга програма, и като видим как се прави на хардуерно ниво, ще кажа, че наистина не се програмира като такъв. По-скоро е хардуерно описание. Всъщност се използват езици за описание на хардуера като VHDL, Verilog и др.

с тази програма е описана на логическо ниво какво прави малката верига, която искаме да приложим. И след това отива към FPGA. Въпреки че е вярно, че някои платформи позволяват програмиране на програмни езици като C, за да могат да внедрят процесор в FPGA и след това да генерират програми за зареждане в паметта и да бъдат обработени от споменатия процесор.

Интеграция с Arduino

Arduino-FPGA

FPGA обикновено се използват отделно, но е вярно, че на пазара има много инструменти и комплекти, които ще направят живота ви по-лесен за интегриране на вашите FPGA с платформата Arduino. Пример за дъска за привличане на FPGA към вашите проекти с Arduino е MKR Vidor 4000, въпреки че има и други.

MKR Viewer 4000 това е дъска с три чипа. Един от тях е FPGA, по-специално Intel Cyclone 10. Има и други чипове за Bluetooth LE или свързаност с ниска мощност, както и WiFi съвместимост. Добро допълнение, за да предоставите на вашия Arduino функционалности за свързване и да можете да приложите това, от което се нуждаете, в FPGA.

С него имате персонализируем хардуер, конфигуриран от вас за целта, която искате. Това предлага безкрайни възможности.


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.