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 — это набор параллельно работающих блоков: все операции идут одновременно, с задержкой в такты, а не в циклы.