Симуляция компонента с Simulink

Как программное обеспечение Симулятора HDL и Simulink общается с помощью HDL Verifier для симуляции компонента

Когда вы связываете симулятор HDL с Simulink® приложение, симулятор функционирует как сервер. Как показано на следующей схеме, блоки HDL Cosimulation в модели Simulink принимают сигналы от модуля HDL под симуляцией в Симулятор HDL через порты выхода на панелях Ports и возврате данные через порты входа на панелях Ports.

Как Simulink управляет сигналами косимуляции

Несмотря на то, что вы можете связать выходные порты блока HDL Cosimulation с любым сигналом в иерархии HDL-модели, вы должны использовать некоторую осторожность при соединении сигналов с входными портами. Вы хотите проверить, что сигнал, к которому вы привязываетесь, не имеет других драйверов. Если это так, используйте разрешенные логические типы; в противном случае можно получить непредсказуемые результаты.

Если вам нужно использовать сигнал, который имеет несколько драйверов и он разрешен (для примера, это VHDL® тип STD_LOGIC), Simulink применяет функцию разрешения в каждом временном шаге, заданном частотой выборки сигнала Simulink. В зависимости от других драйверов, значение Simulink может применяться или не применяться. Кроме того, Simulink не контролирует изменения сигнала, которые происходят между его шагами расчета.

Примечание

Проверьте, что сигналы, используемые в косимуляции, имеют доступ для чтения/записи. Можно проверить доступ для чтения/записи через Симулятор HDL - для получения дополнительной информации см. Симулятор HDL документацию.

Это правило применяется ко всем сигналам на Ports, Clocks и Simulation панелях и к сигналам, добавленным к модели любым другим способом.

Многократные сигналы во время косимуляции компонента

Программное обеспечение HDL Verifier™ поддерживает использование сигналов мультиуровня, сигналы, которые выбраны или обновлены по различным ставкам на сингле HDL Cosimulation блок. Блок HDL Cosimulation обменивается данными для каждого сигнала со скоростью выборки Simulink для этого сигнала. Для входных сигналов блок HDL Cosimulation принимает и чтит все скорости сигнала.

Блок HDL Cosimulation также позволяет вам задать независимый шаг расчета для каждого выходного порта. Необходимо явно задать шаг расчета для каждого выходного порта или принять значение по умолчанию. Использование этой настройки позволяет управлять частотой, с которой Simulink обновляет порт выхода, считывая соответствующий сигнал от Симулятора HDL.

Непрерывные сигналы времени

Используйте блок Zero-Order Hold Simulink, чтобы применить удержание нулевого порядка (ZOH) к непрерывным сигналам, которые управляются в блок HDL Cosimulation.

HDL- Функций блоков косимуляции для Симуляции компонентов

Блок HDL Verifier HDL Cosimulation связывает аппаратные компоненты, которые одновременно симулируются в симуляторе HDL, с остальной частью модели Simulink.

Связать Simulink и Симулятор HDL можно двумя возможными способами:

  • Как один HDL Cosimulation блок, установленный в рамках большей системно-ориентированной модели Simulink.

  • Как модель Simulink, состоящая из набора HDL Cosimulation блоков, каждый из которых представляет определенный аппаратный компонент.

Маска блока содержит панели для ввода информации о порте и сигнале, настройки режимов связи, добавления часов (Incisive® и ModelSim® только), установка команд Tcl до и постсимуляция (только Incisive и ModelSim) и определение зависимости синхронизации.

После того, как вы кодируете один из компонентов вашей модели в VHDL или Verilog® и симулируйте его в Симулятор HDL окружения, вы интегрируете представление HDL в модель Simulink как блок HDL Cosimulation. Существует по одному блоку для каждого поддерживаемого Симулятора HDL. Эти блоки находятся в библиотеке Simulink, в библиотеке блоков HDL Verifier. В качестве примера, блок для использования с Mentor Graphics® ModelSim показан на следующем рисунке.

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

  • Порты Панели: Блокируйте вход и выходные порты, которые соответствуют сигналам, включая внутренние сигналы, вашего HDL- проекта и выхода шага расчета.

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

  • Timescales Панели: Отношение времени между программным обеспечением Simulink и Симулятора HDL.

  • Clocks Pane (только Incisive и ModelSim): Опциональные часы с передним и задним фронтом для применения к вашей модели.

  • Панель моделирования (только Incisive и ModelSim): команды Tcl, выполняемые до и после симуляции.