Возвращается ли дизайн FPGA в моду?

Создано: 1 Ноября, 2021
Обновлено: 1 Июля, 2024

Из революции ASIC 1970-х годов произошла революция MCU, MPU и FPGA, когда контроллеры-хосты были созданы на одном чипе, наполненном логическими блоками и множеством интегрированных функций. В 2021 году некоторые в индустрии заявили, что FPGA теперь являются предпочтительной платформой для передовых приложений. Посмотрите, что говорят люди и где вы могли бы выбрать FPGA для вашего проекта.

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

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

Сегодня разработка FPGA продолжает пользоваться популярностью среди опытных разработчиков встроенных систем, и прогнозируемые темпы роста на глобальном рынке FPGA варьируются от 6,4% до 10% CAGR в течение следующих 6-7 лет. Для сравнения, верхняя оценка соответствует прогнозируемому CAGR в 10,1% на глобальном рынке MCU. Вопрос для разработчика встроенных систем заключается в том, что способствует популярности FPGA по сравнению с другими платформами, и должен ли FPGA быть вашей отправной точкой для нового проекта? Мы рассмотрим эти вопросы, сравнивая некоторые варианты архитектуры системы для новой встроенной системы.

Что стимулирует новые разработки FPGA?

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

  • Реализация специализированной логики на компактных платформах, которая обычно должна быть реализована с использованием медленной последовательной логики в MCU

  • Области применения или продукты, где критически важно время выхода на рынок из-за долгого времени разработки ASIC

  • Любое приложение, требующее аппаратной виртуализации или эмуляции

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

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

FPGA против MPU/MCU и ASIC

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

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

Основные потребители в промышленности

Не существует единой категории продуктов, которая традиционно была бы ответственна за потребление FPGA. С момента их первого введения в эксплуатацию основными потребителями FPGA в промышленности являются телекоммуникационные системы, военно-аэрокосмическая отрасль, автомобильная промышленность, легкие потребительские товары и даже нефтегазовая промышленность. Фактически, некоторые из первоначальных технологий, которые впоследствии стали FPGA, были изначально разработаны в рамках Zilog, дочерней компании Exxon, чьи интеллектуальные права позже были приобретены Xilinx.

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

Проектирование и разработка FPGA сегодня

Области, выделенные выше, не испытали снижения использования ПЛИС. Телекоммуникации - одна из областей, которую стоит отметить; например, Huawei является одним из крупнейших в мире потребителей ПЛИС, и они даже предлагают платформу "облако ПЛИС", предоставляя ускоренные облачные вычисления как услугу. Существует даже репозиторий Huawei Cloud на GitHub, чтобы помочь пользователям начать разработку приложений. Использование ПЛИС в их инфраструктуре также способствовало их способности быстрее других телекоммуникационных компаний внедрить услуги 5G. Сегодня те же преимущества, что были выявлены выше, продвигают проектирование и разработку ПЛИС в две области: робототехнику и ИИ. Хотя эти две области тесно связаны, ИИ, безусловно, является гораздо более значительным фактором нового проектирования и разработки ПЛИС.

ИИ стимулирует проектирование и использование ПЛИС

Лидеры в области ПЛИС прогнозируют, что внедрение ИИ в большее количество аппаратных систем приведет к значительным изменениям в использовании кремния в этих компонентах. Это не значит, что нельзя использовать MCU в робототехнике или для легковесного ИИ; распространение модулей ускорителей ИИ, которые подключаются через USB или мост PCIe, демонстрирует усилия по адаптации разработчиков MCU/MPU для интеллектуальных встраиваемых систем. Однако ПЛИС - это гораздо более адаптируемая платформа, где вычисления для вывода могут выполняться очень быстро за счет параллелизации вычислений; ткань ПЛИС может быть настроена под алгоритм, в то время как последовательная логика в GPU/MCU/MPU не может.

Один из новых компонентов, который используется в высокопроизводительных встраиваемых системах, включая системы, реализующие вывод ИИ на борту, - это SoC серии Zynq-7000 All Programmable от Xilinx. Этот компонент работает на частоте до 866 МГц с процессором приложений на базе ядра ARM Cortex-A9. Дополнительные интерфейсы, такие как гигабитный Ethernet, DDR, Flash, PCIe и высокий счетчик GPIO, делают этот компонент легким для интеграции в системы вычислений на краю сети. Низкоскоростные интерфейсы, такие как I2C и SPI, также позволяют Zynq работать с ASIC, которые захватывают данные с аналоговых датчиков или других стандартных интерфейсов (CANBus, RS-485 и т. д.).

Xilinx является одним из лидеров в области ИИ на ПЛИС, и они предоставляют множество ресурсов для разработчиков. Одно интересное развитие с процессором Zynq - это реализация Python на Zynq, или PYNQ, как его называет Xilinx. Другие производители ПЛИС развивают свои продуктовые линейки, чтобы конкурировать с Zynq, так что разработчики встраиваемого ИИ будут иметь множество вариантов для вычислений ИИ на устройстве, используя проектирование на ПЛИС.

Проблемы использования ПЛИС

ПЛИС - отличные платформы для опытного разработчика, который работает в более продвинутых областях приложений. Когда ландшафт стандартов, ландшафт решений ASIC и возможности MCU/MPU недостаточны или быстро меняются, ПЛИС, вероятно, является лучшим вариантом для новой системы. Хотя ПЛИС обеспечили успех в ряде областей, они несут свой собственный набор аппаратных и разработческих проблем:

  • Управление теплом: Так же, как и их "родственники" MCU/MPU, FPGA могут быть значительными источниками тепла в зависимости от размера компонента. Это не новая проблема, хотя она усугубляется требованиями к дизайну в компактных системах с высокой вычислительной мощностью, таких как вычисления на краю сети или в мощном оборудовании 5G. Некоторые мои клиенты рассматривали стратегии рассеивания тепла, включающие уникальные радиаторы или соединение с корпусом в этих системах.

  • Размещение и трассировка: В приложениях с высокой вычислительной мощностью все еще существует проблема с задачами размещения и трассировки, где программное обеспечение от производителя маппируется на ткань FPGA. Это занимает время, поскольку компилятор должен использовать алгоритм для нахождения маппинга, который поддерживает все логические функции в приложениях. Области применения, где это является проблемой, включают высокопроизводительные вычисления и центры обработки данных. Это также может быть проблематично в ИИ, когда FPGA используется для системных задач в дополнение к выводу/обучению.

  • Ресурсы разработки: Сообщество разработчиков FPGA не так велико, как сообщество ASIC + MCU, или сообщество открытого программного обеспечения в целом. MCU проще в освоении для начинающих разработчиков благодаря чрезвычайно популярным платформам, таким как Arduino и ESP32. Однако производители FPGA значительно улучшили предоставление ресурсов разработчикам, чтобы они могли быстро реализовывать решения на FPGA. Количество новых проектов на FPGA в GitHub также держится в ногу с проектами на MCU, как показано в таблице ниже.

Какими будут FPGA в будущем?

Текущие FPGA выделяют примерно 50% или более площади кремния под ввод-вывод, поскольку старые продукты на основе FPGA требовали взаимодействия с огромным диапазоном периферийных устройств через множество интерфейсов. По мере смещения акцента на приложения с высокой вычислительной мощностью, такие как ИИ, не удивляйтесь, когда больше площади кремния будет выделено под блоки вычислений ИИ, возможно, с развивающимися соединениями и гибким перемещением данных в реальном времени. Гетерогенная интеграция также будет внедрена в SoC на базе FPGA, где блоки ИИ, GPU/TPU, памяти с высокой пропускной способностью и RF-фронтенды объединяются в один компактный пакет.

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

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

Оставайтесь в курсе наших последних статей, подписавшись на нашу рассылку.

 

 

 

 

 

Связанные ресурсы

Вернуться на главную
Thank you, you are now subscribed to updates.