Косимуляция HDL

Косимуляция HDL с помощью MATLAB или Simulink

Программное обеспечение HDL- Verifier™ состоит из MATLAB® функций, системной object™ MATLAB и библиотеки Simulink® блоки, все из которых устанавливают коммуникационные ссылки между симулятором HDL и MATLAB или Simulink.

Программное обеспечение HDL Verifier оптимизирует разработку FPGA и ASIC путем интеграции инструментов, доступных для следующих процессов:

  1. Разработка спецификаций для оборудования проекта образцов модели

  2. Реализация оборудования проекта в HDL на основе образца модели

  3. Проверка проекта на соответствие исходного проекта

Следующий рисунок показов, как Симулятор HDL и MathWork® продукты, подгонка в это оборудование проекта сценарий.

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

В дополнение к предыдущему сценарию проекта программное обеспечение HDL Verifier позволяет работать с инструментами следующими способами:

  • Используйте MATLAB или Simulink, чтобы создать тестовые сигналы и программные испытательные стенды для HDL-кода

  • Используйте MATLAB или Simulink, чтобы предоставить поведенческую модель для HDL- симуляции

  • Используйте возможности анализа и визуализации MATLAB для понимания HDL- реализации в реальном времени

  • Используйте Simulink, чтобы преобразовать устаревшие описания HDL в представления уровня системы

Примечание

Можно косимулировать модуль с помощью SystemVerilog, SystemC или обоих с помощью MATLAB или Simulink с помощью программного обеспечения HDL Verifier. Напишите простые оболочки вокруг SystemC и убедитесь, что соединения косимуляции SystemVerilog соединены с портами или сигналами типов данных, поддерживаемыми интерфейсом косимуляции ссылки.

Больше обсуждений о том, как работает косимуляция, можно найти в следующих разделах:

Связь с MATLAB и Симулятор HDL

При соединении с MATLAB Симулятора HDL функционирует как клиент, как показы следующий рисунок.

В этом сценарии функция сервера MATLAB ожидает запросов на обслуживание, которые она получает из Симулятора HDL сеанса. После получения запроса сервер устанавливает канал связи и вызывает указанную функцию MATLAB, которая вычисляет данные для, верифицирует или визуализирует HDL-модуль (закодирован в VHDL® или Verilog®), который находится на симуляции в симуляторе HDL.

После того, как сервер работает, можно запустить и сконфигурировать симулятор HDL или использовать с MATLAB с поставляемой функцией HDL Verifier:

  • nclaunch (Резьба®)

  • vsim (ModelSim®)

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

Следующий рисунок показывает, как функция компонента MATLAB обернута и общается с симулятором HDL во время сеанса симуляции компонента.

Когда вы начинаете определенный испытательный стенд или сеанс компонента, вы задаете параметры, которые идентифицируют следующую информацию:

  • Режим и, если применимо, данные TCP/IP для подключения к серверу MATLAB

  • Функция MATLAB, которая связана и выполняется от имени HDL- образца

  • Спецификации синхронизации и другие данные управления, которые определяют, когда должна быть вызвана функция MATLAB модуля

Связь с Simulink и Симулятор HDL

При соединении с Simulink Симулятора HDL функционирует как сервер, как показано на следующем рисунке.

В этом случае Симулятор HDL реагирует на запросы моделирования, которые он получает из блоков косимуляции в модели Simulink. Сеанс косимуляции начинается с Simulink. После запуска сеанса можно использовать Simulink и Симулятор HDL для мониторинга прогресса и результатов симуляции. Например, вы можете добавить сигналы в окно Wave симулятора HDL, чтобы контролировать временные диаграммы симуляции.

Используя диалоговое окно Параметров блоков для блока HDL Cosimulation, можно сконфигурировать следующее:

  • Блокируйте входные и выходные порты, которые соответствуют сигналам (включая внутренние сигналы) HDL-модуля. При необходимости можно задать шаги расчета и типы данных с фиксированной точкой для отдельных выходных портов блоков.

  • Тип связи и настройки связи, используемые для обмена данными между инструментами симуляции.

  • Часы нарастающего или падающего края для применения к вашему модулю. Вы можете индивидуально задать период каждого синхроимпульса.

  • Команды Tcl для выполнения до и после симуляции.

Программное обеспечение HDL Verifier оснащает Симулятор HDL набором настроенных функций. Для ModelSim, когда вы используете функцию vsimulinkВыполняется симулятор HDL с образцом HDL-модуля для косимуляции с Simulink. После загрузки модуля можно начать сеанс косимуляции из Simulink. Резкие пользователи могут выполнять те же операции с функцией hdlsimulink.

Программное обеспечение HDL Verifier также включает блок для генерации файлов дампа изменения значения (VCD). Можно использовать файлы VCD, сгенерированные этим блоком, для выполнения следующих задач:

  • Просмотрите формы волны симуляции Simulink в среде симуляции HDL

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

  • Используйте в качестве входов для инструментов анализа после постсимуляции

HDL- Cosimulation Wizard

HDL Verifier содержит функцию Cosimulation Wizard, которая использует существующий HDL-код для создания настраиваемой функции MATLAB (испытательный стенд или компонент), объекта MATLAB System или блока Simulink HDL Cosimulation. Для получения дополнительной информации смотрите Подготовка к импорту HDL-кода для косимуляции.

Коммуникации для косимуляции HDL

Режим связи, который вы используете для ссылки между HDL-симулятором и MATLAB или Simulink, зависит от того, запуски ли ваше приложение в локальном односистемном строении или в сетевом строении. Если эти продукты и продукты MathWorks могут запускаться локально в одной и той же системе, и вашему приложению требуется только один канал связи, у вас есть опция выбора между общей памятью и коммуникацией разъема TCP/IP. Связь с общей памятью обеспечивает оптимальную эффективность и является режимом связи по умолчанию.

Режим разъема TCP/IP более универсален. Его можно использовать для односистемных и сетевых строений. Эта опция обеспечивает наибольшую масштабируемость. Для получения дополнительной информации о коммуникации разъемов TCP/IP см. раздел «Порты разъемов TCP/IP».

Поддержка языка описания оборудования (HDL)

Все функции HDL Verifier MATLAB и блок HDL Cosimulation предлагают один и тот же языковый прозрачный набор функций для моделей Verilog и VHDL.

Программное обеспечение HDL Verifier также поддерживает смешанные HDL-модели (модели как с компонентами Verilog, так и VHDL), позволяя вам косимулировать VHDL и Verilog сигналы одновременно. MATLAB и программное обеспечение Simulink могут получить доступ к компонентам на разных языках на любом уровне.

Рабочие процессы косимуляции HDL

Руководство пользователя HDL Verifier содержит инструкции по использованию программы верификации с поддерживаемыми Симуляторами HDL для следующих рабочих процессов:

  • Симуляция HDL- Компонента в Испытательный стенд MATLAB Окружения

  • Замена HDL-компонента функцией компонента MATLAB

  • Симуляция HDL- Компонента в тестовом Окружении Simulink

  • Замена HDL- Компонента на алгоритм Simulink

  • Запись переходов состояния Simulink Signal для постобработки

Функции продукта и поддержка платформы

Функция продуктаТребуемые продуктыРекомендуемые продуктыПоддерживаемые платформы
MATLAB и симулятор HDL косимуляции (функция)MATLABFixed-Point Designer™, Signal Processing Toolbox™Windows® 32- и 64-разрядная; Linux® 64-разрядная версия
MATLAB и симулятор HDL косимуляции (Системный объект)MATLAB и Fixed-Point DesignerCommunications Toolbox™, DSP System Toolbox™Windows 32- и 64-разрядная; 64-разрядная версия Linux
Simulink и симулятор HDLSimulink, Fixed-Point DesignerSignal Processing Toolbox, DSP System ToolboxWindows 32- и 64-разрядная; 64-разрядная версия Linux