
«Лень – двигатель прогресса!» Нет, я сейчас не про стиральную машину, пульт дистанционного управления или подгузники. Я сейчас про ленивых электроников. Ну лень им было лишний раз браться за паяльник, раскладывать «рассыпуху» на плате и разыскивать под столом нечаянно обронённый пинцет. И тогда они придумали… FPGA или, по-русски — ПЛИС.
В статье я расскажу, что такое FPGA, зачем нужно и как помогает сегодняшним электронщикам. Кратко рассмотрим его принцип работы и популярные программные решения в этой сфере.
Время чтения: 18 минут
- Что такое FPGA (ПЛИС)
- Архитектура и принципы работы FPGA
- Отличия FPGA от CPLD
- Роль HDL (VHDL, Verilog) в программировании FPGA
- Инструменты разработки: Xilinx Vivado, Intel Quartus, Lattice Diamond
- Главные функции инструментов разработки
- Применение FPGA
- Преимущества и недостатки FPGA
- Главные направления развития FPGA
Что такое FPGA (ПЛИС)
Фактически это набор элементарных компонентов или их групп, между которыми программно устанавливаются связи в соответствии с разработанной схемой. Вместо пинцета и паяльника — компьютерная мышь и клавиатура!
Удобно, быстро, можно проверить задумку на симуляторе и перепрограммировать. Прошивка несложная. А ещё у ПЛИСов низкая цена, впечатляющее быстродействие и малая потребляемая мощность.
Понравилось. И понеслось! Создавались всё более совершенные конструкции. Разработчики соревновались в мощности, скорости, функциональности. Из разросшегося разнообразия стали выделяться определённые группы по технической направленности:

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

Программируемая Пользователем Вентильная Матрица ППВМ (Field-Programmable Gate Array — FPGA) содержит массив программируемых логических блоков CLB (Configurable Logic Block) и связующую их матрицу переключения. Этот класс является более сложным, однако более гибким инструментом в руках электроников. «Всё познаётся в сравнении», – предупреждал Рене Декарт. Ближайшие конкуренты ПЛИСов — микроконтроллеры и ИМСП (интегральные микросхемы специального назначения), иначе ASIC (Application-Specific Integrated Circuit).

Характеристика | ПЛИС | ИМСП | Микроконтроллер |
Гибкость | Повышенная (можно перепрограммировать) | Сниженная (изменение требует нового проекта) | Ограниченная, но достаточная для большинства задач |
Производительность | Повышенная (для параллельных задач) | Высокая для специализированных задач | Невысокая, предназначены для общего назначения |
Скорость разработки | Увеличенная, позволяет прототипировать | Пониженная, требует много ресурсов для разработки | Повышенная, но с меньшими возможностями для масштабирования |
Стоимость разработки | Средняя | Дорогая | Малая |
Стоимость | Дешевле для малых тиражей | Дешевле для больших тиражей | Доступна для массового производства |
Энергопотребление | Умеренное | Малое | Малое |
Типичные применения | Цифровая обработка сигналов; прототипирование и адаптивные системы | Специализированные задачи, массовое производство | Встраиваемые системы, несложные задачи |
Как следует из таблицы, микросхемы ПЛИС стали сбалансированным компромиссом между гибкостью, производительностью и ценой, прежде всего для средних и малых серий. ИМСП производительнее, но требуют больших капиталовложений и не допускают изменений после выпуска. Микроконтроллеры несложные в использовании и дёшевы, но уступают ПЛИСам по производительности, преимущественно в задачах параллельной обработки.
Преимущества FPGA
ПЛИСЫ имеют большую гибкость, что делает их незаменимыми в разных областях передовой электроники. Их преимущества:
- Оперативная разработка. Перепрограммируемость ПЛИСов создаёт условия для скорого прототипирования и тестирования алгоритмов и архитектуры без необходимости переделки физических схем.
- Гибкость. ПЛИСы легко адаптируются к изменяющимся требованиям проекта, поэтому быстро реагируют на новые задачи и улучшают продуктивность.
- Повышенная производительность. У современных ПЛИСов большая вычислительная мощность, что делает их подходящими для сложных задач цифровой обработки сигналов (ЦОС, DSP).
- Экономичность. Для небольших и средних объёмов производства ПЛИСы экономичнее, чем ИМСП, прежде всего на ранних этапах разработки.
Затем в статье подробнее рассмотрим ППВМ наиболее известных фирм Xilinx и Intel FPGA.
Архитектура и принципы работы FPGA
Вентильные матрицы состоят из нескольких основополагающих компонентов, работающих согласованно.

Компонент | Описание |
CLB-блоки | Определяющие единицы логики, которые конфигурируются для выполнения задаваемых логических операций. Каждый CLB состоит из нескольких LUT (Lookup Tables) и триггеров (Flip-Flops). |
Коммутационные матрицы | Обеспечивают взаимосвязь между CLB, памятью и внешними интерфейсами и настраивают маршрутизацию сигналов ППВМ, что критично для оптимизации производительности и уменьшения задержек. |
Память | В ППВМ встроены RAM (SRAM, DRAM) и ROM, которые используются для хранения данных и программ. Она может быть локальной (внутри CLB) или сетевой (доступной для всей схемы). |
DSP-блоки | Специализированные единицы, оптимизированные для выполнения операций ЦОС: умножение и сложение. У них большая производительность и скорость вычисления. |
Совместно эти компоненты обеспечивают ППВМ решение сложных логических задач и алгоритмов, адаптируясь под конкретные требования проекта.
Отличия FPGA от CPLD
Хотя они относятся к категории программируемых логических устройств, у них есть заметные различия в архитектуре и применении:
Характеристика | FPGA | CPLD |
Архитектура | Модулированная и гибкая, использует CLB и маршрутизацию | Компактная и более фиксированная, основана на логических элементах (PAL и GAL) |
Количество логики | Повышенная плотность, рекомендуется для сложных задач | Меньшая плотность, применяется для несложных схем |
Маршрутизация | Сложная коммутационная многоуровневая матрица | Упрощённая маршрутизация |
Скорость работы | Присутствует задержка из-за маршрутизации | Повышенная с точки зрения времени отклика |
Потребление энергии | Повышенное из-за сложности схемы | Невелико |
Цена | Повышенная | Дешевле |
Применение | Высокопроизводительные приложения, DSP | Несложные логические функции, контроллеры |
Главное отличие заключается в уровне сложности реализуемых проектов. Первые предлагают большую гибкость и мощность, вторые же легче в освоении и дешевле в производстве.
Роль HDL (VHDL, Verilog) в программировании FPGA
HDL (Hardware Description Language) — языки описания электронной аппаратуры, используемые для программирования ПЛИС. Самые распространённые языки: VHDL и Verilog. Они способны описывать аппаратную логику на уровнях абстракции от битовых операций до сложных подсистем. Вот их особенности:
- Синтаксические различия. VHDL более структурированный и формальный язык с сильной типизацией, что способствует улучшению читаемости и поддерживаемости больших проектов. Verilog больше интуитивный и похож на языки программирования (C, C++), что удобнее программистам.
- Методы проектирования ПЛИС. Есть два определяющих метода: top-down (сверху вниз) и bottom-up (снизу вверх). Первый начинается с обзорного описания системы, потом идёт декомпозиция на подсистемы и модули. Второй начинается с описания отдельных компонентов, которые потом встраиваются в блоки. Выбор метода зависит от сложности проекта и опыта разработчика.
- Верификация. Это процесс проверки правильности работы проекта. Это симуляция (моделирование работы проекта), формальная верификация (математическое доказательство корректности) и тестирование на конкретном оборудовании. Продуктивная верификация критична для результативной разработки проектов на ПЛИСах.
HDL — основной «язык общения» с FPGA. Он позволяет создавать любые цифровые устройства: от простейших до самых сложных, прямо на базе «пустой» универсальной логики чипа. Причём делает это с высокой гибкостью и максимальным использованием параллелизма для достижения нужного быстродействия и функционала.
Инструменты разработки: Xilinx Vivado, Intel Quartus, Lattice Diamond
Они организуют поддержку всего хода проектирования — от написания кода до синтеза и тестирования. Рассмотрим три самых популярных инструмента.
Xilinx Vivado

Поддерживает разработку на FPGA от компании Xilinx. Обеспечивает продуктивные средства для синтеза, реализации и анализа производительности. Vivado также содержит инструменты для работы с высокоуровневыми языками, например, C и C++, упрощающие проектирование.
Intel Quartus

Инструмент для разработки на FPGA от Intel (ранее Altera). Quartus предлагает увеличенный набор функций с автоматизированным синтезом, оптимизацией и анализом. Поддерживает как VHDL, так и Verilog, а также предоставляет средства для работы с системами на кристалле (SoC).
Lattice Diamond

Эта программа от компании Lattice Semiconductor. Она ориентирована на компактные продукты с малым энергопотреблением. Diamond предлагает интуитивно понятный интерфейс и поддерживает распространённые языки описания аппаратуры, а также инструменты для анализа и отладки.
Главные функции инструментов разработки
Их несколько:
- Синтез: преобразование HDL-кода в конфигурацию ПЛИС.
- Имплементация: оптимизация размещения и маршрутизации логических элементов на кристалле.
- Тестирование и отладка: инструменты для проверки работоспособности схемы и поиска ошибок.
- Анализ производительности: оценка временных характеристик и потребления ресурсов.
Эти инструменты сильно упрощают процесс разработки, позволяя инженерам сосредоточиться на проектировании и оптимизации систем, а не на низкоуровневых аспектах реализации.
Выбор инструмента зависит от конкретного проекта, доступности документации и поддержки сообщества.
Применение FPGA
Они используются в разноплановых областях, где требуется повышенная производительность, гибкость и параллелизм. Программируемая природа позволяет адаптировать их к конкретным задачам, что удачно отличает их от ASIC или специализированных процессоров.
Встроенные системы и промышленная автоматика
В этом секторе они удачно справляются с поставленными задачами благодаря высокоскоростной работе и параллельной архитектуре.
Отрасль | Функции |
Обработка данных в реальном времени | Сбор, фильтрация и анализ сигналов с датчиков в системах мониторинга и управления промышленными процессами. Реализуют сложные алгоритмы с минимальной задержкой |
Управление двигателями | Точное и оперативное регулирование скорости и крутящего момента по сложным алгоритмам (PID-регуляторы) |
ПЛК (программируемые логические контроллеры) | Замена или дополнение традиционных ПЛК. Обеспечение большей гибкости и способности адаптации для поставленных задач способствует развитию более сложных систем управления с меньшими аппаратными затратами |
Пример: манипуляции роботизированной руки на сборочной линии требуют мгновенной реакции на изменения положения объектов. Вентильные матрицы обеспечивают необходимые вычислительные мощности для анализа поступающей информации и принятия решений в режиме реального времени.
Радиотехника и ЦОС
Цифровые сигнальные процессоры (DSP) часто ограничены фиксированной архитектурой, тогда как ППВМ предоставляют условия динамически менять конфигурацию, это облегчает реализацию разноплановых алгоритмов ЦОС и адаптацию к смене условий работы.
Отрасль | Функции |
Программируемые радиосистемы SDR (Software Defined Radio) | Обеспечение гибкости радиосистем, которые способны адаптироваться к различным стандартам и протоколам связи |
Фазированные решётки | Оперативное управление параметрами антенн, улучшение направленности излучения и повышение качества связи |
Модуляция и демодуляция сигналов | Реализация сложных алгоритмов обработки информации, такие как OFDM (частотное уплотнение с ортогональными несущими) и QAM (квадратурно-амплитудная модуляция), используемые в современных системах связи |
Пример: в военных радарах ППВМ применяют для обработки большого объёма информации массива антенн для быстрого обнаружения цели и корректировки направления луча
Высокопроизводительные вычисления
Параллельная архитектура ускоряет работу приложений, требующих больших объёмов вычислений.
Отрасль | Функции |
Финансовые вычисления | Реализация алгоритмов высокочастотной торговли (HFT) и других приложений, где моделируются финансовые рынки и рассчитываются трейдинговые стратегии, требующие минимизации программных задержек |
Обработка потока данных | Анализ информационных потоков в высоконагруженных системах (HPC) возможен благодаря внедрению ПЛИС для параллельных операций с массивами |
Пример: ППВМ используются в суперкомпьютерах для ускорения научных расчётов, таких как моделирование климата или симуляции ядерных реакций, а также для машинного обучения нейросетей.
Автомобильная электроника
В наше время автомобили становятся всё более сложными механизмами с различными датчиками и исполнительными механизмами.
Отрасль | Функции |
Система помощи водителю (ADAS) | Поддержка алгоритмов автоматизированного вождения: распознавание и классификация объектов на дороге и др. |
Радары и лидары | Обработка сигналов с радаров и лазерных сканеров, применяемых для обнаружения препятствий и оценки окружающей обстановки |
Системы управления | ПЛИС интегрируются в блоки управления двигателем, трансмиссией и тормозной системой для повышения точности и надёжности |
Пример: Tesla использует вентильные матрицы в своих автомобилях для обеспечения функций автопилота, распознавания дорожных знаков, разметок и т. д.
Телекоммуникации и сети
Вентильные матрицы играют важную роль в области телекоммуникаций поддержкой новых стандартов и технологий.
Отрасль | Функции |
5G | Обеспечение повышенной пропускной способности с малой задержкой в сетях пятого поколения |
Маршрутизация пакетов | Увеличенная скорость и гибкость конфигурации в сетевых коммутаторах и роутерах |
Оптические сети | Информационный обмен по волоконно-оптическим линиям с увеличенной надёжностью |
Пример: операторы мобильной связи задействуют ППВМ для протоколов 5G NR, дающих высокую скорость передачи данных и малое время отклика.
Преимущества и недостатки FPGA
Вентильные матрицы предлагают оптимизированный баланс эксплуатационныхпараметров. Однако, как и у любой технологии, у них есть сильные и слабые стороны.
Преимущество | Описание | Сравнение с альтернативами |
Повышенная производительность | Параллельная архитектура способна выполнять множество операций одновременно. | Опережает микроконтроллеры, сопоставима с DSP. Однако здесь противостояние ASIC vs FPGA не в пользу последнего. |
Гибкость | Функциональность легко изменяется путём перепрограммирования. Важно для адаптации к новым требованиям проекта и для прототипирования. | Ощутимо опережает специализированные чипы, сопоставима с микроконтроллерами (но с большей мощностью). |
Повторное программирование | Переконфигурирование без физических изменений. Способность использования одной аппаратной платформы при смене задач. | FPGA в сравнении с ASIC выигрывает способностью изменять функционал без перепроектирования. |
Малые задержки | Оперативная обработка данных в текущем времени. | Превосходит микроконтроллеры, близка к специализированным и DSP, но зависит от реализации. |
Но есть и недостатки
Недостаток | Описание | Сравнение с альтернативами |
Повышенная цена при массовом производстве | Цена продукции выше, чем у специализированных устройств (плата за универсальность). | Намного дороже ASIC, но дешевле при небольших объёмах. |
Сложность разработки | Нужны навыки и знания языков описания HDL и инструментов проектирования. | Сложнее, чем для микроконтроллеров, но проще, чем для специализированных микросхем. |
Энергопотребление | Множество логических элементов и межсоединений требуют больше энергии. | Часто выше, чем у ASIC, близко к DSP, ниже, чем у некоторых микроконтроллеров. |
Главные направления развития FPGA
Развитие вентильных матриц продолжается стремительными темпами. Главным направлением является совершенствование первостепенных характеристик:
- Увеличение плотности логики: возможность разработок более сложных и производительных систем. Этого удаётся достичь с помощью совершенствования технологий.
- Встроенные процессоры: с интеграцией микропроцессорных ядер, таких как ARM Cortex-A или RISC-V, создают системы на кристалле (SoC), которые суммируют преимущества программируемой логики и вычислительных мощностей. Это упрощает структуру и снижает затраты на разработку.
- Снижение энергопотребления: совершенствуются архитектуры и технологии, направленные на энергетическую экономичность вентильных матриц. Это чрезвычайно важно для портативных и мобильных устройств, и ещё для систем с лимитированным энергоснабжением.
Ожидается, что значение вентильных матриц в дальнейшем будет повышаться в различных областях электронной промышленности. Последующее совершенствование технологий производства и архитектур будет способствовать росту плотности логики, снижению энергопотребления и расширению функциональности. Это позволит использовать FPGA в многообразном спектре приложений, от квантовых вычислений до искусственного интеллекта.
Интеграция в более сложные системы на чипе (SoC) также будет способствовать их распространению и усилению продуктивности разработки встраиваемых устройств. В итоге FPGA сохранят свою позицию как гибкое и эффективное решение для различных задач в прогрессирующей электронике.
Значение FPGA в нынешней электронике постоянно растёт. Их массовое применение обусловлено способностью продуктивно решать задачи, требующие высокоскоростной обработки информации, параллельности и малых задержек. Больше всего это приоритетно для быстро развивающихся объёмов данных, например, в телекоммуникациях (5G и пост-5G сети), автономных автомобилях (ADAS), высокопроизводительных вычислениях (HPC) и других областях. Способность оперативной переконфигурации делает вентильные матрицы пригодным инструментом для прототипирования и оперативного вывода новых продуктов на рынок, а также для адаптации систем к перемене задач.