FPGA против ASIC: внутренняя структура, различия и будущее отрасли

FPGA против ASIC: внутренняя структура, различия и будущее отрасли
Давайте глубоко погрузимся во внутреннюю работу ПЛИС и ASIC, изучим плюсы, минусы и бизнес-последствия обеих технологий:
  1. В нашей повседневной жизни бесчисленное множество полупроводниковых микросхем, включая смартфоны, компьютеры и автомобильную электронику, но мало кто из нас знает принципы, лежащие в их основе.
  2. Студенты факультетов электронной инженерии и разработчики встраиваемых систем часто работали с платами FPGA, но редко имеют детальное представление о том, как выглядит внутренняя работа FPGA.
  3. Многие слышали о ASIC, но не знают точно, что это такое.

Мы начнем с уровней абстракции в проектировании полупроводниковых микросхем, затем перейдем к структурным различиям между ПЛИС и ASIC, сравнению ПЛИС и ASIC с точки зрения технологии, стоимости и объема, а также к некоторым интересным вопросам, например, "Являются ли GPU или CPU ASIC?".

Слои абстракции в проектировании цифровых микросхем

Сложный проект цифровой микросхемы состоит из нескольких слоев абстракции: самый высокий уровень определяет поведение всей системы, а самый низкий уровень доходит до атомарных материальных явлений. Вот пошаговое описание:
Reference: https://www.quora.com/What-should-be-the-best-way-to-learn-VLSI-design
  • System Level:
    • Определяет функциональность и поведение, необходимые на уровне продукта или системы.
    • Например, проектирование общих компонентов и интерфейсов модема связи смартфона, обработки камеры, вычислений искусственного интеллекта и т. д.
  • Уровень модуля:
    • Разработка основных блоков (модулей), составляющих систему.
    • Определите внутреннюю структуру (микроархитектуру) каждого функционального модуля, например, ядра процессора, контроллеры памяти, блоки ЦОС и т.д.
    • Опишите поведение каждого модуля на языке описания аппаратуры (HDL).
  • Уровень ворот:
    • После завершения проектирования модуля он абстрагируется в нетлист ворот для его реализации. Каждая функция реализуется с помощью комбинации логических вентилей, таких как AND, OR, XOR, флип-флопы и т. д.
    • Ворота представлены предопределенной стандартной ячейкой (ASIC) или комбинацией LUT (FPGA).
  • Уровень схемы:
    • Каждый логический затвор в конечном итоге реализуется как комбинация транзисторов.
    • Например, в КМОП-схеме затвор NAND состоит из нескольких транзисторов pMOS и nMOS.
    • На этом этапе поведение транзисторной схемы часто проверяется с помощью SPICE-моделирования, например[2].
  • Уровень устройства:
    • Как полупроводниковое устройство, транзисторы управляются физикой устройства, такой как эффект поля, который перемещает электроны по каналу, и процесс осаждения оксидной пленки и металлической проводки на допированной кремниевой пластине.
    • На этом уровне важны технология полупроводниковых процессов и физика устройств.
  • Уровень кремния:
    • На самом фундаментальном уровне мы можем рассмотреть кристаллическую структуру легированного кремния и поведение электронов на атомном уровне.
    • Эти физические явления являются фундаментальной основой для того, чтобы логика, которую мы проектируем, работала хорошо.

Этот уровень абстракции от система → модуль → затвор → транзисторная схема → процесс устройства → материал (атом) позволяет инженерам абстрагироваться от детальной сложности на своем уровне проектирования.

Например, RTL-проектировщик фокусируется на функциональности модуля, а не на затворе или транзисторе, физический проектировщик фокусируется на размещении затвора и проводке, и так далее. На этом фоне давайте рассмотрим, как устроены внутренности FPGA и ASIC, с которыми мы будем работать:

Анатомия FPGA

Xilinx Spartan®-7 SP701 FPGA Evaluation Kit by AMD Xilinx - один из популярных наборов ПЛИС, используемых в промышленности. Источник: Mouser Electronics
  1. A Field Programmable Gate Array (FPGA) - это программируемая микросхема, которая позволяет пользователям изменять поведение оборудования в полевых условиях после изготовления.
  2. "Gate Array", отсюда и название, имеет решетчатое расположение множества программируемых логических блоков внутри, а программируемая сеть проводов соединяет их.
  3. Пользователи FPGA проектируют желаемую цифровую схему с помощью HDL-кода, а затем загружают в FPGA данные конфигурации, называемые битстримом, чтобы настроить функции логических блоков и проводку по желанию.

-> В результате ПЛИС представляют собой аппаратную платформу, позволяющую вносить изменения в дизайн, и широко используются для быстрого создания прототипов или малосерийного производства.

Чтобы понять внутреннюю структуру ПЛИС, давайте рассмотрим ключевые элементы по очереди:

ЛУТы и флип-флопы (логическая ячейка)

Основными строительными блоками ПЛИС являются небольшие логические ячейки.

Логические ячейки включают в себя таблицы просмотра (LUT) и флип-флопы (FF), и таких ячеек в ПЛИС насчитывается от тысяч до миллионов.

LUT представляют собой маленькую память, в которой заранее задаются выходные значения для различных комбинаций входов и используются для реализации произвольных комбинационных логических функций.

Например, 4-входовая LUT будет хранить выходные значения для 4 бит входа в 16 ячейках памяти и выводить значения в эти ячейки, используя входы в качестве адресов. Таким образом, даже сложные комбинаторные логические выражения могут быть заполнены в LUT только нужными значениями для достижения желаемого результата за один цикл.

В большинстве ПЛИС используются 4-, 5- или 6-входовые LUT, причем в 6-входовых LUT таблица истинности хранится в 64 ячейках SRAM.

А Flip flop - это 1-битное запоминающее устройство, которое подключается к каждому выходу LUT и используется в качестве регистра для реализации последовательной логики.

Обычно один конфигурируемый логический блок или блок логического массива в ПЛИС состоит из коллекции логических ячеек, содержащих несколько LUT и флипов, например, CLB в ПЛИС Xilinx состоит из двух пар LUT+FF и так далее.

Иногда LUT могут быть соединены в цепочку, чтобы действовать как более крупная LUT, или они могут переключаться в режимах, например, в сочетании со встроенным небольшим полным сумматором для выполнения простых функций сложения.

Матрица маршрутизации и межсоединения

Еще одной ключевой частью ПЛИС является программируемое межсоединение.
A Tutorial on FPGA Routing, Daniel Gomez-Prado Maciej Ciesielski
  1. Для создания логики сложной функции, которая станет реальным продуктом, необходимо построить проводящие пути, которые проводят сигналы к логическим элементам и от них.
  2. Внутри микросхемы ПЛИС существует плотная сеть каналов, идущих по горизонтали и вертикали, с матрицами коммутаторов или маршрутными переключателями на каждом перекрестке или в каждой точке ответвления.
  3. Это комбинация программируемых мультиплексоров/транзисторных переключателей, которые позволяют соединять или разъединять любые две сигнальные линии по вашему желанию.

Например, если вы хотите передать выход одной LUT на вход другой LUT, расположенной через несколько рядов, вы включите переключатели в середине, чтобы создать один непрерывный путь проводки.

Поскольку ресурсы ПЛИС для маршрутизации ограничены, производители ПЛИС статистически оптимизируют ширину каналов и количество переключателей, чтобы обеспечить маршрутизацию как можно большего объема проекта.

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

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

В ПЛИС задержки при подключении и использование ресурсов оказывают значительное влияние на производительность, поэтому инструменты синтеза и размещения и маршрутизации (P&R) автоматически размещают LUT для оптимизации их использования и разводки.

Чем сложнее схема, тем выше потребность в каналах разводки, а также в количестве LUT, поэтому обеспечение того, чтобы перегрузка маршрутизации не стала узким местом в производительности, является ключевым моментом при проектировании ПЛИС.

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

Площадки ввода-вывода

По краям чипа ПЛИС расположены блоки ввода-вывода (IOBs), которые передают сигналы на внешнюю сторону чипа и обратно.

Каждый блок ввода/вывода имеет IO pad и соответствующие буферы, трансиверы и т. д., которые соединяют внутренние логические сигналы ПЛИС с внешними выводами.

Блоки ввода/вывода ПЛИС программируются для поддержки различных электрических стандартов, например, можно установить несколько режимов напряжения и дифференциальных сигналов ввода/вывода, включая 3,3 В LVTTL, 1,8 В LVCMOS, LVDS и PECL.

Также можно гибко настраивать характеристики ввода/вывода, например, регулировать скорость срабатывания драйверов выходов, входы с триггером Шмитта или встраивать подтягивающие/отводящие резисторы.

В ПЛИС более высокого класса вокруг входов/выходов размещаются высокоскоростные приемопередатчики (SERDES), PLL для высокочастотных часов, драйверы генераторов и т. д., что позволяет реализовать высокоскоростные интерфейсы, выходящие за рамки простых GPIO (например, PCIe, SATA, HDMI и т. д.).

Режим работы блоков ввода/вывода также определяется битовыми потоками, входящими в состав ПЛИС.

Битовые потоки и память конфигурации

До сих пор логические блоки (LUT/FF) и маршрутизация FPGA, Входы/выходы и т. д. имеют программируемые переключатели, а набор информации, который устанавливает эти переключатели, называется битовым потоком.

Битстрим представляет собой своеобразный двоичный файл, который загружается в конфигурационную память внутри ПЛИС. Большинство ПЛИС используют конфигурационную память на основе памятиSRAM, что означает, что настройки теряются при отключении питания. Некоторые ПЛИС (например, Microsemi/Microchip) используют флэш-память или полуобратимые методы защиты от замыкания для сохранения конфигурации без питания."

Битстрим генерируется инструментальной цепочкой производителя ПЛИС, которая проходит этапы проектирования HDL → синтеза → реализации, в результате чего создается файл битстрима, характерный для микросхемы ПЛИС.

Когда этот файл загружается в ПЛИС, например, через JTAG, назначаются табличные значения LUT, каждая матрица переключателей устанавливается в подключенное или отключенное состояние, определяются электрические режимы ввода/вывода, и ПЛИС ведет себя как нужная вам схема.

Гибкость ПЛИС заключается в том, что их можно перепрограммировать в любое время путем загрузки нового битового потока. Именно поэтому ПЛИС широко используются для прототипирования, исследований и разработок, а также малосерийного производства.

Если вам нужно изменить свой проект, достаточно поместить на плату новый битовый поток ПЛИС, что гораздо быстрее и экономичнее, чем повторное вращение кремния, на которое могут уйти месяцы и большие деньги.

정리: Внутренняя структура ПЛИС

(a) блоки логических ячеек, состоящие из множества LUT+FFs

(b) сеть программируемых проводов, соединяющих их

(c) блоки ввода/вывода, поддерживающие различные интерфейсы

(d) битовая память, из которой состоят все они.

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

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

Внутренняя структура ASIC

Специфическая интегральная схема (ASIC) - это полупроводниковая микросхема, разработанная для конкретного использования или применения. После изготовления ее внутреннее устройство уже нельзя изменить, и она выполняет только те функции, которые определены в ее проекте.

Как же разрабатывается и реализуется внутреннее устройство ASIC? Хотя это зависит от размера и метода проектирования, большинство современных ASIC используют технику проектирования на основе стандартных ячеек. Давайте разберем внутреннюю структуру и физические элементы ASIC на основе стандартных ячеек:

Проектирование на основе стандартных ячеек

Стандартная ячейка - это буквально малая ячейка логической схемы заранее стандартизированного размера. Это группа транзисторов/проводных структур в одной ячейке, обеспечивающая выполнение таких функций, как нелогические затворы, такие как AND, OR, XOR и инверторы, или устройства памяти, такие как флип-флопы и защелки.

Каждая стандартная ячейка внутренне состоит из нескольких MOSFET-транзисторов с определенным расположением входных/выходных контактов, контактов питания и заземления ячейки.

Все ячейки спроектированы таким образом, что их ширина зависит от функции, но высота одинакова, поэтому, когда они уложены горизонтально, как блоки Lego, шины питания и шины заземления (шины GND) соединяются в прямую линию.

Это означает, что при горизонтальном размещении стандартной ячейки в схеме микросхемы провод VDD сверху и провод VSS снизу будут прямыми, соединяясь со всей сеткой питания микросхемы.

При проектировании ASIC логик разрабатывает схему на языке HDL и использует инструмент синтеза для получения нетлиста стандартных ячеек, необходимых для реализации схемы.

Результатом синтеза является список из десятков-сотен миллионов экземпляров ячеек и их соединений, в котором указывается, например, "500 ячеек AND, 200 ячеек OR, 100k flip-flops..." и так далее, чтобы получить желаемую логику.

Инструмент Placement and Routing Tool (P&R) затем берет этот нетлист в качестве входных данных и создает ряд за рядом стандартных ячеек на площади кристалла и соединяет входы и выходы каждой ячейки путем прокладки их друг к другу.

Поскольку стандартные ячейки имеют одинаковый размер, мы укладываем их в ряды, и когда эти ряды ячеек плотно упакованы по всей площади ядра микросхемы, они содержат логику, которую мы хотим реализовать.

В дополнение к цифровым схемам, состоящим из стандартных ячеек, внутри ASIC могут находиться специализированные блоки, такие как макросы памяти (SRAM/ROM), аналоговые схемы (PMIC, PLL и т.д.) и ячейки ввода-вывода.

Поскольку эти блоки не имеют размеров стандартных ячеек, они проектируются путем размещения их в соответствующих местах на этапе планирования ASIC и заполнения оставшегося пространства рядами логики стандартных ячеек.

Например, в ASIC SoC сначала размещаются крупные блоки, такие как ядра CPU, DSP, память на кристалле и физические уровни ввода-вывода (PHY), а оставшиеся области заполняются логикой стандартных ячеек.

Библиотека стандартных ячеек содержит физическую схему, электрические и временные характеристики каждой ячейки, на которые могут ссылаться инструменты EDA для оптимизации размещения/подключения.

После того как схема окончательно сформирована, создается маска для реализации схемы на кремниевой пластине, и чип ASIC рождается.

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

В то время как в ПЛИС все строится с помощью логических блоков общего назначения и маршрутизации, ASIC реализует только необходимую функциональность, поэтому ресурсы расходуются незначительно.

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

Power Grid and Clock Tree

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

За это отвечают структуры PDN (Power Delivery Network) и Clock Tree.

Сеть Power Delivery Network представляет собой сеть металлических проводов для обеспечения достаточного питания (VDD) и заземления (GND) по всему чипу.

Ранее мы упоминали, что когда стандартные ячейки располагаются в ряд, каждый ряд имеет одну линию проводов VDD/VSS, но этого может быть недостаточно для подачи питания в центр чипа.

Поэтому верхние металлические слои формируют решетчатую сеть питания, которая позволяет линиям питания проходить через весь чип.

Подобно магистралям в дорожной сети, напряжение VDD/GND от площадок вокруг чипа распределяется в направлении X/Y через более толстые металлические слои, с переходами к более низким металлам между ними, вплоть до стандартных линий питания ячеек.

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

С другой стороны, дерево синхронизации - это сеть проводов, которая распределяет сигнал синхронизации (clock) по всем флип-флопам ASIC. Он называется деревом тактовых импульсов, потому что просто распределяется в форме дерева, но на самом деле он включает в себя множество сложных вставок буферов и регулировок разветвленной проводки для согласования перекоса.

Чтобы синхросигнал одновременно поступал на десятки миллионов флип-флопов, задержка должна быть более или менее равномерной по всему пути тактового импульса.

Для этого строится дерево распределительных буферов в иерархическом порядке от источника тактового сигнала (например, PLL) до каждого основного блока и, наконец, возле каждого флипа локальные буферы для очистки сигнала.

В высокопроизводительных ASIC используется H-дерево с тактовыми линиями, расположенными только на верхнем слое металла и разветвляющимися к низу.

Тактовое дерево - это самая быстро переключающаяся сигнальная сеть на чипе, поэтому его динамическое энергопотребление также является большой частью уравнения, поэтому оптимизация CTS (Clock Tree Synthesis) для снижения ненужной нагрузки и минимизации задержки является ключевой при проектировании дерева.

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

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

Это позволяет ASIC оптимизировать мощность и часы для размера чипа, чтобы максимизировать производительность.

Роутинг и физическая реализация

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

Инструменты P&R используют многослойную металлическую проводку для соединения входов и выходов множества стандартных ячеек, проводя линии по кратчайшему пути.

Слои проводки обычно разделены по ролям: нижние металлические слои более узкие и предназначены для коротких сигналов, более толстые - для питания/часов и так далее, а межслойные соединения выполняются через виасы в соответствии с правилами проектирования.

После того как окончательная разводка завершена, она должна пройти проверку DRC/LSVS, и выполняется анализ синхронизации, чтобы убедиться, что все пути соответствуют требуемым скоростям.

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

После разводки ASIC выполняются дополнительные задачи, такие как размещение входов/выходов, подключение силовых плат и схемы защиты от электростатического разряда. В конце концов, чип ASIC готов и представляет собой единую, фиксированную аппаратную реализацию, которая никогда не изменится.

Подведем итоги по характеристикам внутренней структуры ASIC в сравнении с FPGA

  • Оптимизированная структура с отсутствием избыточности (стандартные ячейки/заказной дизайн)
  • Эффективное распределение питания/часов для поддержания высокой производительности даже при масштабной работе
  • Фиксированная разводка для минимизации ненужных задержек, делает то, для чего предназначена
  • но не может быть изменена после создания, нулевая гибкость

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

FPGA vs ASIC: сравнение технологий, стоимости и массовости производства

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

  • Производительность и энергоэффективность: ASIC работают быстрее и потребляют меньше энергии, поскольку они проектируют схемы непосредственно для конкретной цели. В них нет лишних логических элементов, а их разводка оптимизирована, что приводит к высокой тактовой частоте и меньшей мощности, чем у FPGA при выполнении той же самой функции[22]. ПЛИС обычно имеют на порядок меньшую производительность и большее энергопотребление, чем ASIC, из-за логических/монтажных задержек, вызванных LUT, программируемыми переключателями и т. д. В качестве грубого примера, FPGA может иметь максимальную тактовую частоту на десятки и сотни МГц ниже, чем ASIC, и потреблять в разы больше энергии для выполнения тех же самых вычислений. Конечно, современные ПЛИС имеют встроенные сложные ИС, такие как блоки ЦОС и память, чтобы сократить разрыв, но с точки зрения общей эффективности преимущество ASIC очевидно[18].
  • Гибкость и время разработки: ПЛИС являются перепрограммируемыми, что является их самым большим преимуществом. Когда вы хотите изменить дизайн или изменить функциональность, вы можете просто исправить HDL и поместить новый битовый поток. Это значительно сокращает время разработки и позволяет легко создавать и тестировать прототипы на ранних этапах проекта[24]. Кроме того, после поставки заказчику аппаратные функции могут быть обновлены в полевых условиях как обновление прошивки. С другой стороны, на разработку, проверку и производство ASIC может уйти от нескольких месяцев до года или двух, и после производства аппаратные характеристики не могут быть изменены[25]. Если в процессе работы обнаруживается ошибка, микросхему приходится переделывать, что приводит к очень большим срокам изготовления. Поэтому FPGA имеют преимущество в быстрой реакции на изменения потребностей рынка, в то время как ASIC должны быть доведены до совершенства на ранних стадиях планирования.
  • НР и стоимость единицы продукции: Разработка ASIC предполагает значительные НР, включая трудозатраты на проектирование схемы, оплату инструментов EDA и затраты на производство фотомасок. Стоимость набора масок может достигать десятков миллиардов долларов для самых современных процессов, что затрудняет окупаемость инвестиций, если только объем производства не является значительным[26]. Для сравнения, стоимость ПЛИС почти нулевая, поскольку в них используются готовые микросхемы. Однако стоимость одного чипа ПЛИС высока: типичный потребитель, а не полупроводниковая компания, заплатит за чип ПЛИС от десятков до сотен тысяч долларов, тогда как ASIC могут массово производиться за десятки или даже сотни долларов за чип[27]. Подводя итог, можно сказать, что ПЛИС дешевле в малых объемах, а ASIC превосходно дешевле в больших объемах. Например, если вам нужно 100 единиц специализированного оборудования, вам не обязательно делать их в виде ASIC, но если вам нужен чип для смартфона, который продается в количестве 100 миллионов штук, гораздо экономичнее потратить первоначальные 10 миллиардов на создание ASIC.
  • Массовое производство и надежность: В FPGA используются полуфабрикаты, товарные чипы, поэтому при массовом производстве важно получить те же самые FPGA в цепочке поставок. ASIC, с другой стороны, представляют собой микросхемы, изготовленные специально для вашего продукта, поэтому вам нужно произвести только столько, сколько вам нужно. Однако могут возникнуть проблемы с выходом продукции, поэтому на начальном этапе вам нужно будет работать над повышением выхода продукции. Что касается надежности, то ПЛИС - это набор проверенных ИС, поэтому риск на начальном этапе меньше, в то время как ASIC разрабатываются заново, и возможность отказа из-за недостатков конструкции должна быть хорошо продумана. Поэтому обычная стратегия для небольших стартапов, а не крупных предприятий - это создание прототипов на ПЛИС, тестирование рынка, а затем переход на ASIC, когда они будут уверены в своих силах. С инженерной точки зрения также относительно безопасно реализовывать в ASIC логику, которая сначала была проверена в ПЛИС. Фактически, этап "ПЛИС - прототип - ASIC - массовое производство" считается стандартной частью многих процессов разработки продукции[28].
  • Функциональная интеграция и многое другое: ASIC могут иметь много функций на кристалле (SoC) или даже аналоговые/РЧ-схемы, в зависимости от целей разработки. ПЛИС также называются SoC FPGA и могут включать процессоры ARM, но заказные ASIC гораздо более гибкие с точки зрения общей системной интеграции. Еще одно преимущество ASIC с точки зрения защиты ИС заключается в том, что они имеют сложные схемы, что делает их относительно трудными для обратного проектирования, что выгодно с точки зрения безопасности[29].

Как показано в этой таблице, технические требования и бизнес-контекст определяют, выберете ли вы FPGA или остановитесь на ASIC:

Являются ли GPU и CPU также ASIC?

Один интересный вопрос: являются ли процессорные чипы, такие как GPU и CPU ASIC?"

Ответ: "В широком смысле - да"

В конце концов, GPU и CPU - это специализированные интегральные схемы для определенной цели.

К примеру, новейший GPU NVIDIA представляет собой специализированную архитектуру для графических/индивидуальных приложений, с десятками тысяч ядер, специализированных для графики и параллельных вычислений, и высокоскоростными интерфейсами памяти.

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

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

Поэтому вполне естественно, что инженеры по физическому проектированию NVIDIA идут в QTI, а инженеры по RTL QTI идут в NVIDIA.

Но в целом, индустрия не называет CPU или GPU ASIC, потому что это программируемые процессоры общего назначения, а термин ASIC часто используется для обозначения непрограммируемых чипов, выполняющих конкретные задачи.

Например, Bitcoin miner ASIC или Autonomous driving AI acceleration ASIC - это чипы, предназначенные для выполнения одной функции.

Далее:

CPU/GPU = процессор общего назначения, ASIC = микросхема, предназначенная для выполнения определенной функции - это лингвистическое различие, но технически CPU или GPU также относятся к более широкой категории ASIC, поскольку являются стандартными микросхемами, разработанными на основе ячеек.

Производители ПЛИС также часто называют ПЛИС "программируемыми ASIC", поскольку логически они ведут себя как ASIC, за исключением того, что их можно многократно переконфигурировать.

В итоге, ГПУ и ЦП технически являются подкатегориями ASIC, но в обиходе их называют по-разному.

결론: Индустрия движется в сторону ASIC

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

SoC в наших повседневных смартфонах, CPU/GPU в наших ПК, чипы ускорителей ИИ в наших центрах обработки данных и чипы ADAS в наших автомобилях - все это ASIC, состоящие из десятков миллиардов транзисторов.

В частности, недавний бум ИИ привел к бурному развитию таких ASIC, как NPU/TPU, чтобы сделать вычисления глубокого обучения, которые раньше выполнялись графическими процессорами, более эффективными. Это говорит о том, что будущее технологий смещается от процессоров общего назначения к специализированным ASIC-ускорителям.

ПЛИС, как правило, выигрывают на стадии стартапов и исследований из-за простоты разработки, но как только продукт достигает успешной стадии и используется миллионами людей по всему миру, он, как правило, переходит на ASIC.

Это связано с тем, что ASIC требуют больше первоначальных инвестиций и времени, но после завершения разработки они обеспечивают непревзойденную производительность/конкурентоспособность по стоимости в своих приложениях.

Сегодня говорят о высоком барьере входа для разработки ASIC из-за нехватки талантливых специалистов по проектированию полупроводников, но в то же время растущее использование FPGA через облачные сервисы FPGA, синтез высокого уровня (HLS) и многое другое стимулирует быстрый перенос проверенных проектов на ASIC.

"Индустрия переходит на ASIC", что означает, что именно настроенный чип ASIC в конечном итоге обеспечит ценность для широких масс пользователей.

Даже инновации, которые начинались как FPGA, будут реализованы как ASIC по мере роста рынка, что позволит добиться большей эффективности и экономии.

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

Окончательное направление развития полупроводниковой индустрии будет в сторону ASIC.

Enjoyed this article?

Get deep-dive semiconductor analysis and career insights delivered weekly. Free forever — no paywall, no upsell. Funded by sponsorships with a strict editorial firewall (Editorial Standards).

Work with me

Consulting · Collaboration · Support

Paid 1:1 technical consulting, speaker invitations, collaboration proposals, or just want to say thanks — all welcome.

View options →
VLSI Korea Free forever · No paywall · Weekly semiconductor insights from practicing engineers
Support