m11-08 теория 7 мин

FPGA, ASIC и что доступно тебе

FPGA и ASIC — два способа сделать логику «на заказ», и оба не похожи на микроконтроллер.

FPGA — программируемая логика: массив логических блоков (LUT, триггеры), соединённых программируемой матрицей. Ты описываешь схему на Verilog/VHDL, и она «прошивается» в конфигурацию. Можно перепрограммировать сколько угодно раз.

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

Где применяют: обработка видео и сигналов, быстрые интерфейсы, эмуляция старых компьютеров, нейросети на краю, прототипы ASIC.

ASIC — заказная микросхема: схема зашита в кремний навсегда. Плюсы: минимальная цена в серии, минимальное потребление, максимальная скорость. Минусы: стоимость запуска (NRE) от сотен тысяч до десятков миллионов долларов, ошибку не исправить.

Промежуточные варианты: CPLD (маленькие FPGA), структурированные ASIC, eFPGA (FPGA-блок внутри ASIC).

Что доступно любителю: платы на FPGA (Tang Nano 9K за ~1500 рублей, iCEBreaker), язык Verilog, симуляторы (Verilator, Icarus). Начать проще с мигания светодиодом и счётчика, чем с процессора.

Когда FPGA оправдан: нужно много параллельных операций или жёсткая синхронизация. Когда нет: любая задача, где хватает микроконтроллера — а это 95 % задач.

Зачем

FPGA/ASIC — граница аппаратной разработки; понимание нужно, чтобы не тащить FPGA туда, где хватит МК.

Сделай сейчас

Посмотри на демо-плату Tang Nano 9K и её примеры (мигание, VGA, HDMI). Пойми, что там нет программы в привычном смысле — есть схема.

Проверь себя

Почему FPGA быстрее микроконтроллера в задачах обработки сигнала?

Микроконтроллер выполняет инструкции последовательно, а FPGA — это набор параллельно работающих блоков: все операции идут одновременно, с задержкой в такты, а не в циклы.

Пройти тест 5 заданий
0 из 102 · 0%