Информация

Какво е FPGA - Основи на програмируем Gate Array

 Какво е FPGA - Основи на програмируем Gate Array


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

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

Програмируемите логически компоненти на FPGA или логическите блокове, както са известни, могат да се състоят от всичко - от логически портали, до елементи на паметта или блокове от памет или почти всеки елемент. Това осигурява значителна степен на гъвкавост.

FPGA приложения

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

  • ASIC прототипиране: ASIC или специфични за приложение интегрални схеми често се използват в производството с голям обем, но те са много скъпи за разработване и промените са много скъпи и отнема много време. След като е направен ASIC чип, неговата функционалност е фиксирана. Също така ASIC чиповете обикновено са много сложни и за да се гарантира, че функционалността е правилна, често се използва FPGA вместо ASIC чипа по време на разработката и дори ранното производство, докато всички проблеми бъдат отстранени.
  • Софтуерно дефинирано оборудване: Тъй като оборудването сега се стреми повече към това да бъде софтуерно дефиниран, както в случая със софтуерно дефинираното радио, концепцията се използва широко в много области на технологията. Софтуерно дефинираното оборудване за тестване също става все по-широко използвано - тук функционалността на тестовия инструмент може да бъде модифицирана според необходимото.

Основи на FPGA

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

По този начин, ако платката или платката са произведени и съдържат FPGA като част от веригата, това се програмира по време на производствения процес, но по-късно може да бъде препрограмирано, за да отразява всякакви промени. По този начин той е програмируем в полето и всъщност това поражда името му.

Въпреки че FPGA предлагат много предимства, естествено има някои недостатъци. Те са по-бавни от еквивалентните ASIC (специфична за приложение интегрална схема) или други еквивалентни интегрални схеми и освен това са по-скъпи. (Въпреки това ASICs са много скъпи за разработване чрез сравнение).

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

FPGA се използват в много приложения. С оглед на разходите те не се използват в евтини продукти с голям обем, но вместо това FPGAs намират приложения в различни области, където може да са необходими сложни логически схеми и може да се очакват промени. FPGA приложенията обхващат широк спектър от области от оборудване за видео и изображения, до схеми за космически и военни приложения, както и електроника за специализирана обработка и много други.

Вътрешни части на FPGA

Вътрешната архитектура на FPGA е ключът към нейната гъвкавост и оттам на нейния успех. По същество FPGA се състои от два основни елемента:

  • Общи логически блокове: Логическият блок в FPGA може да бъде реализиран по различни начини. Реалното изпълнение зависи от производителя, а също и от серията FPGA, която се използва. Вариациите включват броя на входовете и изходите, общата сложност на логическия блок по отношение на схемите и броя на използваните транзистори. Това естествено оказва влияние върху количеството на консумираната площ на чипа, а оттам и върху размера на използвания силиций.
  • FPGA вътрешно маршрутизиране: Маршрутизиращите канали в FPGA включват проводници, които могат да бъдат свързани помежду си с помощта на електрически конфигурируеми превключватели. По този начин е възможно да свържете различни точки на чипа заедно и по този начин да свържете различните общи логически блокове по какъвто и да е начин.

Разработка на фърмуер на FPGA

Тъй като FPGA е конфигурируем логически масив, логиката трябва да бъде настроена така, че да отговаря на изискванията на системата. Конфигурацията се осигурява от фърмуер - набор от данни, който е

С оглед на сложността на FPGA, софтуерът се използва за проектиране на функцията на FPGA. Процесът на проектиране на FPGA се стартира от потребителя, предоставящ дефиниция на хардуерен език за описание (HDL) или схематичен дизайн.

Често срещаните HDL са VHDL (където VHDL означава VHSIC З.ardware дескрипция Language) и Verilog. След като това е завършено, следващата задача в процеса на проектиране на FPGA е да се създаде мрежов списък за конкретното FPGA семейство, което се използва. Това описва свързаността, необходима в FPGA, и се генерира с помощта на инструмент за автоматизация на електронен дизайн.

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

Накрая дизайнът е ангажиран с FPGA и може да се използва в електронната платка, за която е предназначен.

Забележка относно програмирането на FPGA:

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

Прочетете повече за FPGA програмиране

FPGA тестване

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

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

След като процесът на проектиране и валидиране приключи, генерираният двоичен файл (също с помощта на собствения софтуер на компанията FPGA) се използва за конфигуриране на FPGA устройството.

FPGA инструменти

Инструментите за разработване и тестване на FPGA се предлагат от различни източници. Очевидно производителят е в състояние да предложи много инструменти за разработка на FPGA, но има много други източници за синтез на FPGA HDL на трети страни, инструменти за физически синтез и проверка на FPGA. Те включват действителното развитие и за различните етапи на тестване на FPGA.


Гледай видеото: Top 10 FPGA Projects 2019. #pantechsolutions #fpgaproject (Може 2022).