Открыть сервис

FPGA

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

История

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

Идея создания программируемых логических устройств возникла в 1960-х годах, когда инженеры искали способы сократить время и стоимость разработки специализированных интегральных схем (ASIC). Первыми коммерчески успешными программируемыми устройствами стали программируемые логические матрицы (PLA) и программируемые матричные логические схемы (PAL), предложенные компанией Monolithic Memories в 1970-х годах. Однако эти устройства имели ограниченную логическую ёмкость и фиксированную архитектуру.

Появление FPGA

Прорыв произошёл в 1984 году, когда компания Xilinx (основанная Россом Фрименом и Бернардом Вондершмиттом) представила первую в мире FPGA — модель XC2064. В отличие от предшественников, она содержала матрицу конфигурируемых логических блоков (CLB), окружённых программируемыми межсоединениями, что позволяло реализовывать произвольные логические функции. Технология конфигурации основывалась на статической памяти (SRAM), что делало FPGA энергозависимыми — при отключении питания конфигурация терялась, но зато допускала многократное перепрограммирование.

Развитие в 1990-х — 2000-х годах

В 1990-е годы FPGA быстро эволюционировали: увеличилась плотность логических элементов (с нескольких тысяч до сотен тысяч), появились встроенные блоки памяти, умножители и специализированные ядра (например, процессорные ядра). Компания Altera (ныне часть Intel) стала основным конкурентом Xilinx, предложив собственные архитектуры (серии FLEX, APEX, Stratix). В 2000-х годах FPGA начали использоваться в высокопроизводительных вычислениях, телекоммуникациях и военной технике. Ключевым событием стало внедрение в FPGA аппаратных блоков обработки сигналов (DSP-слайсов) и высокоскоростных последовательных трансиверов.

Современный этап

С 2010-х годов FPGA стали интегрировать в гетерогенные системы: на одном кристалле размещаются программируемая логика, процессорные ядра (ARM, RISC-V), графические ускорители и высокоскоростные интерфейсы (PCIe, DDR4/DDR5, Ethernet до 400 Гбит/с). Крупнейшие производители — Xilinx (с 2022 года — часть AMD) и Intel (Altera). FPGA активно применяются в центрах обработки данных (ускорение ИИ-алгоритмов), автомобильной электронике (системы ADAS), промышленной автоматизации и криптографии. В России разработкой FPGA занимаются компании «ЭЛВИС-НеоТек» (серия «Мультикор») и «НИИМЭ и Микрон» (серия «5500»), ориентированные на импортозамещение.

Архитектура

Логические блоки

Основной элемент FPGA — конфигурируемый логический блок (CLB, от англ. Configurable Logic Block). Каждый CLB содержит несколько логических ячеек (LUT, от англ. Look-Up Table), которые реализуют произвольную булеву функцию от 4–6 входов, а также триггеры (D-триггеры) для синхронной работы. LUT хранят таблицу истинности, которая загружается при конфигурировании. В современных FPGA CLB могут включать также мультиплексоры, сумматоры и элементы переноса для арифметических операций.

Программируемые соединения

Межсоединения между логическими блоками, блоками памяти и ввода-вывода реализуются через программируемые матрицы коммутации (Switch Matrix). Они состоят из транзисторных ключей, которые замыкают или размыкают проводники в зависимости от конфигурации. Архитектура соединений может быть иерархической: локальные линии (внутри одного кластера), глобальные линии (между кластерами) и длинные линии (для сигналов с малым временем задержки). Пропускная способность соединений критически влияет на производительность FPGA.

Блоки ввода-вывода (I/O)

Блоки ввода-вывода (IOB, от англ. Input/Output Block) обеспечивают интерфейс между внутренней логикой и внешними устройствами. Они поддерживают различные стандарты сигналов (LVCMOS, LVDS, SSTL, HSTL) и могут быть сконфигурированы как входные, выходные или двунаправленные. Современные FPGA имеют сотни и тысячи I/O-выводов, работающих на частотах до нескольких гигагерц.

Встроенные блоки

Для повышения производительности и функциональности FPGA содержат специализированные аппаратные блоки:

  • Блоки памяти (BRAM): статическая память объёмом от нескольких килобит до десятков мегабит, организованная в виде двухпортовых RAM/ROM.
  • DSP-слайсы: аппаратные умножители, сумматоры и аккумуляторы для обработки цифровых сигналов (фильтры, БПФ).
  • Трансиверы: высокоскоростные последовательные приёмопередатчики (до 112 Гбит/с) для стандартов PCIe, Ethernet, SATA.
  • Процессорные ядра: встроенные ARM Cortex-A/R или RISC-V (например, в сериях Xilinx Zynq и Intel Agilex).
  • Аналоговые блоки: АЦП, ЦАП, компараторы (в некоторых моделях).

Классификация

По способу конфигурации

  • SRAM-базированные: конфигурация хранится в статической памяти, энергозависимы, но допускают многократное перепрограммирование (наиболее распространены — Xilinx, Intel).
  • Flash-базированные: конфигурация хранится во флеш-памяти на кристалле, энергонезависимы, но перепрограммирование медленнее (например, Microchip (Atmel) ATF).
  • Antifuse (антиперемычка): однократно программируемые, используются в космической и военной технике из-за высокой радиационной стойкости (например, Microsemi (ныне Microchip) RTAX).

По логической ёмкости

  • Малые (Low-End): до 10 000 логических элементов (LE), для простых задач (управление, интерфейсы).
  • Средние (Mid-Range): от 10 000 до 500 000 LE, для цифровой обработки сигналов, видеоинтерфейсов.
  • Большие (High-End): более 500 000 LE, для высокопроизводительных вычислений, сетевого оборудования.

По области применения

  • Универсальные: общего назначения (Xilinx Artix, Intel Cyclone).
  • Высокопроизводительные: с большим количеством DSP-слайсов и трансиверов (Xilinx Virtex, Intel Stratix).
  • Энергоэффективные: с низким энергопотреблением (Lattice iCE, Microchip PolarFire).
  • Радиационно-стойкие: для космоса и обороны (Microchip RTG4, Xilinx Kintex UltraScale).

Применение

Цифровая обработка сигналов

FPGA широко используются в системах, требующих параллельной обработки данных с высокой пропускной способностью: цифровые фильтры, быстрое преобразование Фурье (БПФ), кодеки (видео, аудио), радиолокация (SAR, фазированные решётки). Благодаря DSP-слайсам FPGA могут обрабатывать сигналы в реальном времени с задержками в наносекунды.

Телекоммуникации

В сетевом оборудовании (маршрутизаторы, коммутаторы, базовые станции 5G) FPGA выполняют функции коммутации пакетов, шифрования, коррекции ошибок (FEC) и протокольной обработки. Высокая скорость трансиверов (до 112 Гбит/с) позволяет реализовывать интерфейсы Ethernet 400G и PCIe 5.0.

Искусственный интеллект и машинное обучение

FPGA применяются для ускорения нейронных сетей (особенно свёрточных и рекуррентных) в задачах компьютерного зрения, обработки естественного языка и рекомендательных систем. По сравнению с GPU, FPGA обеспечивают меньшую задержку и энергопотребление, а также допускают точную настройку архитектуры под конкретную модель. Примеры: платформы Xilinx Alveo, Intel Stratix 10.

Промышленная автоматизация

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

Автомобильная электроника

В современных автомобилях FPGA применяются в системах помощи водителю (ADAS), камерах заднего вида, лидарах и информационно-развлекательных системах. Они обеспечивают низкую задержку обработки видео и сенсорных данных.

Космическая и оборонная техника

Радиационно-стойкие FPGA используются в спутниках, ракетных системах, радиолокационных станциях и средствах связи. Они способны выдерживать воздействие космического излучения, экстремальные температуры и вибрации.

Преимущества и недостатки

Преимущества

  • Гибкость: возможность перепрограммирования под разные задачи без замены оборудования.
  • Параллелизм: тысячи логических блоков могут работать одновременно, что даёт высокую производительность для задач с параллельной обработкой.
  • Низкая задержка: отсутствие накладных расходов на интерпретацию кода (как у процессоров) позволяет достигать задержек в несколько тактов.
  • Прототипирование: FPGA позволяют быстро тестировать и отлаживать цифровые схемы перед запуском в серийное производство ASIC.

Недостатки

  • Высокое энергопотребление: по сравнению с ASIC, FPGA потребляют больше энергии на единицу производительности из-за избыточности соединений.
  • Ограниченная производительность на такт: частота работы FPGA обычно ниже, чем у специализированных ASIC (200–500 МГц против 1–3 ГГц).
  • Сложность разработки: проектирование на языках описания аппаратуры (VHDL, Verilog) требует высокой квалификации, а отладка — специализированного оборудования.
  • Стоимость: для массового производства FPGA дороже ASIC в пересчёте на единицу продукции.

Интересные факты

  • Первая FPGA XC2064 содержала всего 64 логических блока и 58 выводов, а её стоимость составляла около 100 долларов США. Современные FPGA (например, Xilinx Virtex UltraScale+) содержат более 10 миллионов логических элементов.
  • FPGA используются в криптовалютном майнинге (добыча биткоина) — в 2010-х годах они были популярны для майнинга SHA-256, но позже были вытеснены ASIC.
  • В 2015 году компания Microsoft начала использовать FPGA в своих центрах обработки данных для ускорения поиска Bing и машинного обучения (проект Catapult).
  • В России разработка FPGA ведётся в рамках программы импортозамещения: в 2023 году компания «ЭЛВИС-НеоТек» представила ПЛИС «Мультикор-2» с 200 000 логических элементов.

Источники

  • Xilinx. «UG473: 7 Series FPGAs Configurable Logic Block User Guide» (2014).
  • Altera (Intel). «Stratix 10 Device Overview» (2017).
  • Microchip. «PolarFire FPGA Product Brief» (2020).
  • «FPGA Architecture: Survey and Challenges» — IEEE Transactions on VLSI Systems, 2008.
  • «Программируемые логические интегральные схемы: учебное пособие» — М.: МИЭТ, 2019.
  • «Импортозамещение в микроэлектронике: российские ПЛИС» — журнал «Электроника: наука, технология, бизнес», 2023.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →