Когда вы соединяете симулятор HDL с приложением Simulink®, средство моделирования функционирует как сервер. Когда следующая схема показывает, HDL блоки Cosimulation в модели Simulink принимают сигналы от модуля HDL при симуляции в симуляторе HDL через выходные порты на панелях Портов и возвращают данные через входные порты на панелях Портов.
Несмотря на то, что можно связать выходные порты блока HDL Cosimulation к любому сигналу в иерархии модели HDL, необходимо соблюдать некоторую осторожность при соединении сигналов с входными портами. Вы хотите проверить, что сигнал, с которым вы связываете, не имеет других драйверов. Если это делает, используйте разрешенные логические типы; в противном случае можно получить непредсказуемые результаты.
Если необходимо использовать сигнал, который имеет несколько драйверов, и он разрешен (например, он имеет тип VHDL® STD_LOGIC
), Simulink применяет функцию разрешения на каждом временном шаге, заданном частотой дискретизации Simulink сигнала. В зависимости от других драйверов значение Simulink может или не может быть применено. Кроме того, Simulink не имеет никакого контроля над изменениями сигнала, которые происходят между его шагами расчета.
Проверьте, что сигналы, используемые в cosimulation, имеют доступ для чтения-записи. Можно проверять, что доступ для чтения-записи через симулятор HDL — видит документацию симулятора HDL для деталей.
Это правило применяется ко всем сигналам на Ports, Clocks и панелях Simulation и к сигналам, добавленным к модели любым другим способом.
Программное обеспечение HDL Verifier™ поддерживает использование многоскоростных сигналов, сигналы, которые производятся или обновляются на различных уровнях в одном блоке HDL Cosimulation. Блок HDL Cosimulation обменивается данными для каждого сигнала на уровне частоты дискретизации Simulink для того сигнала. Для входных сигналов блок HDL Cosimulation принимает и соблюдает все уровни сигнала.
Блок HDL Cosimulation также позволяет вам задать независимый шаг расчета для каждого выходного порта. Необходимо явным образом установить шаг расчета для каждого выходного порта или принять значение по умолчанию. Используя эту установку позволяет вам управлять уровнем, на котором Simulink обновляет выходной порт путем чтения соответствующего сигнала из симулятора HDL.
Используйте блок Simulink Zero-Order Hold, чтобы применить хранение нулевого порядка (ZOH) на непрерывные сигналы, которые управляются в блок HDL Cosimulation.
Блок HDL Verifier HDL Cosimulation соединяет аппаратные компоненты, которые одновременно симулируют в симуляторе HDL к остальной части модели Simulink.
Можно соединить Simulink и симулятор HDL двумя возможными способами:
Когда один блок HDL Cosimulation поместился в среду большей ориентированной на систему модели Simulink.
Когда модель Simulink составила из набора блоков HDL Cosimulation, каждый представляющий определенный аппаратный компонент.
Маска блока содержит панели для ввода порта и информации сигнала, установка коммуникационных режимов, добавление часов (только Incisive® и ModelSim®), определение пред - и постсимуляция команды Tcl (Острый и только ModelSim), и определение временной зависимости.
После того, как вы закодируете один из компонентов своей модели в VHDL или Verilog® и симулируете его в среде симулятора HDL, вы интегрируете представление HDL в свою модель Simulink как блок HDL Cosimulation. Существует один блок для каждого поддерживаемого симулятора HDL. Эти блоки расположены в Библиотеке Simulink в библиотеке блоков HDL Verifier. Как пример, блок для использования с Наставником Graphics® ModelSim показывают в следующей фигуре.
Вы конфигурируете блок HDL Cosimulation путем определения значений для параметров в диалоговом окне параметров блоков. Диалоговое окно параметров блоков HDL Cosimulation состоит из панелей с вкладками, которые указывают следующую информацию:
Панель портов: Блокируйте порты ввода и вывода, которые соответствуют сигналам, включая внутренние сигналы, вашего проекта HDL и выходного шага расчета.
Панель связи: Тип коммуникации и связанных настроек, которые будут использоваться в обмене данными между средствами моделирования.
Панель масштабов времени: временная зависимость между программным обеспечением Simulink и симулятором HDL.
Панель часов (Острый и только ModelSim): Дополнительное возрастающее ребро и ребро падения синхронизируют, чтобы примениться к вашей модели.
Панель симуляции (Острый и только ModelSim): команды Tcl, чтобы запуститься до и после симуляции.