Этот пример иллюстрирует использование MATLAB ® для запуска HDL-симулятора в пакетном режиме и выполнение косимуляции с Simulink ® с помощью блока HDL Verifier™ HDL Cosimulation.
Команды, показанные на рисунке выше, показывают следующие шаги:
Вызов команды HDL Verifier vsim запускает симулятор HDL в пакетном режиме путем установки свойства 'runmode' на 'Batch'. Выдача vsim также запускает Симулятор HDL, а дополнительные команды (заданные в manchestercmds.m) компилируют HDL- проекта и загружают библиотеку HDL-косимуляции верификатора HDL.
vsim('tclstart', manchestercmds, 'runmode', 'Batch');
Если вы работаете на машине Linux ®, процесс HDL-симулятора запускается в фоновом режиме. В Windows ® откроется новое командное окно для HDL-симулятора. MATLAB и Simulink теперь ждут начала косимуляции.
Команда HDL Verifier pingHdlSim определяет, готов ли Симулятор HDL сервер к косимуляции. Аргумент timeout для pingHdlSim указывает, что он будет ждать запуска Симулятора HDL 100 секунд. Если Симулятор HDL не удается запустить в течение этого времени, выводится сообщение об ошибке.
pingHdlSim(100);
Simulink начинает косимуляцию, когда MATLAB обнаруживает (через pingHdlSim), что Симулятор HDL сервер готов.
sim('manchester_batch',[0 50000]);
Команды, показанные на рисунке выше, показывают следующие шаги:
Вызов команды HDL Verifier nclaunch запускает симулятор HDL в пакетном режиме путем установки свойства 'runmode' на 'Batch'. Выпуск nclaunch также компилирует и развивает проект и загружает библиотеку HDL-косимуляции Verifier HDL.
nclaunch( ... 'rundir', 'TEMPDIR', ... 'tclstart', { ... ['exec ncvlog -64bit -linedebug ' vlogFiles{:}], ... 'exec ncelab -64bit -access +rwc manchester', ... 'hdlsimulink manchester' }, ... 'runmode', 'Batch');
Процесс симулятора HDL запускается в фоновом режиме. MATLAB и Simulink теперь ждут начала косимуляции.
Команда HDL Verifier pingHdlSim определяет, готов ли Симулятор HDL сервер к косимуляции. Аргумент timeout для pingHdlSim указывает, что он будет ждать запуска Симулятора HDL 100 секунд. Если Симулятор HDL не удается запустить в течение этого времени, выводится сообщение об ошибке.
pingHdlSim(100);
Simulink начинает косимуляцию, когда MATLAB обнаруживает (через pingHdlSim), что Симулятор HDL сервер готов.
sim('manchester_batch_incisive',[0 50000]);
Когда косимуляция завершается, Симулятор HDL выходит автоматически.