Начало работы с настройкой сгенерированного кода SystemVerilog

Этот пример показывает вам, как настроить сгенерированный код SystemVerilog в процессе Генерации Компонента SystemVerilog DPI.

Требования и необходимые условия

Продукты потребовали для этого примера:

  • MATLAB®

  • Simulink®

  • Simulink Coder™

  • Наставник Graphics® ModelSim®/QuestaSim®

  • Один из поддерживаемых компиляторов C: Microsoft® Visual C ++ или GNU GCC

Фон

Если сгенерированный код SystemVerilog значения по умолчанию не удовлетворяет ваши требования, у вас есть опция, чтобы настроить сгенерированный код. В этом примере показано, как настроить сгенерированный код.

В следующей модели Simulink сгенерированный код, соответствующий подсистемам, F0, F2, F3 и F4, экспортируются отдельно как модули SystemVerilog. По умолчанию каждый модуль содержит три управляющих сигнала: синхронизируйте, часы включают и сбрасывают. В симуляции HDL обновление подсистемы и выходные функции будут названы на сигнале фронта. Планировщик события инициировал бы, те обновляются и выходная функция в симуляторе HDL в той же последовательности как в модели Simulink.

Открытый пример

Запустите следующий код, чтобы открыть проект

open_system('svdpi_SimpleFeedBack');

Настройте модель для генерации кода

Откройте панель Параметра конфигурации Модели Simulink из svpid_SimpleFeedBack модели. Установите следующие параметры:

Выберите Code Generation-> System Target File. Кликните по Кнопке обзора и выберите "systemverilog_dpi_grt.tlc".

В установке Toolchain выберите одну из версий Visual Studio, если вы используете Windows или один из наборов инструментальных средств GCC, если вы используете Linux. Убедитесь, что опция "Генерирует код только", неконтролируем.

Выберите Code Generation-> SystemVerilog DPI и проверяйте, что опция "Настраивает, сгенерировал код SystemVerilog". Убедитесь, что "Шаблон исходного файла" установлен в шаблон по умолчанию "svdpi_event.vgt".

Можно также нажать кнопку "Edit", чтобы просмотреть шаблон SystemVerilog по умолчанию.

Теперь мы сделаны с панелью Параметра конфигурации. Нажмите кнопку "OK", чтобы закрыть его.

Сгенерируйте компонент SystemVerilog DPI

В "svdpi_SimpleFeedBack" модели сгенерируйте код С для подсистем F0, F2, F3 и F4. Можно сгенерировать код С от командной строки запущенным следующие команды в MATLAB:

slbuild('svdpi_SimpleFeedBack/F0')
slbuild('svdpi_SimpleFeedBack/F2')
slbuild('svdpi_SimpleFeedBack/F3')
slbuild('svdpi_SimpleFeedBack/F4')

Теперь код С для тех подсистем сгенерирован в подкаталогах "F0_build", "F2_build", "F3_build" и "F4_build", соответственно.

Файлы испытательного стенда

В испытательном стенде "SimpleFeedback_tb.sv" соединяется управляющий сигнал так, чтобы это текло из модулей с более высоким порядком выполнения в Simulink к модулям с более низким порядком выполнения в Simulink.

Запустите сгенерированный испытательный стенд

  • Запустите ModelSim/QuestaSim в режиме GUI и измените директорию в текущий каталог в MATLAB. В ModelSim/QuestaSim введите следующую команду, чтобы скомпилировать ваш проект

do  build.do
  • В ModelSim/QuestaSim введите следующую команду, чтобы симулировать ваш проект

do  sim.do

Когда симуляция заканчивается, вы можете экзамен различие между выходом каждой подсистемы и записанным сигналом в окне формы волны ModelSim.