Программируемые логические интегральные схемы (ПЛИС): что это такое

Программируемые логические интегральные схемы (ПЛИС): что это такое

Программируемые логические интегральные схемы (ПЛИС): что это такое
15

В отличие от процессоров и микроконтроллеров, программируемая логическая интегральная схема не выполняет никакого программного кода. Это понятие просто неприменимо к ней (поэтому термин «программирование» не совсем корректно). В ПЛИС конфигурируются внутренние электрические связи между отдельными внутренними блоками. Их функции разные: маршрутизация, логические операции, хранение, задержка и т. д. Так можно реализовать функционал почти любой цифровой интегральной схемы. Это обеспечивает параллельную работу всех блоков, принципиально недостижимую в микропроцессорах или микроконтроллерах, выполняющих программу «шаг за шагом». А в отличие от интегральных микросхем специального назначения (ASIC), которые конфигурируются единственный раз непосредственно при производстве, ПЛИС позволяют программно менять конфигурацию. Конечно, с потерей скорости и дороже, чем у ASIC.

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

ПЛИС? Это очень просто!

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

Устройство поддерживало запись и чтение невероятно большого объёма данных (по меркам 1990-х годов) с помощью распространённого оборудования и дешёвого носителя — видеокассеты.

Вернёмся к теме статьи и выясним, почему же первый вариант устройства собран на относительно крупной плате и содержит десятки микросхем, а второй — единицы, а основную работу выполняет одна. Как удалось вместить функционал множества микросхем «под крышей» всего одной?

АрВид схема
АрВид 1010. Работает на дискретных микросхемах: логических элементах, счётчиках, регистрах, шифраторах, дешифраторах, модулях памяти и т. д.

Вся логика работы целого устройства была заложена в специализированную микросхему — программируемую логическую интегральную схему (ПЛИС). Эта разновидность цифровых микросхем «с завода» не способна выполнять каких-либо задач. Даже простейшая К155ЛА3 — известный многим счетверённый логический элемент 2И-НЕ — в сравнении с пустой ПЛИС является просто «суперкомпьютером».

Однако если произвести конфигурирование (или, что менее корректно, программирование) ПЛИС, то её способности раскрываются в полном объёме.

Программируемая логическая интегральная схема способна стать хоть примитивной «К155ЛА3», хоть высокопроизводительным центральным процессором. Возможности ограничены только талантом разработчика конфигурации и «стоимостью» ПЛИС (вернее, аппаратными возможностями за конкретную стоимость от десятков центов до десятков тысяч долларов за одну (!) микросхему).

плис электротехника
АрВид 1031. ПЛИС под наклейкой выполняет весь функционал

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

Что же такое ПЛИС?

Программируемые логические интегральные схемы или, сокращённо, ПЛИС (по англ. Programmable Logic Device, PLD) — это общее название интегральных схем с конфигурируемой (программируемой) аппаратной частью. Они принципиально отличаются, к примеру, от микропроцессоров, аппаратная часть которых не изменяется, но характер решаемых задач меняется в рамках выполняемой ими программы. Аппаратная часть ПЛИС может быть напрямую сконфигурирована для конкретной задачи без выполнения какой-либо программы.

Причиной появления ПЛИС стал факт, что в то время (1970-е годы) большинство цифровых схем проектировалось на основе логических микросхем. К примеру, серии 74XX: логические элементы, триггеры, счётчики, шифраторы, дешифраторы, регистры и т. д. Для решения не очень сложной задачи требовалось от единиц до сотен отдельных микросхем. Такой подход, очевидно, был сопряжён с рядом трудностей, а именно был трудоёмок и затратен. Кроме того, россыпь нескольких десятков «прожорливых» микросхем ну никак не совместима с понятием «малогабаритный» или «портативный». Множество дискретных микросхем могли быть заменены одной программируемой вентильной матрицей (Programmable Logic Array, PLA) — прародителем современных ПЛИС.

gal16v8d
Микросхема программируемой логики GAL16V8D заменяла собой пару десятков дискретных микросхем «мелкой» логики серии 74XX. Изображение отсканировано из книги с чёрно-белой печатью

Для достижения этой цели использовались программируемые И-ИЛИ вентильные матрицы (смотри рисунок ниже), где кружки обозначают возможные соединения, включение или выключение которых позволяло реализовать любую логику работы. Такая реализация называется суммированием произведений (Sum of products, SOP), поскольку состоит из слоя произведения (вентили И), за которым следует слой суммирования (вентиль ИЛИ).

матрица и или
«Чистая» матрица (слева) и запрограммированная (справа) для выполнения логической операции y = a * b + a′ * b′ * c * d. Программирование выполнялось либо замыканием нужных ячеек (чёрные кружки), либо пережиганием ненужных (белые кружки) в зависимости от типа матрицы

Пример, представленный на рисунке, реализует SOP y = a * b + a′ * b′ * c * d (чёрные кружки указывают на то, что проводники соединены между собой. Разумеется, на неиспользуемые входы первого вентиля И должна быть подана логическая единица, а на один вход третьего вентиля И должен быть подан логический ноль, поскольку в примере он не используется).

Первые ПЛИС были представлены в 1970-х годах. Первые две ранних разновидности назывались программируемой логической вентильной матрицей: Programmable Logic Array (PLA), представленной компанией Signetics в середине 1970-х годов и Programmable Array of Logic (PAL) от Monolithic Memories. Оба ранних ПЛИС имели серьёзные ограничения, главным из которых было отсутствие триггеров. Поэтому они подходили только для реализации комбинаторных логических схем. Эти ограничения были устранены компанией Lattice, представившей в начале 1980-х годов ПЛИС Generic Array of Logic (GAL), которая содержит макроячейку на каждом выходе с триггером и несколькими вариантами маршрутизации.

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

развитие плис
Основные вехи развития ПЛИС

Первая (Altera, созданная в 1983 году; ныне часть компании Intel) представила первую комплексную программируемую логическую схему (Complex Programmable Logic Device, CPLD). Она состояла из относительно небольших массивов блоков, подобных GAL, среднего размера, с энергонезависимой конфигурационной памятью, но с более развитыми функциями маршрутизации, хранения, задержки и тактирования.

Вторая компания (Xilinx, созданная в 1984 году; ныне часть компании AMD) представила оригинальный подход на основе программируемой логической вентильной матрицы (Field Programmable Gate Array, FPGA). Термин FPGA стал синонимом ПЛИС, подхваченный другими компаниями.

плис xilinx
Первые продукты компаний Altera — CPLD EP300 и Xilinx — FPGA XC2064. Изображение отсканировано из книги с чёрно-белой печатью

Технология FPGA, которая, по сути, представляет большую матрицу небольших кластеров макроячеек, подобных GAL (по сути, двумерный массив макроячеек GAL), но с дополнительными важными отличиями: программируемая И-ИЛИ-матрица была заменена таблицей преобразования (Lookup Table, LUT), а энергонезависимая конфигурационная память — энергозависимой (SRAM). Первые устройства этих двух компаний, выпущенные в 1984 году, представлены на рисунке ниже.

Конфигурация памяти ПЛИС

В ПЛИС реализуются почти любые схемы, поскольку маршрутизация между её ячейками конфигурируется (как на изображении в предыдущем разделе). Память, в которой хранится схема этой маршрутизации, называется конфигурационной памятью (смотри рисунок в следующей части). Она, как правило, энергонезависима в PLA, PAL, GAL (вместе три разновидности имеют название SPLD — Simple PLD) и CPLD и, как правило, энергозависима в FPGA.

SPLD и CPLD изначально использовали в основном электрически стираемую память EEPROM (редко, но использовалась память EPROM с ультрафиолетовым стиранием), а затем flash-память.

FPGA в основном используют оперативную память типа SRAM, данные в которую помещаются из энергонезависимой памяти (flash или antifuse), используемой лишь в нескольких семействах микросхем некоторых компаний.

Память типа SRAM, установленная почти во всех FPGA, имеет (незначительный) недостаток — потерю данных о конфигурации ПЛИС при выключении питания. Чтобы решить эту проблему, компании, производящие FPGA, продают недорогую энергонезависимую память для хранения данных конфигурации, которые извлекаются и автоматически загружаются самой ПЛИС при каждом включении питания.

Память типа EEPROM, используемая в ранних ПЛИС, была заменена на flash-память, преимущество которой всего в одном транзисторе на ячейку против двух у EEPROM (flash-память не требует транзистора адресации ячеек).

Менее популярный подход — память типа antifuse, представленная Actel (ныне часть компании Microsemi) в конце 1980-х годов. В отличие от плавких предохранителей (fuses), которые плавятся и разъединяют цепь при прохождении через них большого тока, «антипредохранитель» (antifuse), наоборот, соединяет их. Специальный материал после расплавления и сплавления большим током становится проводящим. «Предохранители» и «антипредохранители», о которых идёт речь, — часть кристалла микросхемы. Они заменили привычные всем плавкие предохранители. Память позволяет однократно сконфигурировать ПЛИС путём пережигания (или, наоборот, сплавления) требуемых цепей. Ранние PLA и PAL конфигурировались именно так. Другая технология («ViaLink») «антипредохранителя» была представлена компанией QuickLogic. В ней соединяются два металлических слоя кристалла ПЛИС при плавлении вместо соединения кремниево-поликремниевых слоёв, как в оригинальном «антипредохранителе» Actel.

SRAM, в отличие от памяти других типов, можно собирать по традиционным КМОП-технологиям. Это дешевле, позволяет использовать все технологические преимущества. К примеру, чрезвычайно высокую скорость доступа. Это позволило производителям использовать именно SRAM-память для хранения конфигурации ПЛИС.

История развития ПЛИС — это путь от вентильных матриц до сложных FPGA, способных заменить собой целые платы, заполненные дискретной логикой, регистрами, счётчиками, памятью и специализированными микросхемами. Идея перенести всю логику устройства «внутрь» одной микросхемы раскрыла перед разработчиками новые возможности: ускорила проектирование, снизила себестоимость, позволив создавать устройства, ранее невозможные из-за ограничений габаритов или энергоэффективности.

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


Понравилась статья? Поделитесь ей в ваших социальных сетях:
Логический анализатор: что это такое и зачем он нужен
Логический анализатор: что это, чем отличается от осциллографа и нужен ли вам. Разбор классов, параметров и сравнение ПО Logic 2 vs Sigrok/PulseView.
Логический анализатор: что это такое и зачем он нужен 265
Логический анализатор: что это такое и зачем он нужен
CES 2026: что интересного для инженера и радиолюбителя
CES 2026: AI-хайп превратился в реальные платформы. Обзор новых NPU, Thunderbolt 5, 5G RedCap и гибких аккумуляторов для embedded-разработчика.
CES 2026: что интересного для инженера и радиолюбителя 233
CES 2026: что интересного для инженера и радиолюбителя
Ремонт плат в 2025-2026 годах: почему стало сложнее и что с этим делать
SMD-компоненты размером с пылинку, отсутствие схем и многолистовые платы. Разбираем, почему в 2026 году мультиметра уже недостаточно, и какое оборудование помогает в ремонте электроники.
Ремонт плат в 2025-2026 годах: почему стало сложнее и что с этим делать 436
Ремонт плат в 2025-2026 годах: почему стало сложнее и что с этим делать