FPGA

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

FPGA са интегрални схеми от категорията на програмируемите логически устройства или PLD. FPGA са с най-висока производителност, най-гъвкави и също така най-скъпи от видовете PLD. Недостатъкът на FPGA в сравнение с другите PLD е, че те не помнят дизайна си, когато захранването е изключено. Поради това FPGA се нуждае от отделен чип с конфигурационна памет, който да съхранява проекта на FPGA. Когато захранването се върне на FPGA, фиксирана част от FPGA прочита конфигурацията от чипа с конфигурационна памет. След като FPGA е конфигуриран, той ще може да изпълнява функцията, която му е дадена от проекта.

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

Производителите на FPGA предоставят инженерен софтуер за Windows, а понякога и за Linux, за разработване на проекти за FPGA. Проектът обикновено се записва в четими от човека компютърни файлове, наречени език за описание на хардуера (HDL). Най-популярните са VHDL и Verilog. Езиците за описание на хардуера са силно сравними с езиците за програмиране. Но предназначението на HDL е да проектира цифрови логически схеми, докато езиците за програмиране проектират софтуер.

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

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

Zoom


Вътрешна структура

Обикновено FPGA са изградени на базата на програмируеми логически елементи и програмируеми взаимовръзки. Един от градивните елементи на логиката е програмируема таблица за търсене (LUT). LUT може да бъде програмирана да извежда всякаква стойност при зададени входни стойности. По този начин LUT може да се програмира като всякакъв тип логика с еднакъв брой входове и изходи. Например една LUT с 2 входа и 1 изход може да бъде програмирана да емулира логиката на 2-входова AND, OR, NAND, NOR, XOR и т.н. Изходът на тази LUT може да бъде запаметен с помощта на регистър или да бъде свързан към входа на други LUT. С помощта на програмируем мукс FPGA може да се програмира да избере регистриран или нерегистриран изход. Тази комбинация от LUT, регистър и мукс е общата структура на логическия елемент.

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

Въпроси и отговори

В: Какво представлява полевият програмируем гейт масив (FPGA)?


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

Въпрос: По какво се различава FPGA от логически гейт?


О.: FPGA се различава от логическия шлюз, защото логическият шлюз има фиксирана функция, докато FPGA има неопределена функция в момента на производството.

В: Какъв тип интегрална схема е FPGA?


О: FPGA е интегрална схема от категорията на програмируемите логически устройства или PLD.

В: Какви са някои недостатъци на използването на FPGA в сравнение с други PLD?


О.: Един от недостатъците на използването на FPGA в сравнение с други PLD е, че те не помнят дизайна си, когато захранването е изключено, така че се нуждаят от отделен чип с конфигурационна памет, който да съхранява дизайна. Освен това те са по-скъпи от другите видове PLD.

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


О: За да програмират FPGA, инженерите използват инженерен софтуер за Windows или Linux, за да разработят проекти, написани на езици за описание на хардуер, като VHDL и Verilog. След това софтуерът превежда този код в логическите елементи, налични в избраните FGPA, и ги позиционира с процесите "място и маршрут", което създава битов файл, който може да бъде програмиран в конфигурационната памет или директно в самия FGPA с USB програматор, свързан към неговия JTAG порт.

Въпрос: Подобни ли са микропроцесорите и микроконтролерите на FGPA?


О: Не, микропроцесорите и микроконтролерите се различават от FGPA, защото в основната си форма не могат да изпълняват софтуер; само когато им се предостави конфигурация, съдържаща архитектура на процесора, те имат тази възможност.

AlegsaOnline.com - 2020 / 2023 - License CC3