Представляем AMD Vitis™ Hardware in the Loop
Проверяйте быстрее. Выпускайте раньше.
AMD Vitis™ Hardware in the Loop (Vitis HIL) объединяет моделирование и запуск оборудования, обеспечивая верификацию на системном уровне на оценочных платах непосредственно из существующих сред тестирования MATLAB® или Python™. Команды могут повторно использовать привычные тестовые стенды, генераторы стимулов, эталонные модели и рабочие процессы анализа результатов вместо того, чтобы перестраивать их для проверки оборудования. Вместо замены моделирования, Vitis HIL расширяет возможности верификации до реального кремния, когда требуется большая скорость, масштаб или точность аппаратного обеспечения.
Программное моделирование для гетерогенных систем может быть сложным
Рассмотрим типичный гетерогенный DSP-дизайн: многофазный каналообразователь, реализованный на ядрах AI Engine и программируемой логике (PL), скомпилированной с помощью HLS, на адаптивной SoC AMD Versal VC1902. Дизайн работает с входной частотой дискретизации 8,75 ГГц и выдает 16 выходов подканалов. Сквозная верификация с помощью симулятора AI Engine или RTL-симуляции с точностью до цикла требует миллионов входных выборок для подтверждения сходимости, разделения подканалов и спектральной точности в различных условиях эксплуатации. Обработка этих реалистичных наборов данных программно может занять много времени, тогда как та же рабочая нагрузка выполняется гораздо быстрее на целевом оборудовании. В результате исследование таких параметров, как длина каскада, коэффициент SSR и точность коэффициентов (twiddle), только с помощью моделирования становится непрактичным.
Программное моделирование должно моделировать каждый этап конвейера, доступ к памяти и передачу данных между ядрами, в то время как массив AI Engine выполняет эти операции параллельно на частоте 1,25 ГГц с детерминированной точностью до цикла. Для описанного выше 16-канального многофазного каналообразователя самым понятным способом проверки разделения поддиапазонов и фазового выравнивания при целевой частоте дискретизации является запуск дизайна на кристалле и прямое наблюдение за выходом.
Vitis HIL запускает дизайн на физическом кристалле, а не эмулирует его или полагается на поведенческую модель. Ядра AI Engine выполняются на физическом массиве AI Engine на запрограммированной тактовой частоте (обычно 1,25 ГГц) на VCK190, в то время как логика PL работает на своих синтезированных тактовых частотах. Доступы к памяти используют реальную программируемую NoC и иерархию блочной памяти (BRAM). В результате наблюдения на стороне хоста фиксируют реальную задержку конвейера, округление чисел с фиксированной запятой, поведение насыщения и граничные случаи, зависящие от времени, которые программное моделирование может не выявить.
Для сложных DSP-приложений выполнение на аппаратной скорости делает измеренную производительность непосредственно репрезентативной для развертывания. Банк многофазных фильтров, использующий 400 тайлов AI Engine на частоте 1,25 ГГц, обрабатывает тестовые векторы на аппаратной скорости, поэтому задержка и пропускная способность, измеренные с помощью Vitis HIL, являются значениями, которые будет демонстрировать развернутая система, а не оценками, полученными из количества циклов моделирования.
Как это работает за 10 шагов
Рабочий процесс Vitis HIL состоит из двух фаз. Фаза 1 — это однократная сборка и настройка платы. Фаза 2 — это итеративный цикл тестирования, используемый по мере развития дизайна. Инженеры повторяют Фазу 1 только при изменении аппаратной архитектуры, а не во время обычных итераций тестирования.
Фаза 1: Настройка
- Настройте подсистему Vitis с вашим контентом AI Engine и программируемой логикой
- Создайте загрузочный образ SD-карты с помощью одной команды сборки
- Запишите образ на SD-карту
- Вставьте SD-карту и включите плату разработки
- Запустите сервер Vitis HIL на плате
Фаза 2: Тестирование
Генерируйте кадры стимулов на хосте, используя существующие скрипты MATLAB® или Python™. Входные данные упаковываются в типизированные объекты кадров, соответствующие спецификации интерфейса Vitis HIL: преобразование формата не требуется.
- Вызовите функцию запуска Vitis HIL со списком входных кадров. Клиент передает данные по TCP, инициирует DMA-передачу к интерфейсам PLIO AI Engine и ожидает вывода.
- Массив AI Engine и логика PL выполняют вычисления на полной тактовой частоте кристалла. Выходные данные накапливаются в выходных буферах DMA на плате.
- Вызов запуска возвращает обработанные выходные кадры. Цикл очистки в конце последовательности тестов сбрасывает любые данные, оставшиеся в аппаратном конвейере.
Применяйте сравнение с эталоном, спектральный анализ, расчет BER или любую существующую методологию верификации непосредственно в MATLAB® или Python™: преобразование формата вывода не требуется.
Ключевая идея: существующие скрипты верификации на MATLAB® или Python™ обычно могут сохранять свою логику генерации стимулов и анализа результатов при адаптации к кадрам Vitis HIL и API запуска.
Путь туда и обратно включает генерацию стимулов, передачу по Ethernet, DMA-передачу к интерфейсам PLIO AI Engine, вычисления, считывание через DMA, возврат по Ethernet и доставку результатов. Общая задержка состоит из времени заполнения конвейера ядра плюс примерно 2–5 мкс накладных расходов на передачу. При больших кадрах рекомендуемой отправной точкой является четырехкратный размер кадра ядра (накладные расходы DMA и TCP становятся пренебрежимо малой долей времени обработки, а устойчивая пропускная способность приближается к пропускной способности памяти, доступной для подсистемы Ethernet). После последовательности тестов API getStats() сообщает количество DMA-передач на порт и измеренную пропускную способность для сравнения со спецификацией дизайна.
Разработано как для AI Engine, так и для дизайнов только на PL
Vitis HIL построен вокруг подсистемы Vitis (VSS), которая упаковывает графы AI Engine и HLS PL-ядра как повторно используемый IP-блок. Хотя поток разработан в первую очередь для гетерогенных систем, VSS также может содержать только HLS PL-ядра. В этой конфигурации hil_gen создает битовый поток и образ сервера Vitis HIL, которые подключают PL-ядра напрямую к инфраструктуре DMA на базе Ethernet. API MATLAB® или Python™ работают так же, позволяя командам с традиционными DSP-дизайнами на программируемой логике использовать тот же метод верификации и оценочное оборудование без графа AI Engine.
Vitis HIL предоставляет унифицированный подход к верификации для дизайнов, варьирующихся от DSP-реализаций с фиксированной запятой только на PL до полноценных гетерогенных систем AI Engine и PL, с согласованными инструментами и API хоста для обоих вариантов.
Оборудование: два оценочных комплекта, один поток
Vitis HIL полностью поддерживается на двух оценочных комплектах AMD Versal™. Оба используют один и тот же 10-шаговый рабочий процесс.
Поддерживаемые платы
Оценочный комплект VCK190: серия Versal AI Core (VC1902). Специально создан для аэрокосмической и оборонной промышленности, а также для DSP-нагрузок спутников на низкой околоземной орбите (LEO), где критически важны ограничения по размеру, весу и энергопотреблению (SWaP): обработка радиолокационных сигналов, сонар, SIGINT и приложения для полезной нагрузки спутников.
Оценочный комплект VEK280: серия Versal AI Edge (VE2802). Оптимизирован для автомобильных и промышленных периферийных приложений: восприятие ADAS, слияние датчиков, машинное зрение и обработка сигналов в реальном времени перед интеграцией в транспортное средство или промышленную платформу.
Обе платы подключаются к хосту через стандартный Ethernet и используют одни и те же API Vitis HIL для MATLAB® или Python™. Таким образом, логика верификации может быть повторно использована для целей VCK190 и VEK280, хотя аппаратный дизайн должен быть пересобран для каждого выбранного устройства и платы.
Для кого предназначен Vitis HIL?
Vitis HIL предназначен для команд, которым требуется проверка на системном уровне, выходящая за рамки того, что практически может обеспечить чисто программное моделирование, включая:
- Инженеров по алгоритмам, проверяющих пропускную способность, задержку и численные показатели перед интеграцией платформы
- Инженеров по обработке сигналов, проверяющих точность формы волны и детерминированную задержку для рабочих нагрузок DSP
- FPGA-архитекторов, интегрирующих вычисления AI Engine с маршрутизацией, форматированием или протокольными интерфейсами на базе PL
- Инженеров по верификации, расширяющих покрытие тестами с помощью реалистичных наборов данных на реальном оборудовании
- Системных интеграторов, проверяющих сквозное поведение конвейеров AI Engine и PL
Начало работы: инструменты и лицензирование
Vitis HIL входит в состав AMD Vitis 2026.1 и поддерживает хост-API MATLAB® или Python™ для генерации стимулов, захвата результатов и автоматизированного выполнения тестов. Подробную информацию о настройке, поддерживаемых типах данных, настройке размера кадра и руководства по оптимизации см. в Руководстве пользователя Vitis HIL (UG1865). Практическое руководство Adam Taylor’s Hackster.io example демонстрирует сквозную верификацию многофазного каналообразователя с использованием Vitis HIL на плате VCK190.
Ключевая идея: после настройки платы рутинные итерации тестирования можно запускать из MATLAB® или Python™ без ручного взаимодействия с оборудованием. При изменении битового потока проекта рабочий процесс Vitis HIL позволяет автоматизировать обновление с помощью скриптов, перезапустить сервер Vitis HIL и установить новое TCP-соединение, что делает этот процесс подходящим для автоматизированных сред и сред CI/CD.
Готовы к проверке на реальном кремнии?
Узнайте больше о Vitis HIL, включая пошаговое руководство и обучающее видео.







