Косимуляция пакетного режима Приемник Манчестерского Кода

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

1. ModelSim/QuestaSim

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

  • Вызов команды 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]);

2. Резцовый/Xcelium

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

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