Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Встроенный

Пре-силикон разработка ПО: ускорение time-to-market через эмуляцию SoC

В современной стремительной технологической эре самый частый подход к удовлетворению рыночных требований — system-on-chip (SoC). SoC — это единый интегрированный процессорный ядро, окруженный специализированными ускорителями и обширным I/O, поддерживающим периферию, которую он питает.

С мобильного данных бума 2002 года SoC стали незаменимы для включения ключевых фич, определяющих смартфоны. Тот же тренд теперь движет их повсеместностью в «умных» потребительских устройствах — умных ТВ, коннектед автомобилях и быстро растущей экосистеме Интернета вещей (IoT).

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

Традиционно SoC софтовые команды ждали первой кремниевой пробы перед стартом разработки. Прибытие кремниевого прототипа запускало короткий, интенсивный спринт bring-up, где разработчики со всего мира сходились для валидации драйверов и интерфейсов. Даже с этим агрессивным расписанием софту обычно требовались месяцы — иногда годы — чтобы достичь production readiness, оставляя мало уверенности перед стартом масс-производства.

С ростом размеров и сложности SoC дизайнов, разрыв между доступностью кремния и production-ready софтом может растянуться на несколько лет. Быстрая эволюция периферийных семейств — аудио, видео, USB, Ethernet и др. — также создает экспертизные пробелы, которые нужно заполнять наймом специалистов, дальше инфляционируя затраты и таймлайны.

Для доставки надежного софта раньше, индустрия принимает философию «shift-left»: начинать разработку параллельно с дизайном железа. Пре-силикон разработка не только ускоряет софтовый пайплайн, но и раскрывает дизайн-уровневые баги, позволяя избежать дорогостоящих mask tape-outs.

Стратегии пре-силикон разработки

Софт может начать до tape-out несколькими техниками: софтовое прототипирование, RTL testbenches, FPGA прототипы и, наиболее эффективно, полносистемная эмуляция. Каждый метод фокусируется на конкретном уровне абстракции и имеет свои компромиссы.

System-C поведенческие модели

Создание System-C модели для каждого IP-блока позволяет разработчикам писать и тестировать драйверы в изоляции. Однако усилие по точному моделированию каждой периферии существенно, требуя выделенной команды, которая может быстро выйти за бюджеты проекта. Более того, поведенческие модели сильно полагаются на интерпретацию моделировщика; любое несоответствие между дизайн-намерением и моделью может вести к тонким багам, дорогим для диагностики позже.

RTL Testbench

RTL testbenches, построенные из того же Verilog или VHDL, что используется для верификации, дают цикл-точную симуляцию всего SoC. Они остаются в lockstep с дизайном железа, обеспечивая самую актуальную репрезентацию. Недостаток — скорость: цикл-точный симулятор на порядки медленнее реального железа, делая разработку драйверов медленным, месячным процессом, который может отрицать выгоды раннего старта.

FPGA Прототипы

Современные FPGA теперь способны синтезировать целые IP-блоки из RTL, доставляя цикл-точное поведение за долю времени симуляции. Отображая каждую периферию на отдельный FPGA, разработчики могут быстро писать и отлаживать драйверы. Компромисс — полная SoC интеграция — как блоки коммуницируют и делят ресурсы — отсутствует, ограничивая глубину валидации и оставляя интеграционные вопросы всплыть только после доступности кремния.

Рисунок. Синопсис пре-силикон решений разработки ПО. (Источник: Nitin Garg)
Пре-силикон разработка ПО: ускорение time-to-market через эмуляцию SoC

SoC Эмуляторы

SoC эмуляторы представляют наиболее сбалансированный подход. Построенные на том же RTL, что и кремний, они предлагают цикл-точную производительность, работая 100× быстрее Verilog testbenches. Эта скорость позволяет полный OS портинг, разработку драйверов и системное тестирование за недели, а не месяцы.

Эмуляторы также поддерживают широкий спектр периферии — UART, I²C, дисплейные контроллеры, PCIe, Ethernet, Wi-Fi, камеры, сенсоры — позволяя разработчикам эмулировать целую отладочную плату. Софт может отлаживаться стандартными JTAG инструментами, и реальные или виртуальные устройства вроде NAND флеша могут быть подключены, давая реалистичную среду для валидации ROM, OS и прошивки.

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

В сравнительных исследованиях эмуляторы последовательно переигрывают System-C модели, RTL testbenches и FPGA прототипы по скорости, покрытию и стоимостной эффективности. Хотя предварительные инвестиции в платформу эмулятора могут показаться высокими, экономия в сокращенном time-to-market и снижении рисков часто перевешивает стоимость.

Рисунок 2. Сравнительная скорость исполнения каждого решения. (Источник: Nitin Garg)
Пре-силикон разработка ПО: ускорение time-to-market через эмуляцию SoC

По закону Мура, счетчик транзисторов удваивается примерно каждые два года, толкая современные 64-битные ARM-базированные SoC к 100–300 млн логических гейтов. В этой среде только полносистемный эмулятор может масштабироваться к требованиям современных SoC софтовых команд.

Референсы

  1. Trimberger, Stephen M. "Three Ages of FPGAs." IEEE Xplore Full-Text PDF: 2015, https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7086413.
  2. Brunet, Jean-Marie. "Why Modern SoC Designs Embrace Emulation." Embedded Computing Design, 5 Sept. 2018, https://embedded-computing.com/embedded-computing-design/why-modern-soc-designs-embrace-emulation.
  3. "Soc Emulation." Soc Emulation, 2019, https://www.aldec.com/en/solutions/hardware_emulation_solutions/co-emulation-soc-emulation.
  4. "Cramming More Components onto Integrated Circuits." https://www.cs.utexas.edu/, 2006, cs.utexas.edu/~fussell/courses/cs352h/papers/moore.pdf.

Встроенный

  1. RISC-V Summit 2020: ключевые сессии и главные моменты
  2. SOAFEE: облачная-родная архитектура, уполномачивающая программно-определяемые автомобильные платформы
  3. Аппаратная безопасность ведет IIoT: тампер‑устойчивость, быстрый вход на рынок, сильная защита для производств…
  4. Qualcomm представляет Snapdragon Wear 4100+: рост производительности на 85%, увеличение автономности на 25% и камеры 16 Мп для у…
  5. Mini‑Circuits и Vayyar запускают VTRIG‑74: комплект разработки 4D миллиметроволновой визуализации
  6. ECM3532: первая интегрированная ультра‑низкоэнергозатратная ИИ‑сенсорная плата Eta Compute ускоряет Edge‑разработку
  7. Мастерство Lean-разработки ПО: Практическое руководство для CTO в 2022 году
  8. Custom Healthcare Software Development 2024: The Definitive Guide to Launching Your Project
  9. Разработка ПО на заказ в 2022 году: стратегическое руководство для топ-менеджмента Ролея
  10. 5 ключевых инсайтов о гибкой разработке ПО, которые должен знать каждый бизнес