Для запуска и управления выполнением моделирования в среде MATLAB ® выполните следующие шаги:
Первым шагом к запуску имитатора HDL и тестового стенда MATLAB или сеанса функции компонента является проверка состояния линии связи сервера MATLAB. Сервер запущен? Если сервер работает, какой режим связи и, если применимо, какой порт сокета TCP/IP используется сервером для его каналов связи? Эту информацию можно получить с помощью функции MATLAB. hdldaemon с 'status' вариант. Например:
hdldaemon('status')
Функция отображает сообщение о том, работает ли сервер, и, если он работает, количество обрабатываемых соединений. Например:
HDLDaemon socket server is running on port 4449 with 0 connections
Если сервер не запущен, сообщение читается
HDLDaemon is NOT running
См. раздел «Параметры: Входные данные» в разделе hdldaemon справочная документация для информации по определению режима связи и используемого сокета TCP/IP.
Сеанс косимуляции можно запустить с помощью GUI симулятора MATLAB и HDL (типично) или, для уменьшения потребности в памяти, с помощью интерфейса командной строки (CLI) или в пакетном режиме.
Эти шаги описывают типичную последовательность выполнения моделирования в интерактивном режиме из главного окна имитатора ЛПВП:
Установите точки останова в кодах HDL и MATLAB для проверки и анализа хода моделирования.
Способ установки точек останова в имитаторе HDL зависит от используемого приложения.
В MATLAB существует несколько способов установки точек останова; например, с помощью кнопки Set/Clear Breakpoint на панели инструментов.
Проблема matlabtb в приглашении имитатора ЛПВП.
При запуске определенного тестового стенда или сеанса компонента указываются параметры, определяющие следующую информацию:
Режим и, если применимо, данные TCP/IP для подключения к серверу MATLAB (см. matlabtb ссылка)
Функция MATLAB, связанная с экземпляром HDL и выполняемая от его имени. См. раздел Привязка компонента модуля HDL к функции испытательного стенда MATLAB.
Спецификации синхронизации и другие управляющие данные, определяющие время вызова функции MATLAB модуля. См. раздел Параметры расписания для сеанса тестового стенда.
Например:
hdlsim> matlabtb osc_top -sensitivity /osc_top/sine_out
-socket 4448 -mfunc hosctbЗапустите моделирование с помощью имитатора ЛПВП run команда.
run команда предлагает различные варианты применения управления запуском моделирования (подробные сведения см. в документации к имитатору ЛПВП). Например, можно указать, что моделирование выполняется в течение нескольких временных шагов.
Следующая команда предписывает имитатору ЛПВП выполнять моделирование с загрузкой в течение 50000 временных шагов:
run 50000
Перейдите к моделированию и проверьте значения.
Способ выполнения моделирования в имитаторе HDL зависит от используемого приложения.
В MATLAB существует несколько способов пошагового выполнения кода; например, нажав кнопку Step toolbar.
При блокировании выполнения функции MATLAB имитатор HDL также блокирует и остается заблокированным до тех пор, пока не будут удалены все точки останова в коде функции.
При необходимости возобновите моделирование.
Способ возобновления моделирования в имитаторе HDL зависит от используемого приложения.
В MATLAB существует несколько способов возобновления моделирования: например, нажав кнопку «Продолжить» на панели инструментов.
Следующая команда имитатора HDL возобновляет моделирование:
run -continue
Для получения дополнительной информации об имитаторе HDL и функциях отладки MATLAB см. документацию по имитатору HDL и интерактивную справку или документацию MATLAB.
Запуск сеанса косимуляции с помощью интерфейса командной строки позволяет взаимодействовать с имитатором ЛПВП во время косимуляции, что может быть полезно для отладки.
Для использования интерфейса командной строки укажите «CLI» в качестве значения свойства параметра режима выполнения команды запуска имитатора HDL Verifier™ HDL.
Команда Tcl, создаваемая для передачи в команду запуска имитатора ЛПВП, должна содержать команду run, иначе косимуляция не будет выполняться.
Внимание
Закройте окно терминала путем ввода quit -f в командной строке. Не закрывайте окно терминала, щелкнув «X» в правом верхнем углу. Это приводит к появлению из системы ошибки типа памяти. Это не ошибка с HDL Verifier, а только то, как симулятор HDL ведет себя в этом контексте.
Можно ввести CTRL + C для прерывания и завершения моделирования в имитаторе HDL, но это действие также приводит к отображению ошибки типа памяти.
Укажите режим CLI с помощью nclaunch (Cadence Incisive)
Укажите режим CLI с помощью vsim (
Mentor Graphics ModelSim)
Запуск сеанса косимуляции в пакетном режиме позволяет поддерживать процесс в фоновом режиме, снижая нагрузку на память за счет отключения графического интерфейса пользователя.
Для использования пакетного режима в качестве значения свойства параметра run mode команды запуска имитатора HDL Verifier HDL укажите «Batch». После ввода команды запуска HDL Verifier HDL simulator в указанном пакетном режиме запустите моделирование в Simulink ®. Чтобы остановить имитатор ЛПВП до завершения моделирования, выполните команду breakHdlSim команда.
Укажите пакетный режим с помощью nclaunch (Cadence Incisive)
Укажите пакетный режим с помощью vsim (
Mentor Graphics ModelSim)
После установления соединения между имитатором ЛПВП и MATLAB можно применить стимулы к испытательному стенду или среде косимуляции компонентов. Один из способов применения стимулов через iport параметра связанной функции MATLAB. Этот параметр форсирует значения сигналов по отложению.
Другие способы применения стимулов включают выдачу force команды в главном окне имитатора HDL (для ModelSim можно также использовать опцию Править (Edit) > Часы (Clock) в окне ModelSim Signals).
Например, рассмотрим следующую последовательность force команды:
Резак ®
force osc_top.clk_enable 1 -after 0ns force osc_top.reset 0 -after 0ns 1 -after 40ns 0 -after 120ns force osc_top.clk 1 -after 0ns 0 -after 40ns -repeat 80ns
ModelSim
VSIM n> force clk 0 0 ns, 1 5 ns -repeat 10 ns VSIM n> force clk_en 1 0 VSIM n> force reset 0 0
Эти команды возбуждают следующие сигналы:
clk сигнал 0 через 0 наносекунд после текущего времени моделирования и 1 через 5 наносекунд после текущего времени моделирования ЛПВП. Этот цикл повторяется через 10 наносекунд после текущего времени моделирования, вызывая переходы от 1 до 0 и от 0 до 1 каждые 5 наносекунд, как показано на следующей диаграмме.
![]()
Например,
force /foobar/clk 0 0, 1 5 -repeat 10
clk_en сигнал 1 через 0 наносекунд после текущего времени моделирования.
reset сигнал 0 через 0 наносекунд после текущего времени моделирования.
Следует рассмотреть возможность использования HDL для кодирования тактовых сигналов как force является решением с более низкой производительностью в текущей версии симуляторов Cadence Incisive ®.
Существуют следующие способы введения периодической силы:
Через панель часов в блоке Cosimulation HDL
С помощью команд предварительного/последующего управления в блоке косимуляции ЛПВП
Через введенный пользователем скрипт Tcl в ncsim
Все три подхода могут привести к снижению производительности.
Поскольку имитатор HDL выдает запросы на обслуживание во время сеанса косимуляции MATLAB, необходимо перезапустить сеанс из имитатора HDL. Чтобы перезапустить сеанс, выполните следующие действия.
Сделайте имитатор HDL активным окном, если фокус ввода еще не был задан для этого приложения.
Перезагрузите элементы конструкции ЛПВП и сбросьте время моделирования на ноль.
Переиздание matlabtb или matlabcp команда.
Примечание
Чтобы перезапустить выполняемое моделирование, выполните команду break и завершите текущий сеанс моделирования перед перезапуском нового сеанса.
Когда вы готовы остановить тестовый стенд или сеанс компонента, лучше сделать это упорядоченным образом, чтобы избежать возможного повреждения файлов и увидеть, что все задачи приложения закрываются чисто. Вы должны остановить сеанс следующим образом:
Сделайте имитатор HDL активным окном, если фокус ввода еще не был задан для этого приложения.
Остановите моделирование. Вы должны выйти из моделирования на стороне имитатора ЛПВП, или MATLAB может зависнуть до тех пор, пока симулятор не выйдет.
Закройте проект.
По завершении работы с приложением выйдите из имитатора ЛПВП.
По завершении работы с приложением выйдите из MATLAB. Если вы хотите завершить работу сервера вручную, остановите сервер, позвонив hdldaemon с 'kill' вариант:
hdldaemon('kill')Для получения дополнительной информации о закрытии сессий имитатора ЛПВП см. документацию по имитатору ЛПВП.