категории: Микроконтролер вериги
Брой преглеждания: 21445
Коментари към статията: 0
Какво е FPGA прост език за начинаещи
С какво е свързана цифровата електроника? На първо място, с логически елементи И, ИЛИ, НЕ. Освен това регистрите за смяна, декодерите, мултиплексорите и т.н. влизат в паметта. Въпреки това, тъй като сложността на електронните устройства и тенденцията към миниатюризация се увеличават, създаването на устройства на базата на интегрални схеми (ИС) от горните компоненти става по-трудно, персонализираните ИС с необходимата топология и схема се оказват полезни само когато устройството се репликира в голям брой, в други случаи е неоправдано скъпо.
Изходът от тази ситуация беше разработването на програмируеми интегрирани логически схеми (съкратено като FPGA, чуждо съкращение като програмируемо логическо устройство, PLD). За какво е и къде се използва ще разкажем в тази статия.
Разлики от микроконтролерите
С думата „програмируем“ се свързват повечето начинаещи с микроконтролери, Въпреки факта, че те също са програмирани, FPGA са съвсем различно устройство.
За разработчиците в микроконтролери е наличен фиксиран набор от решения и инструменти, които са присъщи на определен чип, той няма да работи по никакъв начин да се оттегли от архитектурата. Давате ви набор от команди, с които извършвате операции на взаимодействие с околната среда, като четете данни от цифрови и аналогови входове и изпращате сигнали до задействащи механизми, използвайки изходи.
В допълнение можете да извършвате изчисления, да записвате данни в регистрите или ROM, както и да работите с данни, мигащи в паметта на микроконтролера. На това по същество е целта и характеристиките на работата с микроконтролери.
Програмируемите логически интегрални схеми (FPGA) се различават по това, че когато програмирате устройство, вие сами създавате архитектура от основни логически елементи. По този начин вие получавате висока скорост и гъвкавост на чипа. Това дава възможност, без да се променя един чип, да се правят редица проекти.
Като цяло, вътрешното FPGA устройство може да бъде разделено на три основни групи:
1. Масив от логически елементи (макроклетки, логически блокове).
2. Блокове за вход / изход (IO).
3. Комуникационни линии между тях и устройството, което контролира тези връзки.
Такова структуриране обаче е много обобщено, ще разгледаме този въпрос по-подробно по-долу.
Чрез програмиране свързвате елементите по същия начин, както бихте сглобили устройство от отделни елементи и свържете техните входове и изходи с проводници.
Забележка:
Основната разлика между FPGA и микроконтролерите е, че в микроконтролера не можете да промените вътрешните връзки между най-простите елементи, а програмирането и работата с тях се основава на регистриране на връзки.
Изборът на микроконтролери се основава на много критерии, като например:
-
Скорост и тактова честота;
-
Количеството ROM и RAM;
-
Броят на входовете и изходите.
Други функционални функции и периферни устройства, като поддръжка на комуникационни линии и протоколи (I2C, едножилен, PWM сигнал и др.).
Когато избирате 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 устройство е показано по-подробно на фигурата по-долу.
И приблизителната схема на нейната макроклетка изглежда така:
Макроклетката се състои от програмируеми мултиплексори, тригери (един или повече) и формира група от изходни FB сигнали в няколко версии.
Следващият е друг пример - блок-схема на CPLD чип от семейството чипове Altera MAX II.
И структурният план на чиповете на едно и също семейство.
Междинните гуми се присвояват на макроклетките с помощта на възел като дистрибутор на английски. звучи като Logic Allocator, който е показан на диаграмата по-долу, той също показва матрицата на Global Routing Pool, а на изхода макроклетките имат две обратни връзки.
Външните изходи на микросхемата са свързани към изходите на макроелементите през друг блок (матрица) - ORP (Output Routing Pool), имайте предвид, че чрез нея логиката INPUT е свързана към GRP, както е показано на илюстрацията по-долу.
Забележка:
Някои CPLD имат т.нар директни входове (Direct Input) - те са свързани директно към входовете на клетките, което намалява закъсненията.
Структурата на FPGA има формата:
-
L - логически конфигурируем блок;
-
S (блок на заместване) - блок на заместване, той получава определен брой битове на ход, преобразува се по определен алгоритъм и извежда различен брой битове на изхода. С други думи, декодер, криптор и превключвател.
-
C (блок за свързване) - блок за връзка.
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 - зависи от броя на блоковете.
FPGA:
-
Cyclone е бюджетен чип тип FPGA. Има пет поколения, които са маркирани с гръцки числа (съответно от I до V). Първото поколение е пуснато през 2002 г., произведено по 180nm технология, а петото поколение е пуснато през 2011 г. и произведено по 28nm технология. Заслужава да се отбележи, че всички поколения остават уместни.
-
Arria - също вижте FPGA от средния клас.
-
Stratix - Мощни FPGA.
По-долу са програмируемите логически опорни таблици на Altera 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.
заключение
FPGA и PCVMs се произвеждат и от други компании като Lattice Semiconductor (през 2002 г. започнаха да произвеждат FPGAs), Actel и неговите известни читатели на нашия сайт. микроконтролери ATMEL и много други. По програмируемата логика е възможно да се реализират редица устройства, да се реализират паралелни изчисления, независими едно от друго в едно устройство, обаче, за домашни проекти, закупуването им често е финансово необосновано, но доста разумно в производствен мащаб, като алтернатива на потребителските интегрални схеми.
ПослеписГледайте видеото, в него ще видите пример за внедряването на игровата конзола Nintendo на FPGA:
Вижте също на e.imadeself.com
: