Тенденции аппаратной эмуляции, обусловленные требованиями рынка
Сегодня игроки пяти крупнейших вертикальных рынков конечного потребления полупроводниковых приборов объединяются с целью стимулирования нескольких самых широких тенденций развития полупроводниковой промышленности, таких как непрерывное увеличение сложности и размера конструкций, количества периферийных устройств, вычислительной мощности и активности трафика ввода–вывода, а также критическая необходимость сдерживать рост потреб-ления энергии. Совокупные последствия этих тенденций резко влияют на конкурентную среду верификации проектирования и способствуют широкому внедрению платформ аппаратной эмуляции.
Пять крупнейших вертикальных рынков конечного потребления полупроводниковых приборов, вносящие свой вклад в развитие вышеупомянутых тенденций, – это сетевой обмен данными центров обработки данных (ЦОД), средства связи и технологии 5G, средства автономного вождения, средства хранения данных и информации, а также искусственный интеллект (ИИ) и средства машинного обучения (МО).
По данным Альянса разработчиков систем проектирования электронных устройств (ESD Alliance), входящего в технологическое сообщество SEMI, рынок средств верификации с аппаратной поддержкой (HAV) с 1995 г. неуклонно рос, отставая все десятилетие 2000–2010 гг. от моделирования на языке HDL (hardware description language – язык описания аппаратных средств) с разрывом, превышающим 200 млн долл. Начиная с 2011 г. всплеск доходов от HAV закрывал этот отрыв, но в 2014 г. разрыв вновь появился, а в 2018‑м зеркально отразился (см. таблицу). Логично предположить, что стремление к внедрению верификации с аппаратной поддержкой на пяти важнейших рынках будет продолжаться и ускоряться в обозримом будущем.
Таблица
Соотношение расходов на верификацию с аппаратной поддержкой и HDL-моделирование
Годы |
1995 |
1996 |
1997 |
1998 |
1999 |
2000 |
2001 |
2002 |
2003 |
2004 |
2005 |
2006 |
2007 |
Верификация с аппаратной поддержкой, млн долл. |
152 |
167 |
103 |
100 |
183 |
252 |
173 |
130 |
128 |
130 |
121 |
156 |
178 |
HDL-модели-рование, млн долл. |
148 |
184 |
189 |
234 |
214 |
372 |
365 |
351 |
338 |
363 |
369 |
377 |
420 |
Соотношение, %/% |
51/49 |
52/48 |
35/65 |
30/70 |
46/54 |
40/60 |
32/68 |
27/73 |
27/73 |
26/74 |
25/75 |
29/71 |
29/71 |
Годы |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
2018 |
2019 |
2020 |
Верификация с аппаратной поддержкой, млн долл. |
154 |
163 |
188 |
293 |
363 |
426 |
390 |
367 |
412 |
418 |
549 |
651 |
718 |
HDL-модели-рование, млн долл. |
394 |
345 |
380 |
411 |
428 |
471 |
460 |
491 |
496 |
531 |
527 |
553 |
561 |
Соотношение, %/% |
28/72 |
32/78 |
33/67 |
41/59 |
46/54 |
47/53 |
45/55 |
43/57 |
45/55 |
44/56 |
51/49 |
54/46 |
56/44 |
Тенденции и проблемы верификации на рынках сетевого обмена данными ЦОД, средств связи и технологий 5G, средств автономного вождения, ИИ и МО и средств хранения данных и информации показывают, что эмуляторы перспективного аппаратного обеспечения – вносящие крупнейший вклад в развитие рынка HAV – способны их решить.
Сетевой обмен ЦОД
Сетевой обмен данными ЦОД демонстрирует взрывообразный рост, поддерживаемый новыми приложениями, такими как управляемый ПО сетевой обмен данными (SDN). Играют свою роль и новые, развивающиеся протоколы, включающие 5G, чувствительный ко времени сетевой обмен данными (TSN) и автомобильный Интернет. Все это способствует увеличению числа портов (сегодня превышает 256) и быстродействия (приближается к 800 Гбит/сек), росту пропускной способности и снижению времени ожидания (рис. 1). Следствием этого стало резкое увеличение размеров конструкций – до многих миллиардов эквивалентных вентилей – и усложнение их верификации до реализации на физическом уровне («до кремния», т. е. виртуально) из-за сокращения времени, выделяемого на исполнение бюджетов по производительности и мощности.
Источник: Siemens EDA
Рисунок 1. Сетевой обмен данными ЦОД существенно усложняет проблемы верификации
Для решения указанных задач современный аппаратный эмулятор должен обладать платформой, приложениями и экосистемой с определенными характеристиками.
Емкость платформы должна достигать 15 млрд вентилей при масштабируемости, начинающейся с 1 млрд вентилей, и при сохранении постоянной скорости исполнения во всех конфигурациях. Платформа должна изначально поддерживать схемы троичной ассоциативной памяти (TCAM), что позволяет избежать громоздкого и неэффективного моделирования. Не менее важно, чтобы канал связи между тестовой средой и тестируемым устройством (DUT), работающим в эмуляторе, отличался широкой полосой пропускания и низким временем ожидания для обеспечения возможности работы растущего числа портов.
Что касается приложений, то они должны обладать возможностью как внутрисхемной эмуляции (ICE), так и виртуального развертывания. Обязательным условием для ICE является детерминированная отладка, поэтому необходим богатый набор регуляторов быстродействия. Для виртуального режима обязательна расширенная библиотека проверенных виртуальных решений (таких как VirtuaLAB Ethernet и VirtuaLAB PCIe фирмы Siemens).
Средства связи и 5G
Выделяются две характеристики рынка средств связи, в частности 5G-приложений. Во-первых, поток патентов на 5G в 2018 г. – порядка 50 тыс. – демонстрирует ускорение развертывания данной технологии. Во-вторых, для удовлетворения требований низкой потреб-ляемой мощности, производительности, размера и времени ожидания в широком диапазоне приложений (таких как интеллектуальные устройства и города, изделия краевого Интернета вещей и виртуальной реальности, приложения цифровой индустрии и автономных транспортных средств) необходимы специализированные полупроводниковые приборы.
Для решения проблемы верификации 5G-конструкций необходим комплексный сквозной набор инструментов, интегрированных в технологический процесс, начинающийся на уровне виртуальных (до реализации на физическом уровне) СФ-блоков и продолжающийся вплоть до испытательной лаборатории после реализации конструкции на физическом уровне (рис. 2).
Источник: Siemens EDA
Рисунок 2. Сквозной технологический поток разработки и верификации 5G-конструкций
В рамках полного цикла верификации и аттестации процесс охватывает моделирование, эмуляцию, прототипирование, блочное тестирование (тестирование составных элементов), системную интеграцию и тестирование на физическом уровне. Моделирование направлено на верификацию уровня СФ-блоков и блоков конструкции. Аппаратная эмуляция берет на себя функции моделирования для выполнения верификации подсистемы и в сочетании с прототипированием FPGA (вентильные матрицы, программируемые пользователем) проверяет и аттестует всю систему, включая ПО, вплоть до конечного результата процесса проектирования. Хорошо интегрированный набор платформ эмуляции и прототипирования при сквозной верификации может совместно использовать одни и те же входные сигналы (стимулы) и настройки.
Автономное вождение
Проектирование средств автономного вож-дения включает в себя несколько важных вопросов, связанных с безопасностью и защитой, позволяющих избежать необходимости обработки больших данных, что требует массовой связи между транспортным средством и центрами облачных вычислений.
Проблемы верификации связаны с растущим числом датчиков, количество типов которых может превышать 50, увеличением объема ПО, достигающего в настоящее время 100 млн строк кода, а также сложностью аппаратного и программного обеспечения, которые должны аттестоваться совместно. В целом требуется огромное множество циклов проверки, подтверждающих безопасность и защищенность автономного транспортного средства.
Проверка и аттестация контроллера автономного вождения должна иметь дело с распознаванием и восприятием, вычислениями и активацией. Реализация функции распознавания и восприятия позволяет собирать информацию с датчиков для фиксации сценариев вождения. Вычислительные функции выполняют алгоритмическую обработку этих сценариев для формулирования решения. Функция активации реализует эти решения, посылая команды двигателю, трансмиссии, рулевому управлению и тормозной системе, что требует интеграции нескольких технологий. С помощью аппаратной эмуляции осуществляются вычисления на основе данных датчиков, генерируемых виртуальной средой, такой как VECTOR CANoe, dSPACE или Siemens Pre-Scan, и генерируются действия, команды о реализации которых отправляются на функциональные макеты двигателя и рулевого колеса, такие как Siemens AMESim и т. п. (рис. 3).
Источник: Siemens EDA
Рисунок 3. Среда верификации и аттестации автономного транспортного средства
* FMI (functional mock-up interface) – интерфейс функционального макета, определяет стандартизованный интерфейс, использующийся в компьютерном моделировании для разработки сложных киберфизических систем.
** TLM (transaction-level modeling) – моделирование на уровне транзакций, высокоуровневый подход к моделированию цифровых систем, в котором элементы связи между модулями отделены от элементов реализации функциональных блоков или архитектуры связи.
Искусственный интеллект и машинное обучение
Для проектирования средств ИИ и МО требуется все больше транзисторов, управляемых новыми вычислительными архитектурами, архитектурами приборов и систем хранения данных и доступа к памяти. Новые архитектуры ориентированы на конкретные приложения, такие как тензорные процессоры (TPU), нейронные сетевые процессоры (NNP), блоки нейронной обработки (NPE), а также типы реализаций, такие как 2D- и 3D-корпусирование, чиплеты, структуры FPGA и заказные логические ИС ИИ. С точки зрения верификации, четырьмя возможностями, которые необходимо реализовать, являются проектная мощность, структура проектирования, анализ потребляемой мощности и аттестация стека ПО.
Основываясь на этих конструктивных характеристиках, платформа аппаратной эмуляции должна содержать до 15 млрд вентилей и компилировать конструкции со скоростью несколько сотен миллионов вентилей в час (для сокращения времени проектирования), чтобы найти и исправить ошибку, перекомпилировать и повторно запустить эмуляцию. Платформа должна поддерживать широкую полосу рабочих частот канала связи между хост-компьютером и эмулятором для управления интенсивным трафиком между виртуальной тестовой средой и тестируемым устройством. Наконец, она должна выполнять точный анализ потребляемой мощности и иметь возможность исполнять стеки клиентского ПО в зависимости от приложения.
Средства хранения данных (SSD в сравнении с CSD)
Массовое внедрение твердотельных накопителей (solid-state drive, SSD) сдерживается тремя узкими местами. Во-первых, носитель, представляющий собой флэш-память NAND-типа, при высокой надежности обладает ограниченным сроком службы, отличается выравниванием степени износа, необходимостью сборки мусора, снижением производительности с течением времени и случайной задержкой. Во-вторых, пропускная способность и задержка интерфейса хост-компьютера не соответствуют требованиям SSD для реализации его полного потенциала. В-третьих, физика перемещения данных снижает целевые показатели производительности и энергопотребления, хотя некоторые проблемы могут быть преодолены в устройствах вычислительного хранения (computational storage device, CSD) (рис. 4).
Источник: Siemens EDA
Рисунок 4. Применение устройств вычислительного хранения позволяет преодолеть ряд проблем, увеличив производительность, снизив потребляемую мощность и высвободив полосу пропускания шины PCIe
В случае использования SSD хост-компьютер запрашивает данные из памяти, ЗУ отправляет данные на компьютер, а компьютер записывает обработанные данные обратно в ЗУ. В случае CSD хост-компьютер отправляет запрос на упрощенный вычислительный блок, локально установленный в CSD. Благодаря этому вместо отправки данных в хост-компьютер они обрабатываются «на месте», а в хост-компьютер отправляются результаты обработки.
В принципе, разработчики CSD могут дезагрегировать и перемещать вычисления с хост-компьютера на место обработки с целью повышения производительности, снижения энергопотребления и высвобождения полосы пропускания шины PCIe. Выгоду из применения CSD могут извлечь несколько приложений, включая ЦОД, специализирующиеся на гиперразмерных вычислениях, средства распознавания изображений, краевых вычислений, ИИ и МО, аналитики в реальном масштабе времени, запросов к базам данных и т. д.
Традиционные подходы к верификации SSD и CSD оказались неэффективными из-за недетерминированного характера этих ЗУ. Виртуальная верификация на основе аппаратной эмуляции предлагает новые методы. Благодаря виртуализации полная верификация системы (включая полную аттестацию встраиваемого ПО) может выполняться с высоким быстродействием, что позволяет сократить время выхода на рынок и выполнить архитектурные исследования для создания оптимального решения конкретной задачи. Виртуализация SSD позволяет проводить тестирование производительности и задержки до реализации конструкции на физическом уровне, при этом погрешность находится в пределах 5 % от фактической реализации на физическом уровне.
Тенденции и анализ потребляемой мощности
Проектирование кристаллов ИС с уровнями технологических норм менее 28 нм увеличивает недостатки динамического энергопотребления в нескольких сегментах конечного потребления, таких как мобильные устройства, центральные и графические процессоры, ЦОД, автомобильная электроника и средства ИИ и МО.
Для быстрого и эффективного анализа потребляемой мощности точная идентификация максимальных и минимальных значений энергопотребления, напряжения и т. п., а также горячих точек в виртуальных конструкциях, – непростая задача. Осложняют ее длительное оборотное время, высокое потребление места в ЗУ и громоздкие форматы генерации формы сигналов, такие как база данных быстрых сигналов (fast signal database, FSDB) и дамп изменения значений (VCD). Точные и реалистичные результаты могут быть достигнуты только при использовании ОС реального масштаба времени и отраслевых эталонных тестов, таких как 3DMark, GFXBench, Geekbench, AnTuTu, нуждающихся в высокопроизводительном вычислительном блоке и интегрированном технологическом процессе аттестации.
Современный аппаратный эмулятор может генерировать график активности на ранних этапах цикла проверки проекта. Это осуществляется запуском приложения в реальном масштабе времени до момента доступности кода уровня регистровых передач (RTL) – для быстрого определения того, где и когда возникают горячие точки и наблюдаются минимальные показатели параметров. Современный аппаратный эмулятор способен определить, что вызывает всплески энергопотребления, напряжения и т. п. в иерархиях аппаратного обеспечения и создать карту точек доступа, показывающую, какие СФ- или иные блоки являются средствами экономии потребляемой мощности (power hogs).
Как только платформа аппаратной эмуляции идентифицирует временные окна в иерархиях проектирования, становится возможным сгенерировать подробную информацию о переключении в этих окнах для активизации инструмента анализа потребляемой мощности. Обычно это делается путем создания базы данных потоковой передачи плоских файлов (flat-file streaming database, FSDB) или файлов в формате переключения взаимного обмена активностью (switching activity interchange format, SAIF). Лучшим подходом для более быстрой и эффективной процедуры было бы использование прямого доступа к интерфейсу прикладного программирования (API) – от эмулятора к инструменту анализа потребляемой мощности с отказом от генерации файлов.
Как только инструмент анализа потребляемой мощности получит необходимую информацию, он сможет генерировать точные данные по потребляемой мощности – для внесения изменений в RTL-конструкцию с целью снижения энергопотребления. После внесения соответствующих изменений правильность этих изменений может подтвердить новый цикл верификации.
Brunet Jean-Marie, Rizzatti Lauro. Market-Driven Trends in Hardware Emulation. EE Times, June 6, 2021: https://www.eetimes.com/market-driven-trends-in-hardware-emulation