AFON // радиотехник affonya@mail.ru
← Радиотехника

ПЛИС: FPGA и CPLD

Программируемая логика: чем отличаются FPGA и CPLD, из чего состоит FPGA (LUT, триггеры, блоки памяти и DSP) и как проходит маршрут проектирования от кода до битстрима.

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

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

FPGA и CPLD

CPLDFPGA
Ёмкостьнебольшаяот средней до огромной
Структурамакроячейки, матрицамассив LUT + триггеры + блоки
Конфигурацияэнергонезависимаяобычно грузится из внешней памяти
Применениепростая логика, «клей»сложные системы, DSP, интерфейсы

Архитектура FPGA

FPGA состоит из массива логических блоков (таблицы истинности LUT + триггеры), соединённых программируемой матрицей связей, плюс специализированные блоки: память, аппаратные умножители (DSP), менеджеры тактирования (PLL), высокоскоростные приёмопередатчики. Из LUT собирают любую логическую функцию, из триггеров — регистры и автоматы.

Маршрут проектирования

Путь от описания к работающей ПЛИС:

  1. Описание на VHDL или Verilog.
  2. Синтез — преобразование кода в логические элементы.
  3. Размещение и трассировка — привязка к ресурсам кристалла и соединение.
  4. Генерация битстрима — файла конфигурации.
  5. Прошивка ПЛИС (в память конфигурации или напрямую).

Между этапами проводят симуляцию и анализ временных ограничений (timing), чтобы схема работала на нужной частоте.

Частые вопросы

Чем ПЛИС лучше микроконтроллера?

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

CPLD или FPGA?

CPLD — для простой логики и «склейки» с энергонезависимой конфигурацией. FPGA — для сложных систем с большим объёмом логики, памяти и DSP. Выбор определяется сложностью проекта.

Итоги

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

Смотрите также: ПЛИС (обзор) · VHDL · Verilog · Цифровая логика.