Что такое ПЛИС простым языком для начинающих

Отличия от микроконтроллеров

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

Кроме этого вы можете производить вычисления, сохранять данные в регистрах или ПЗУ, а также оперировать данными прошитыми в память микроконтроллера. На этом в сущности и заключается назначение и особенности работы с микроконтроллерами.

Программируемые логические интегральные схемы (ПЛИС) отличаются тем, что, программируя устройство вы сами создаете архитектуру из базовых логических элементов. Таким образом вы получаете высокое быстродействию и гибкость микросхемы. Это даёт возможность, не изменяя одного чипа сделать целый ряд проектов.

Обобщённо внутреннее устройство ПЛИС можно разделить на три основных группы:

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

2. Блоки входа-выхода (IO).

3. Линии связи между ними и устройство, которое управляет этими связями.

Однако такое структурирование очень обобщено, немного подробнее мы рассмотрим этот вопрос ниже.

Программируя вы соединяете элементы подобно тому как бы вы это делали, собирая из отдельных элементов устройство и соединяя их входы и выходы проводниками.

 

Примечание:

Главным отличием ПЛИС от микроконтроллеров является то, что в микроконтроллере вы не можете изменять внутренних связей между простейшими элементами, а в ПЛИС на основе прописывания связей основывается программирование и работа с ними.

Выбор микроконтроллеров происходит на основе множества критериев, таких как:

  • Быстродействие и тактовая частота;
  • Объем ПЗУ и ;
  • Количество входов и выходов.

Другие функциональные особенности и периферии, типа поддержки линий связи и протоколов (I2C, one-wire, PWM-сигнал и прочее).

В зависимости от конкретного ПЛИС количество блоков может изменяться в широких пределах, соответственно изменяется и .

  Как рассчитать расход электроэнергии

Микроконтроллер выполняет последовательно все операции, прописанные в его программе, в то время как блоки ПЛИС выполняют задачу параллельно и независимо друг от друга, поэтому сравнение этих устройств по тактовой частоте нецелесообразно. Слишком различается их принцип работы.

Виды

Актуальными на сегодняшний день являются два основных вида ПЛИС:

В ней обычно есть встроенная энергонезависимая памятью, в которую загружается прошивка.

Внутренняя структура строится на матрице макроячеек или логических блоков, а количество элементов в них лежит в пределах сотен и тысяч штук. Благодаря относительной простоте стоят дешевле чем следующий вид программируемой логики. Всё это приводит к тому, что используется CPLD в основном в схемах, где нужна высокая скорость и большое число выводов, при этом выполняют несложные задачи.

2. FPGA (Field-Programmable Gate Array - Программируемая Пользователем Вентильная Матрица, однако её часто относят к ПЛИС)

Прошивка, как правило, хранится во внешней энергонезависимой памяти. Кроме простейших логических элементов в FPGA могут содержаться готовые блоки для выполнения каких-либо операций, например, блоки обработки сигнала DSP. Всё это позволяет реализовать процессор, устройства обработки сигналов и другие сложные устройства.

Интересно:

Хотя фактически наличие энергонезависимой памяти не делает программируемую логику CPLD. Это частично заблуждение. Главным отличием CPLD от FPGA является внутренняя структура.

Подробнее внутреннее устройство CPLD изображено на рисунке ниже.

А примерная схема её макроячейки выглядит таким образом:

Макроячейка состоит из программируемых мультиплексоров, триггеров (одного или нескольких) и формирует группу выходных сигналов ФБ в нескольких их вариантах.

Ниже приведен еще один пример – блок-схема CPLD микросхемы семейства MAX II фирмы Altera.

И структурный микросхем этого же семейства.

Промежуточные шины макроячейкам назначаются с помощью такого узла, как распределитель, на англ. он звучит как Logic Allocator, что изображено на схеме ниже, на ней же изображена матрица переключений (Global Routing Pool), а у выходных макроячейки (macrocells) имеют по две обратных связи.

  Почему мигают светодиодные лампы после выключения? Виноват выключатель с подсветкой!

Внешние выводы микросхемы соединяются с выходами макроячеек через еще один блок (матрицу) – ORP (Output Routing Pool), обратите внимание, что через неё же происходит соединение ВХОДНОЙ логики с GRP, что изображено на иллюстрации ниже.

Примечание:

В некоторых CPLD есть т.н. прямые входы (Direct Input) – они соединены со входами ячеек напрямую, что уменьшает задержки.

У FPGA структура имеет вид:

  • L – логический конфигурируемый блок;
  • S (substitution block) – блок подстановок, он получает на ход определенное число бит, преобразует, по определенному алгоритму, а на выходе выдаёт другое число бит. Другими словами – дешифратор, шифратор и коммутатор.
  • C (connection block) – блок соединений.

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

Научитесь разрабатывать устройства на базе микроконтроллеров и станьте инженером умных устройств с нуля: Инженер умных устройств

Программирование

HDL (Hardware Description Language, рус. Язык описания аппаратуры)

 

Разработчикам, которые работают с ПЛИС доступно графическое программирование. То есть вы можете просто рисовать логические схемы или комбинировать код с графикой. Последнее называют модульным методом разработки, когда конкретные модули прописываются, а верхний модуль, в котором всё объединяется программируется графическим способом.

 

Подборка полезных статей про микроконтроллеры:

Микроконтроллеры AVR для начинающих

Микроконтроллеры PIC для начинающих

Espruino, Iskra JS, микроконтроллеры программируемые на javascript

Примеры популярных производителей и серий ПЛИС

На момент написания статьи наиболее известными являются изделия двух производителей.

  • Altera (основана в 1983 году);
  • Xilinx (Основана в 1984 году).

У Altera есть несколько основных серий программируемой логики:

  • MAX, MAX II, MAX IIZ;
  • 7000S;
  • 3000A;
  • MAX V;
  • Cyclone;
  • Arria;
  • Stratix.

Рассмотрим каждый из них подробнее. В таблицах ниже вы видите общие сведения о микросхемах семейства.

  Почему под ЛЭП бьет током

CPLD фирмы Altera 3 CPLD:

  • 7000S на сегодняшний день устарела, она выпущена в 1995 году.
  • MAX II выпущена в 2004 году, производится по 100нм , состоит из большего числа блоков (240-2210), работающих на частоте до 304МГц. Изделие выполняется в корпусах типа TQFP 0.5 mill со 100 и более ножек.

FPGA:

Ниже приведены сводные таблицы по программируемой логике FPGA от компании Altera.

И полная таблица по ссылке: http://electrik.info/tablitsa.docx

У производителя Xilinx CPLD представлены сериями:

Компания Xilinx не обошла стороной и FPGA:

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

Ниже вы можете ознакомиться со сводными таблицами с характеристиками CPLD и FPGA от Xilinx 6 и 7 серии, а также Zynq-7000.

Заключение

ПЛИС и ППВМ производится и другими компаниями такими как Lattice Semiconductor (в 2002 году начала производить FPGA), Actel и небезызвестный читателям нашего сайта своими микроконтроллерами ATMEL и многие другие. На программируемой логике можно реализовать ряд устройств, в одном устройстве реализовать параллельные независимые друг от друга вычисления, однако для домашних проектов часто их покупка является финансово неоправданной, но при этом довольно разумна в производственных масштабах, как альтернатива заказным интегральным схемам.

Алексей Бартош

P.S. Посмотрите видео, в нём вы увидите пример реализации игровой приставки Nintendo на FPGA:

 

Подписывайтесь на наш Телеграм-канал чтобы знать больше https://t.me/ieport_new

Читайте также: Носледние новости России и мира сегодня.

Pin It

Добавить комментарий