Пакетный режим Cosimulation приемника манчестерского кода

Этот пример иллюстрирует использование MATLAB®, чтобы запустить симулятор HDL в пакетном режиме и выполнении cosimulation с Simulink® с помощью блока HDL Verifier™ HDL Cosimulation.

1. ModelSim/QuestaSim

Команды, отображенные на рисунке выше показа следующие шаги:

  • Вызов 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]);

2. Incisive/Xcelium

Команды, отображенные на рисунке выше показа следующие шаги:

  • Вызов 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 выходит автоматически.