Каждый раз, когда продукт на FPGA начинает продаваться лучше, чем планировалось, в переговорных комнатах появляется один и тот же слайд с двумя пересекающимися кривыми. Левее точки пересечения выигрывает FPGA, правее - ASIC. Этот слайд живёт в презентациях уже два десятилетия, и в нём есть доля правды. Но за простотой двух линий скрывается куда более сложная инженерно-экономическая задача, где ошибка в оценке стоит не недель переработки, а нескольких миллионов долларов, потраченных на кремний, который никогда не окупится.

Что такое NRE и почему это не просто строчка в бюджете

NRE, или Non-Recurring Engineering, в дословном переводе означает "непоторяющиеся инженерные затраты". За этим сухим термином скрывается всё, что нужно заплатить один раз, чтобы кастомный чип вообще появился на свет: разработка архитектуры, написание RTL-кода, верификация, физическое проектирование (place & route), изготовление фотошаблонов (mask set) и тестовых кристаллов, квалификационные испытания. Ни одна из этих статей не зависит от того, сколько чипов в итоге будет выпущено. Они оплачиваются до того, как первый годный кристалл покинет фабрику.

Цифры здесь серьёзные. Разработка ASIC на зрелом техпроцессе 130 нм с использованием готовых IP-блоков обходится в 1-3 миллиона долларов с учётом маскетного набора. Переход на 28 нм поднимает планку до 5-10 миллионов. Современные передовые техпроцессы 5 нм и 3 нм (TSMC N5, N3) требуют NRE свыше 20-50 миллионов долларов только на маскетный набор, не считая стоимости команды. Именно поэтому разработку чипов на передовых узлах могут позволить себе единицы: Apple, Nvidia, Qualcomm и несколько других компаний с соответствующим масштабом бизнеса.

Для сравнения: запустить серийный продукт на FPGA не требует ни цента NRE в классическом смысле. Стоимость разработки сводится к зарплате инженеров, лицензиям на EDA-инструменты и плате за IP-ядра. Никаких фотошаблонов, никаких тестовых пластин, никакого ожидания результатов тапаута через 3-6 месяцев. Именно эта асимметрия между стартовыми затратами и определяет, в каком регионе экономического пространства находится тот или иной проект.

Где кривые FPGA и ASIC реально пересекаются

Классическая формула расчёта точки безубыточности между FPGA и ASIC выглядит просто: NRE делится на разницу стоимости единицы FPGA и единицы ASIC. Если NRE составляет 2 миллиона долларов, FPGA стоит 15 долларов за штуку, а ASIC в серии - 3 доллара, то точка безубыточности находится на отметке 167 000 единиц. Выпустишь больше - ASIC выгоднее, меньше - FPGA.

Реальность усложняет эту арифметику сразу в нескольких местах. Во-первых, стоимость FPGA не постоянна. Крупные FPGA для телекоммуникационных и вычислительных применений, например Xilinx Virtex Ultrascale+ или Intel Agilex 7, стоят от нескольких сотен до нескольких тысяч долларов за штуку. Разница с ASIC в единицы долларов здесь вырастает до сотен, и точка безубыточности смещается в область нескольких тысяч единиц, а не сотен тысяч. Во-вторых, ASIC экономит не только на стоимости самого чипа. Продукты на FPGA несут дополнительные повторяющиеся затраты: более высокое энергопотребление влечёт расходы на охлаждение и корпусирование, а более сложная плата увеличивает риски сборки. Все эти факторы тихо накапливаются по мере роста объёма производства.

Практическое правило, которое используют опытные команды: стоит рассматривать ASIC вместо готовых компонентов, если суммарные затраты на электронную компонентную базу в продуктовой линейке превышают 2 миллиона долларов. Это не аксиома, но хорошая отправная точка для первичной оценки. Исторически перекрёстная точка между FPGA и ASIC находилась в диапазоне 5 000-50 000 единиц, однако конкретное значение зависит от слишком многих переменных, чтобы называть одну цифру без контекста.

Производительность и мощность: скрытые аргументы в пользу кремния

Экономика - не единственная причина перехода на ASIC. Есть класс задач, где FPGA просто физически не способна достичь нужных характеристик, сколько бы она ни стоила.

Первый аргумент касается производительности. FPGA содержит программируемую матрицу коммутации, которая добавляет задержку к каждому межсоединению. ASIC строится с нуля для конкретной задачи: каждый вентиль и каждый провод размещены и оптимизированы под скорость. Результат: кастомный чип на том же техпроцессе работает в 3-5 раз быстрее аналогичной схемы на FPGA. Для высокоскоростных интерфейсов, процессоров сигналов в реальном времени и криптографических ускорителей это принципиально.

Второй аргумент - энергопотребление. Программируемая архитектура FPGA несёт накладные расходы по транзисторам: конфигурационные ячейки SRAM, мультиплексоры маршрутизации, резервные буферы - всё это потребляет энергию, даже не участвуя в полезных вычислениях. Типичное соотношение: ASIC потребляет в 5-10 раз меньше энергии при выполнении той же функции. Для батарейных IoT-устройств или носимой электроники это разница между продуктом, который работает неделю от одного заряда, и продуктом, который разряжается за день.

Третий аргумент - интеграция. Кастомный ASIC позволяет объединить на одном кристалле функции, которые на FPGA потребовали бы нескольких микросхем: аналоговые цепи, RF-блоки, нестандартные интерфейсы, встроенную флеш-память. Именно поэтому смартфоны работают на кастомных SoC, а не на FPGA с россыпью вспомогательных чипов.

Когда FPGA - не компромисс, а осознанный выбор

Было бы упрощением считать FPGA лишь временным решением на пути к ASIC. Существует широкий класс применений, где FPGA остаётся оптимальным выбором на всё время жизни продукта, и не по соображениям экономии, а по существу задачи.

Первый случай - изменяющиеся стандарты и протоколы. Телекоммуникационное оборудование, работающее с протоколами, которые обновляются раз в несколько лет (стандарты 5G NR, алгоритмы кодирования), практически не может позволить себе перевыпуск ASIC при каждом обновлении спецификации. Возможность перепрошить FPGA в поле (field upgradability) превращается из удобства в бизнес-требование.

Второй случай - аэрокосмос и оборонная электроника. Здесь объёмы производства редко превышают несколько тысяч единиц, а требования к адаптации под конкретные миссии и возможность обновления логики после запуска изделия делают FPGA незаменимой. Перепрограммируемость позволяет вносить обновления после развёртывания и безопасно менять логику на месте эксплуатации.

Третий случай - прототипирование и верификация самих ASIC. Прежде чем отправить дорогостоящий дизайн на тапаут, команды эмулируют его на кластерах FPGA. Один кластер из нескольких Virtex Ultrascale+ может вмещать дизайн объёмом в сотни миллионов вентилей и работать на частотах 10-50 МГц, что достаточно для полноценного тестирования программного стека и верификации аппаратного поведения задолго до появления реального кремния.

Риски тапаута и цена ошибки в спецификации

Одно из самых болезненных свойств ASIC-разработки кроется не в стоимости маскетного набора, а в жёсткой необратимости решений. Если после тапаута обнаруживается функциональная ошибка в логике или нарушение временных ограничений, существует два пути: выпустить исправленную версию (respin), заплатив NRE повторно, или смириться с ограниченной функциональностью и попытаться компенсировать дефект на уровне программного обеспечения. Оба пути болезненны.

Цена ошибки при этом зависит от техпроцесса. Respin на 130 нм обходится в несколько сотен тысяч долларов и занимает 3-4 месяца. Respin на 7 нм - это 5-15 миллионов долларов и 6-9 месяцев задержки. Именно поэтому верификация в ASIC-проектах занимает от 50 до 70 процентов всего времени разработки: цена пропущенного бага экспоненциально растёт при переходе к более тонким техпроцессам.

FPGA в этом смысле ведёт себя как черновик: ошибку можно исправить за часы, обновив конфигурационный файл. Этот контраст между редактируемостью FPGA и необратимостью ASIC определяет разумную стратегию для большинства проектов: начинать на FPGA, тщательно верифицировать логику и только после стабилизации требований принимать решение о переходе на кастомный кремний.

Промежуточные решения и структурированные ASIC

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

Структурированные ASIC (structured ASIC) используют заранее изготовленную базовую матрицу транзисторов, к которой добавляется лишь несколько слоёв металлизации с пользовательской разводкой. NRE для таких решений в 5-10 раз ниже, чем для полностью кастомного чипа. Платой за это служат менее оптимальная плотность упаковки и более высокая стоимость единицы по сравнению с полностью кастомным ASIC, но эти ограничения вполне приемлемы для объёмов от 10 000 до 200 000 единиц.

Ещё один вариант - ASIC с встроенным блоком FPGA, где фиксированная часть логики реализована жёсткими стандартными ячейками, а изменяемая часть оставлена в конфигурируемом блоке. Такой гибрид позволяет обновлять часть функциональности в поле, сохраняя преимущества по производительности и мощности для стабильной части дизайна.

Как принимают это решение на практике

Наблюдая за тем, как зрелые команды подходят к выбору между FPGA и ASIC, можно выделить несколько вопросов, которые задаются в первую очередь. Каков реалистичный объём производства за всё время жизни продукта, а не только в первый год? Насколько стабильны требования, и есть ли риск существенного изменения спецификации в течение двух-трёх лет? Есть ли жёсткие ограничения по мощности или размеру, которые FPGA не позволяет выполнить физически? Каков горизонт планирования продукта - три года или десять?

Многие команды остаются на FPGA слишком долго не потому, что ASIC им не подходит, а потому что переход кажется необратимым шагом. На самом деле самая дорогостоящая ошибка - ждать, пока экономика не станет очевидной для всех. К тому моменту маржа уже под давлением, а конкуренты могли уйти вперёд раньше.

Честный ответ на вопрос "FPGA или ASIC" всегда конкретен: он зависит от объёма, сроков, требований к мощности, стабильности спецификации и готовности команды к сложной и дорогой верификации. Универсальной правильной стороны в этой дискуссии нет, есть только правильный момент и правильный контекст для каждого конкретного продукта.