категории: Микроконтролер вериги
Брой преглеждания: 21445
Коментари към статията: 0

Какво е FPGA прост език за начинаещи

 

С какво е свързана цифровата електроника? На първо място, с логически елементи И, ИЛИ, НЕ. Освен това регистрите за смяна, декодерите, мултиплексорите и т.н. влизат в паметта. Въпреки това, тъй като сложността на електронните устройства и тенденцията към миниатюризация се увеличават, създаването на устройства на базата на интегрални схеми (ИС) от горните компоненти става по-трудно, персонализираните ИС с необходимата топология и схема се оказват полезни само когато устройството се репликира в голям брой, в други случаи е неоправдано скъпо.

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

Какво е FPGA прост език за начинаещи

Разлики от микроконтролерите

С думата „програмируем“ се свързват повечето начинаещи с микроконтролери, Въпреки факта, че те също са програмирани, FPGA са съвсем различно устройство.

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

В допълнение можете да извършвате изчисления, да записвате данни в регистрите или ROM, както и да работите с данни, мигащи в паметта на микроконтролера. На това по същество е целта и характеристиките на работата с микроконтролери.

Програмируем 769; лог 769; цяло число 769; лен 769; ма (FPGA, английско програмируемо логическо устройство, PLD)

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

Като цяло, вътрешното FPGA устройство може да бъде разделено на три основни групи:

1. Масив от логически елементи (макроклетки, логически блокове).

2. Блокове за вход / изход (IO).

3. Комуникационни линии между тях и устройството, което контролира тези връзки.

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

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

Забележка:

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

Изборът на микроконтролери се основава на много критерии, като например:

  • Скорост и тактова честота;

  • Количеството ROM и RAM;

  • Броят на входовете и изходите.

Други функционални функции и периферни устройства, като поддръжка на комуникационни линии и протоколи (I2C, едножилен, PWM сигнал и др.).

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

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

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

Видове FPGA

видове

В момента са уместни два основни типа FPGA:


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

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


2. FPGA (Field-Programmable Gate Array - User Programmable Gate Array, но той често се нарича FPGA) - по-разработени и сложни устройства в сравнение с CPLD, са изградени на логически блокове с гъвкаво превключване и съдържат по-голям брой елементи (десетки или стотици хиляди бройки).

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


Чудя се:

Въпреки че всъщност наличието на енергонезависима памет не прави програмируема логика CPLD. Това е частично подвеждащо. Основната разлика между CPLD и FPGA е вътрешната структура.

Разликата между CPLD и FPGA е вътрешната структура

Вътрешното CPLD устройство е показано по-подробно на фигурата по-долу.

CPLD вътрешно устройство

И приблизителната схема на нейната макроклетка изглежда така:

Примерно оформление на макроелементи на CPLD

Макроклетката се състои от програмируеми мултиплексори, тригери (един или повече) и формира група от изходни FB сигнали в няколко версии.

Следващият е друг пример - блок-схема на CPLD чип от семейството чипове Altera MAX II.

Блок-схема на Altera MAX II CPLD

И структурният план на чиповете на едно и също семейство.

Блок-схема на Altera MAX II CPLD

Междинните гуми се присвояват на макроклетките с помощта на възел като дистрибутор на английски. звучи като Logic Allocator, който е показан на диаграмата по-долу, той също показва матрицата на Global Routing Pool, а на изхода макроклетките имат две обратни връзки.

Дистрибутор и матрица за превключване

Външните изходи на микросхемата са свързани към изходите на макроелементите през друг блок (матрица) - ORP (Output Routing Pool), имайте предвид, че чрез нея логиката INPUT е свързана към GRP, както е показано на илюстрацията по-долу.

Забележка:

Някои CPLD имат т.нар директни входове (Direct Input) - те са свързани директно към входовете на клетките, което намалява закъсненията.

Структурата на FPGA има формата:

FPGA структура
  • L - логически конфигурируем блок;

  • S (блок на заместване) - блок на заместване, той получава определен брой битове на ход, преобразува се по определен алгоритъм и извежда различен брой битове на изхода. С други думи, декодер, криптор и превключвател.

  • C (блок за свързване) - блок за връзка.

S-блок схема:

 

S-блокова схема



програмиране


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

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


Примери за популярни производители и серии

В момента на писането най-известните са продуктите на двама производители.

  • Алтера (основана през 1983 г.);

  • Xilinx (Основана през 1984 г.).

Алтера

Altera има няколко големи серии от програмируеми логики:

  • MAX, MAX II, MAX IIZ;

  • 7000s;

  • 3000A;

  • MAX V;

  • циклон;

  • Arria;

  • Stratix.

Нека разгледаме всеки от тях по-подробно. В таблиците по-долу виждате обща информация за чиповете на семейството.

Характеристики на основната серия от програмируема логика
Характеристики на основната серия от програмируема логика

Алтера 3 CPLD CPLD:

  • MAX е CPLD за използване в мобилни устройства, отличителните белези са сравнително ниска консумация на енергия и разсейване на топлината. В зависимост от сложността и годините на издаване се разграничават следните модификации:

  • 7000S е остаряла към днешна дата, тя беше издадена през 1995 година.

  • 3000A - пуснат през 2002 г., се произвежда по 300nm технология. Състои се от малък брой макроклетки (32-512)

  • MAX II, издаден през 2004 г., е произведен по 100 nm технология, състои се от по-голям брой единици (240-2210), работещи на честоти до 304 MHz. Продуктът се изработва в случаите от тип TQFP 0,5 милион със 100 или повече крака.

  • MAX IIZ - 2007, основната характеристика е намалената консумация на енергия - това е положителен момент, но честотите са намалени до 152 MHz. Тези микросхеми се захранват от 1,8 V.

  • MAX V - 2010 година. Произвежда се по 180nm технология, може да съдържа от 40 до 2210 блока и да работи на честоти до 152MHz или на 304MHz - зависи от броя на блоковете.

Altera 3 CPLD CPLD

FPGA:

  • Cyclone е бюджетен чип тип FPGA. Има пет поколения, които са маркирани с гръцки числа (съответно от I до V). Първото поколение е пуснато през 2002 г., произведено по 180nm технология, а петото поколение е пуснато през 2011 г. и произведено по 28nm технология. Заслужава да се отбележи, че всички поколения остават уместни.

  • Arria - също вижте FPGA от средния клас.

  • Stratix - Мощни FPGA.

По-долу са програмируемите логически опорни таблици на Altera FPGA.

Функции на FPGA
Функции на FPGA
Функции на FPGA

И пълната маса на линка:https://e.imadeself.com/tablitsa.docx

Производителят Xilinx CPLD представи серия:

  • XC9500XL от 36-288 макроклетки. Те работят на честоти до 178 MHz, а модели на 288 макроклетки на 208 MHz. Извършва се както в малки случаи с 44 пина (отвеждания) на разстояние 0,8 мм един от друг - такива случаи се считат за лесно запоени. Предлага се също с 64 и 100 крака с стъпки от 0,5 мм, както и модели в заграждения тип PLCC.

  • CoolRunner-II серията е енергийно ефективен, но продуктивен CPLD. Една функция се захранва от напрежение от 1,8 V, входовете и изходите са проектирани да работят в обхвата от 1,5-3,3V. Те се състоят от 32-512 макроклетки и се произвеждат по 180nm технология. В зависимост от броя на клетките, те работят в честотен диапазон 179-323 MHz и колкото по-малки са клетките, толкова повече честота могат да работят в този случай. Те се срещат в различни случаи, включително лесно запоени, както в микросхемите от разгледаните по-горе серии.

Компанията Xilinx не подмина и FPGA:

  • Spartan-6 - се състои от 6 входни логически блока, броят им се намира в диапазона от 3840-147443 броя. Интересното е, че те могат да съдържат контролери за обмен на данни като DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA и т.н. ...

  • Серията Vitrex-7 е сложна, микросхемите могат да съдържат до 2 000 000 логически блока и 1200 контакта.

По-долу можете да намерите обобщените таблици със спецификациите CPLD и FPGA от серията Xilinx 6 и 7, както и Zynq-7000.

Функции на Xilinx 6 и 7 серия FPGA
Характеристики на Virtex-6 FPGAs
Характеристики на фамилията FPGA Spartan-6
Характеристики на фамилията FPGA Spartan-6
Функции на FPGA
Функции на FPGA

заключение

FPGA и PCVMs се произвеждат и от други компании като Lattice Semiconductor (през 2002 г. започнаха да произвеждат FPGAs), Actel и неговите известни читатели на нашия сайт. микроконтролери ATMEL и много други. По програмируемата логика е възможно да се реализират редица устройства, да се реализират паралелни изчисления, независими едно от друго в едно устройство, обаче, за домашни проекти, закупуването им често е финансово необосновано, но доста разумно в производствен мащаб, като алтернатива на потребителските интегрални схеми.

ПослеписГледайте видеото, в него ще видите пример за внедряването на игровата конзола Nintendo на FPGA:

Вижте също на e.imadeself.com:

  • Език на функционалната блокова диаграма (FBD) и нейното приложение
  • Видове съвременни интегрални схеми - видове логика, случаи
  • Логически чипове. Част 1
  • PIC микроконтролери за начинаещи
  • Програмируеми логически контролери за автоматизация на дома

  •