FPGA
FPGA (field-programmable gate array) — программируемая логическая матрица, интегральная схема с реконфигурируемой аппаратной структурой. Позволяет реализовывать произвольные цифровые схемы без изготовления специализированной ASIC. Применяется в цифровой обработке сигналов, машинном зрении и низколатентном инференсе нейронных сетей, где параллельность аппаратного уровня критична.
Инженеры Zavod.dev · обновлено 20 июля 2026
Принцип работы
Кристалл содержит массив конфигурируемых логических блоков, коммутационную матрицу и блоки ввода-вывода. Конфигурация загружается в статическую память при включении или перепрограммировании. Логика исполняется параллельно на аппаратном уровне без последовательных инструкций, что обеспечивает детерминированные задержки. Проектирование ведётся на языках HDL или через высокоуровневый синтез из C/C++.
Ключевые характеристики при выборе
— Количество логических элементов и блочной памяти. — Наличие встроенных DSP-блоков и умножителей для матричных вычислений. — Тип шины внешней памяти и пропускная способность. — Высокоскоростные интерфейсы: PCIe, SerDes. — Потребляемая мощность и тепловой пакет. — Поддержка инструментов ускорения: HLS, фреймворки инференса.
Где применяется
FPGA применяются как AI-ускорители при низколатентном инференсе, где накладные расходы программного стека GPU неприемлемы. В машинном зрении обрабатывают потоки с камер в реальном времени. Отладочные платы на базе FPGA используются при прототипировании алгоритмов DSP и верификации ASIC-дизайнов до их тиражирования.
Частые ошибки при подборе
Выбор кристалла только по числу логических элементов без учёта DSP-блоков и встроенной памяти ведёт к нехватке ресурсов при синтезе. Недооценка накладных расходов высокоуровневого синтеза вызывает переполнение. Несовместимость версий инструментального окружения и IP-ядер создаёт проблемы при интеграции.