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