В большинстве случаев создание модели Simulink ® для работы в качестве компонента HDL не отличается от создания модели Simulink для использования в качестве испытательного стенда. При использовании Simulink в качестве компонента можно иметь несколько блоков косимуляции ЛПВП, а не один блок косимуляции ЛПВП, хотя нет никаких ограничений на то, сколько блоков косимуляции ЛПВП можно использовать в любой ситуации.
Эти шаги описывают, как имитировать конструкцию ЛПВП, которая проверяет алгоритм, моделируемый с помощью программного обеспечения Simulink.
Создайте конструкцию ЛПВП. Компиляция, разработка и моделирование модуля в имитаторе HDL. См. Код компонента HDL.
Разработка алгоритма и алгоритма модели в Simulink. Перед заменой или добавлением компонентов модели оборудования в виде блоков Cosimulation выполните тщательное тестирование модели.
Запустите имитатор HDL для использования с библиотеками MATLAB ® и Simulink и загрузите библиотеки Verifier™ HDL. См. раздел Запуск имитатора ЛПВП для косимуляции в Simulink.
Добавьте один или несколько блоков косимуляции HDL для обеспечения связи между имитаторами. См. раздел Вставка блока косимуляции HDL.
Задайте параметры блока косимуляции HDL. См. раздел Определение интерфейса блока косимуляции HDL.
(Необязательно) Добавьте блок «К файлу VCD» для регистрации изменений переменных во время сеанса моделирования. См. раздел Добавление файла дампа изменения значения (VCD).
Сначала запустите модель Simulink, затем запустите cosimulation в имитаторе HDL. См. раздел Запуск сеанса Cosimulation Simulink.
Определение режимов направления порта в модуле HDL для моделирования компонентов
Определение типов данных портов в модуле HDL для моделирования компонентов
Компиляция и разработка проекта ЛПВП для моделирования компонентов
Интерфейс HDL Verifier передает все данные между имитатором HDL и Simulink в качестве данных порта. Программное обеспечение HDL Verifier работает с любым существующим модулем HDL. Однако при кодировании модуля HDL, предназначенного для проверки Simulink, следует учитывать типы данных, совместно используемых двумя средами и режимами направления.
В операторе модуля необходимо указать каждый порт с режимом направления (входной, выходной или двунаправленный). Эти три режима определяются в следующей таблице.
| Использовать режим VHDL ®... | Использовать режим Verilog ®... | Для портов, которые... |
|---|---|---|
IN | input | Представляют сигналы, которые могут управляться функцией MATLAB |
OUT | output | Представление значений сигналов, передаваемых функции MATLAB |
INOUT | inout | Представление двунаправленных сигналов, которые могут управляться или передаваться в функцию MATLAB |
В этом разделе описывается, как указать типы данных, совместимые с MATLAB, для портов в модулях HDL. Дополнительные сведения о том, как интерфейс HDL Verifier преобразует типы данных для среды MATLAB, см. в разделе Поддерживаемые типы данных.
Примечание
При использовании неподдерживаемых типов программное обеспечение HDL Verifier выдает предупреждение и игнорирует порт во время выполнения. Например, при определении интерфейса с пятью портами, один из которых является портом доступа VHDL, во время выполнения интерфейс отображает предупреждение, а код видит только четыре порта.
Инструкции по составлению и разработке проекта ЛПВП см. в документации по имитатору ЛПВП.
После кодирования одного из компонентов модели в VHDL или Verilog и моделирования его в среде имитатора HDL интегрируйте представление HDL в модель Simulink как блок Cosimulation HDL, выполнив следующие шаги.
Откройте модель Simulink, если она еще не открыта.
Удалите компонент модели, который должен быть заменен блоком косимуляции HDL.
В браузере библиотеки Simulink выберите библиотеку блоков HDL Verifier. Затем можно выбрать библиотеку блоков для поддерживаемого имитатора HDL. Выберите блок Cosimulation Mentor Graphics ® ModelSim ® HDL или блок Cosimulation Cadence Incisive ® HDL, как показано ниже.
![]()
![]()
Скопируйте блок косимуляции HDL из браузера библиотеки в модель.
Подключите все порты блока косимуляции HDL к соответствующим портам блока в модели Simulink.
Чтобы смоделировать устройство-приемник, сконфигурируйте блок только с входами.
Чтобы смоделировать устройство-источник, настройте блок только с выходами.
Чтобы открыть диалоговое окно параметров блока для блока косимуляции HDL, дважды щелкните значок блока. Simulink отображает следующее диалоговое окно Параметры блока (Block Parameters) (например, ниже показано диалоговое окно блока косимуляции HDL для использования с ModelSim).

Определение путей сигналов/портов HDL и модулей для косимуляции компонентов Simulink
Импорт сигнальной информации непосредственно по значению входного порта
Первый шаг к настройке блока косимуляции HDL Verifier HDL состоит в отображении сигналов и экземпляров сигналов вашей конструкции HDL в определения портов в блоке косимуляции HDL. В дополнение к идентификации портов ввода и вывода можно указать время выборки для каждого порта вывода. Для каждого выходного порта можно также указать тип данных с фиксированной точкой.
Отображаемые сигналы могут находиться на любом уровне иерархии проектирования ЛПВП.
Для отображения сигналов можно выполнить одно из следующих действий:
Введите информацию о сигнале вручную на панели «Порты» диалогового окна параметров блока. Этот подход может быть более эффективным, если требуется подключить небольшое количество сигналов от модели HDL к Simulink.
Кнопка Auto Fill используется для получения блоком Cosimulation HDL информации о сигнале путем передачи запроса в имитатор HDL. Этот подход позволяет сэкономить значительные усилия при необходимости косимуляции модели ЛПВП, имеющей множество сигналов, которые требуется подключить к модели Simulink. Однако в некоторых случаях потребуется отредактировать данные сигнала, возвращенные запросом.
Примечание
Убедитесь, что сигналы, используемые при косимуляции, имеют доступ для чтения/записи. Для повышения производительности необходимо обеспечить доступ только к тем сигналам, которые используются при косимуляции. Это правило применяется ко всем сигналам на панелях портов, часов и моделирования, а также ко всем сигналам, добавляемым любым другим способом.
Укажите пути сигналов/портов HDL и модулей для косимуляции компонентов Simulink. Эти правила предназначены для спецификаций сигналов/портов и трактов модулей в Simulink. Другие спецификации могут работать, но не поддерживаются явно или неявно в этой или будущих версиях.
Проекты ЛПВП, как правило, имеют иерархию; в этом причина такого синтаксиса. Эта спецификация не представляет иерархию имен файлов.
Спецификации пути для верхнего уровня Verilog
Технические характеристики пути для VHDL верхнего уровня
Получение сигнальной информации из имитатора ЛПВП. Кнопка «Автозаполнение» позволяет начать запрос имитатора ЛПВП и указать путь к компоненту или модулю в модели ЛПВП при моделировании в имитаторе ЛПВП. Обычно после завершения запроса требуется некоторое изменение информации о порте. Для работы функции автоматического заполнения необходимо запустить имитатор ЛПВП с модулем ЛПВП.
В следующем примере описаны необходимые шаги.
Примечание
Пример основан на модифицированной копии модели манчестерского приемника, в которой все сигналы были сначала удалены с панелей портов и часов.
Откройте диалоговое окно параметров блока для блока косимуляции HDL. Перейдите на вкладку «Порты». Откроется панель Порты (Ports) (например, панель Порты (Ports) для блока косимуляции HDL для использования с ModelSim показана на иллюстрациях ниже).

Совет
Перед выполнением автоматической заливки удалите все порты, чтобы убедиться в отсутствии неиспользуемого сигнала в списке портов.
Нажмите кнопку «Автозаполнение». Откроется диалоговое окно Автозаполнение (Auto Fill).

Это модальное диалоговое окно запрашивает путь экземпляра к компоненту или модулю в модели HDL; здесь в поле редактирования вводится явный путь HDL. Введенный путь не является путем к файлу и не имеет ничего общего с исходными файлами.
В этом примере функция автоматической заливки получает данные порта для компонента VHDL с именем manchester. Путь HDL указан как /top/manchester. Спецификации трактов будут варьироваться в зависимости от имитатора ЛПВП. См. раздел Определение трактов сигналов/портов ЛПВП и модулей для симулятора компонентов.

Нажмите кнопку «Заполнить», чтобы закрыть диалоговое окно и передать запрос.
После того как имитатор HDL возвращает данные порта, функция автозаполнения вводит их в панель «Порты», как показано на следующем рисунке (примеры использования с Cadence Incisive).

Нажмите Apply, чтобы подтвердить добавление порта.
Удалите неиспользуемые сигналы с панели «Порты» и добавьте тактовый сигнал.
На предыдущем рисунке показано, что введенный запрос включает тактовый сигнал, активизирует тактовый сигнал и сбрасывает порты (помечены clk, enable, и reset соответственно) в список портов.
Удалить clk, enable и reset сигналы из панели «Порты» и добавьте clk на панели «Часы».
Эти действия приводят к сигналам, показанным на следующих рисунках.


Функция автоматического заполнения возвращает значения по умолчанию для выходных портов:
Время выборки: 1
Тип данных: Inherit
Длина фракции: Inherit
Возможно, потребуется изменить эти значения в соответствии с требованиями модели. В этом примере для параметра Sample time должно быть установлено значение 10 для всех выходов. См. раздел «Определение типов данных сигналов».
Перед закрытием диалогового окна параметров блока нажмите кнопку «Применить», чтобы зафиксировать внесенные изменения.
Обратите внимание, что функция автозаполнения возвращает информацию обо всех входах и выходах целевого компонента. Во многих случаях это будет включать в себя сигналы, которые функционируют в имитаторе ЛПВП, но не могут быть подключены в модели Simulink. Можно удалить все такие записи из списка на панели «Порты», если они нежелательны. Вы можете управлять сигналами от Simulink; необходимо просто определить их значения путем размещения блоков Simulink.
Обратите внимание, что функция автоматического заполнения не возвращает информацию для внутренних сигналов. Если модели Simulink требуется доступ к таким сигналам, их необходимо ввести на панель «Порты» вручную. Например, в случае модели Manchester Receiver необходимо добавить записи порта вывода для top/manchester/sync_i, top/manchester/isum_i, и top/manchester/qsum_i, как показано на этапе 8.
Пользователи Incisive ® и ModelSim: обратите внимание, что clk, reset и clk_enable могут находиться в окнах «Часы» и «Моделирование», но не обязательно. Эти сигналы могут быть портами, если вы решите управлять ими явно от Simulink.
Примечание
При импорте сигналов VHDL с помощью функции автоматического заполнения симулятор HDL возвращает имена сигналов во всех заглавных буквах.
Введите информацию о сигнале вручную. Для ввода сигнальной информации непосредственно на панели «Порты» выполните следующие шаги:
В имитаторе ЛПВП определите имена трактов сигналов ЛПВП, которые планируется определить в блоке. Например, в симуляторе ModelSim в следующем волновом окне показаны все сигналы, подчиненные модулю верхнего уровня manchester.

В Simulink откройте диалоговое окно параметров блока для блока косимуляции HDL, если он еще не открыт.
Выберите вкладку «Ports» (Порты). Simulink отображает следующее диалоговое окно (пример показан для использования с Incisive).

На этой панели определяются сигналы HDL проекта, которые необходимо включить в блок Simulink, и задается время выборки и тип данных для выходных портов. Параметры, которые необходимо указать на панели «Порты», зависят от типа устройства, моделируемого блоком, следующим образом:
Для устройства, имеющего оба входа и выхода: укажите входные порты блока, выходные порты блока, время выходных выборок и типы выходных данных.
Для выходных портов примите значение по умолчанию или введите явное время выборки. Типы данных могут быть указаны явным образом или иметь значение Inherit (значение по умолчанию). В случае по умолчанию тип данных выходного порта наследуется либо из сигнала, подключенного к порту, либо из модели HDL.
Для устройства-получателя: укажите выходные порты блока.
Для устройства-источника: укажите входные порты блока.
Введите имена трактов сигналов в столбце Full HDL name путем двойного щелчка по существующему сигналу по умолчанию.
Используйте синтаксис имени пути имитатора HDL (как описано в разделе Определение путей сигнала/порта HDL и модулей для Cosimulation испытательного стенда Simulink).
При добавлении сигналов нажмите кнопку Создать (New), а затем измените значения по умолчанию. Выберите либо Input или Output из столбца «Режим ввода-вывода».
Если необходимо, задайте параметры «Время выборки», «Тип данных» и «Длина дроби» для сигналов явно, как описано в остальных шагах.
По завершении редактирования синхросигналов нажмите кнопку Применить, чтобы зарегистрировать изменения в Simulink.
В следующем диалоговом окне показаны определения портов для блока косимуляции HDL. Имена трактов сигнала совпадают с именами трактов, появляющимися в окне волны имитатора ЛПВП (см. пример).

Примечание
При определении входного порта убедитесь, что только один источник настроен для принудительного ввода в этот порт. Если сигнал передается из нескольких источников, модель Simulink может привести к непредсказуемым результатам.
Необходимо указать время выборки для выходных портов. Simulink использует указанное значение и текущие настройки панели «Временные шкалы» для расчета фактического времени образца моделирования.
Дополнительные сведения о времени выборки в среде косимуляции HDL Verifier см. в разделе Временные шкалы моделирования.
При необходимости можно явно настроить тип данных с фиксированной точкой для каждого выходного порта или использовать значение по умолчанию (Inherited). В случае по умолчанию Simulink определяет тип данных для выходного порта следующим образом:
Если Simulink может определить тип данных сигнала, подключенного к выходному порту, он применяет этот тип данных к выходному порту. Например, тип данных подключенного блока спецификации сигнала известен под действием обратного распространения. В противном случае Simulink запрашивает имитатор ЛПВП для определения типа данных сигнала из модуля ЛПВП.
Чтобы назначить сигнал явный тип данных с фиксированной точкой, выполните следующие действия:
Выберите либо Signed или Unsigned из столбца «Тип данных».
Если сигнал имеет дробную часть, введите «Fraction Length».
Например, если модель имеет 8-битный сигнал с Signed тип данных и длина дроби 5блок косимуляции HDL назначает ему тип данных sfix8_En5. Если модель имеет Unsigned 16-битный сигнал без дробной части (длина дроби 0), блок косимуляции HDL назначает ему тип данных ufix16.
Перед закрытием диалогового окна нажмите кнопку «Применить», чтобы зарегистрировать изменения.
Импорт сигнальной информации непосредственно по значению входного порта . Включение прямого прохождения позволяет изменениям значения входного порта распространяться на выходные порты за нулевое время, таким образом устраняя возможную задержку на выходной выборке в конструкциях ЛПВП с чистой комбинационной логикой. На панели «Ports» (Порты), как показано на следующем рисунке, можно включить прямой проход.

Параметры Тип данных (Data Type) и Длина дроби (Fraction Length) применяются только к выходным сигналам. См. раздел Тип данных и длина фракции на панели «Порты» в описании блока косимуляции HDL.
Взаимосвязь синхронизации между Simulink и имитатором HDL настраивается с помощью панели Timescales диалогового окна параметров блока. Перед установкой параметров Timescales прочитайте Simulation Timescales, чтобы понять поддерживаемые режимы синхронизации и проблемы, которые определят выбор режима синхронизации.
Можно задать относительное или абсолютное отношение синхронизации между Simulink и имитатором ЛПВП на панели «Временные шкалы», как описано в ссылке на блок Cosimulation ЛПВП.
Определение отношения синхронизации симулятора и симулятора ЛПВП. Различия в представлении времени моделирования можно согласовать одним из двух способов с помощью интерфейса HDL Verifier:
Путем определения отношения синхронизации вручную (с помощью панели «Временные шкалы»)
При определении отношения вручную определяется, сколько фемтосекунд, пикосекунд, наносекунд, микросекунд, миллисекунд, секунд или делений в имитаторе HDL составляет 1 секунда в Simulink.
![]()
Эта величина времени имитатора ЛПВП может быть выражена одним из следующих способов:
В относительном выражении (то есть как некоторое количество отметок имитатора ЛПВП). В этом случае косимуляция, как говорят, работает в режиме относительной синхронизации. Блок косимуляции ЛВП по умолчанию устанавливается в режим относительной синхронизации для косимуляции. Дополнительные сведения о режиме относительной синхронизации см. в разделе Режим относительной синхронизации.
В абсолютных единицах (например, миллисекундах или наносекундах). В этом случае считается, что косимуляция работает в режиме абсолютной синхронизации. Дополнительные сведения о режиме абсолютной синхронизации см. в разделе Режим абсолютной синхронизации.
Дополнительные сведения об относительном и абсолютном времени см. в разделе Временные шкалы моделирования.
Разрешив программе проверки HDL определять шкалу времени (с панелью «Шкала времени»)
Когда программное обеспечение линии связи позволяет определить отношение синхронизации, оно пытается установить коэффициент шкалы времени между имитатором ЛПВП и симулятором как можно ближе к 1 секунде в симуляторе ЛПВП = 1 секунде в симуляторе. Если этот параметр невозможен, продукт линии связи пытается установить скорость передачи сигналов на порту модели Simulink на минимально возможное количество отметок имитатора HDL.
Прежде чем начать, убедитесь, что симулятор HDL запущен. Программное обеспечение HDL Verifier может получить предел разрешения имитатора HDL только при его работе.
Вы можете выбрать, чтобы программа проверки HDL рассчитывала шкалу времени, пока вы устанавливаете параметры в диалоговом окне блока, щелкнув параметр Шкала времени, затем щелкнув Определить шкалу времени сейчас, или чтобы программа проверки HDL рассчитывала шкалу времени, когда начинается моделирование, выбрав Автоматически определять шкалу времени в начале моделирования.

При нажатии кнопки Определить шкалу времени теперь программа HDL Verifier подключает Simulink к симулятору HDL, чтобы использовать разрешение симулятора HDL для вычисления наилучшей шкалы времени. Вы можете принять инструкции по проверке HDL во временной шкале или внести изменения непосредственно в список портов. Если требуется вернуться к первоначально рассчитанным параметрам, нажмите кнопку «Использовать рекомендуемую шкалу времени». Если требуется просмотреть примеры времени для всех портов в конструкции HDL, выберите Показать все порты и часы.

Если в начале моделирования выбрать «Автоматически определять шкалу времени», то при запуске моделирования в Simulink появится то же самое диалоговое окно. При необходимости выполните те же корректировки, что и при выборе опции «Определить шкалу времени сейчас» при настройке блока.
Необходимо выбрать обмен общей памятью или сокетом. См. раздел Косимуляция HDL с помощью MATLAB или Simulink.
После выбора типа связи настройте канал связи блока с помощью панели Соединение (Connection) диалогового окна параметров блока (пример показан для использования с ModelSim).

Ниже приведены инструкции по конфигурированию связи.
Определите, работают ли Simulink и имитатор HDL на одном компьютере. Если они есть, перейдите к шагу 4.
Очистить На этом компьютере запущен имитатор HDL. (По умолчанию этот флажок установлен.) Поскольку Simulink и имитатор HDL работают на разных компьютерах, программа HDL Verifier устанавливает для метода Connection значение Socket.
Введите имя хоста компьютера, на котором выполняется моделирование HDL (в имитаторе HDL), в текстовом поле Имя хоста. В поле Номер порта или текст службы укажите допустимый номер порта или службы для вашей компьютерной системы. Сведения о выборе портов сокетов TCP/IP см. в разделе Порты сокетов TCP/IP. Перейдите к шагу 5.
Если имитатор HDL и Simulink работают на одном компьютере, решите, будет ли использоваться общая память или сокеты TCP/IP для канала связи. Сведения о различных режимах связи см. в разделе Косимуляция HDL с помощью MATLAB или Simulink.
Если выбрана связь с сокетом TCP/IP, укажите допустимый номер порта или службы для компьютера в текстовом поле Номер порта или служба. Сведения о выборе портов сокетов TCP/IP см. в разделе Порты сокетов TCP/IP.
Если выбрана связь с общей памятью, установите флажок Общая память.
Если вы хотите обойти имитатор HDL при выполнении моделирования Simulink, используйте опции Режим подключения (Connection Mode), чтобы указать требуемый тип подключения моделирования. Выберите одну из следующих опций:
Полное моделирование: подтвердите интерфейс и запустите моделирование HDL (по умолчанию).
Подтвердить только интерфейс: Проверьте имитатор HDL на наличие ожидаемых имен сигналов, размеров и типов данных, но не выполняйте моделирование HDL.
Нет подключения: Не связывайтесь с имитатором ЛПВП. Не требуется запускать имитатор ЛПВП.
Во втором и третьем вариантах программное обеспечение HDL Verifier не взаимодействует с имитатором HDL во время моделирования Simulink.
Нажмите кнопку «Применить».
В следующем примере диалогового окна показаны определения связи для блока косимуляции HDL. Блок конфигурируется для Simulink и имитатора HDL, работающего на одном компьютере, взаимодействуя в режиме сокета TCP/IP через порт TCP/IP 4449.

Имеется возможность задания команд Tcl для выполнения до и после моделирования компонентом HDL модели Simulink. Tcl - программируемый язык сценариев, поддерживаемый большинством сред моделирования HDL. Использование РУД может варьироваться от чего-то такого простого, как однолинейный puts для подтверждения выполнения моделирования или выполнения сложного сценария, выполняющего обширную инициализацию моделирования и последовательность запуска. Например, можно использовать поле команды Пост- моделирование на панели моделирования, чтобы дать команду имитатору HDL перезапустить его в конце прогона моделирования.
Примечание для пользователей ModelSim
После каждого моделирования для обновления результата покрытия требуется время ModelSim. Чтобы предотвратить потенциальный конфликт между этим процессом и следующим сеансом косимуляции, добавьте короткую паузу между каждым последующим моделированием.
Команды Tcl, выполняемые до и после моделирования, можно задать путем ввода команд Tcl в текстовые поля команд Pre-simulation или Post-simulation на панели Simulation диалогового окна Параметры блока косимуляции HDL.
Для задания команд РУД выполните следующие шаги:
Выберите вкладку «Моделирование» диалогового окна параметров блока. Диалоговое окно появляется следующим образом (пример показан для использования с ModelSim).

Текстовое поле Команды предварительного моделирования (Pre-simulation commands) содержит puts для справочных целей.
Введите одну или несколько команд в текстовые поля команды предварительного и последующего моделирования. Можно указать одну команду Tcl на строку в текстовом поле или ввести несколько команд на строку, добавив каждую команду с точкой с запятой (;), которая является стандартным оператором конкатенации Tcl.
Нажмите кнопку «Применить».
Одним из способов управления параметрами блока является использование графического диалогового окна Блок косимуляции ЛВП (HDL Cosimulation block). Однако можно также управлять блоками, управляя программно значениями параметров маски и запуском моделирования. Значения параметров можно считывать с помощью Simulink get_param функция и запись с помощью Simulink set_param функция. Все параметры блока имеют атрибуты, указывающие, являются ли они:
Настраиваемый - атрибуты могут изменяться во время прогона моделирования.
Оценено - значение параметра подвергается оценке для определения его фактического значения, используемого S-функцией.
Блок косимуляции ЛВП не имеет настраиваемых параметров; таким образом, при попытке изменить значение во время выполнения моделирования возникает ошибка. Однако он имеет несколько оцененных параметров.
Список параметров и их атрибутов можно просмотреть, щелкнув блок правой кнопкой мыши, выбрав команду «Маска вида», а затем вкладку «Параметры». В столбце Переменная отображаются имена программных параметров. Кроме того, имена можно получить программным путем, выбрав блок косимуляции HDL и введя следующие команды в подсказке MATLAB:
>> get_param(gcb, 'DialogParameters')
Ниже приведены некоторые примеры использования MATLAB для управления моделированием и значениями параметров маски. Обычно команды помещаются в файл сценария или функции и вызываются несколькими крючками обратного вызова, доступными разработчику модели. Код можно поместить в любое из предлагаемых расположений Simulink:
В рабочем пространстве модели. На вкладке Моделирование (Modeling) в разделе Модель (Design) щелкните Обозреватель моделей (Model Explorer). В диалоговом окне «Обозреватель моделей» на панели «Иерархия моделей» выберите «Корень Simulink» > model_name > Рабочее пространство модели. На панели Рабочее пространство модели (Model Workspace) в списке Источник данных (Data source). Выбрать Model File.
В обратном вызове модели. На вкладке Моделирование (Modeling) в разделе Настройка (Setup) выберите Параметры модели (Model Settings) > Свойства модели (Model Properties). В диалоговом окне Свойства модели (Model Properties) укажите функцию обратного вызова на вкладке Обратные вызовы (Callbacks).
Обратный вызов подсистемы. Щелкните правой кнопкой мыши пустую подсистему и выберите Свойства > Обратные вызовы. Во многих демонстрациях HDL Verifier этот метод используется для запуска имитатора HDL путем размещения кода MATLAB в OpenFcn обратный вызов.
Обратный вызов блока косимуляции HDL. Щелкните правой кнопкой мыши блок косимуляции HDL и выберите «Свойства» > «Обратные вызовы».
Пример: Создание сценария значения номера сокета для обмена данными с имитатором HDL. В среде регрессии может потребоваться определить номер разъема для подключения симулятора Simulink/HDL во время моделирования, чтобы избежать конфликтов с другими запусками моделирования. В этом примере показан код, который может обработать эту задачу. Сценарий предназначен для 32-разрядной платформы Linux ®.
ttcp_exec = [matlabroot '/toolbox/shared/hdllink/scripts/ttcp_glnx'];
[status, results] = system([ttcp_exec ' -a']);
if ~s
parsed_result = textscan(results,'%s');
avail_port = parsed_result{1}{2};
else
error(results);
end
set_param('MyModel/HDL Cosimulation', 'CommPortNumber', avail_port);