Проверьте сгенерированный HDL-код из модели Simulink

В этом примере показов, как сгенерировать HDL- испытательного стенда и проверить сгенерированный код для простой модели счетчика. Чтобы сгенерировать HDL-код для этой модели, смотрите Генерацию HDL-кода из модели Simulink. Если вы не сгенерированными HDL-кодами для этой модели, HDL Coder™ запусков генерацию кода перед генерацией теста.

Что такое HDL- Испытательного стенда?

Чтобы проверить функциональность HDL-кода для DUT, сгенерируйте HDL- испытательного стенда. Испытательный стенд включает в себя:

  • Стимулирующие данные, генерируемые источниками сигналов, подключенными к тестируемой сущности.

  • Выход данных, сгенерированных сущностью. Во время испытательного стенда прогона эти данные сравниваются с выходами VHDL® модель для верификации.

  • Часы, сброс и часы позволяют входам управлять тестируемой сущностью.

  • Экземпляр компонента тестируемой сущности.

  • Код для управления сущностью тестирования и сравнения его выходов с ожидаемыми данными.

Можно симулировать сгенерированные испытательные стенды и файлы скриптов с помощью Mentor Graphics® ModelSim® симулятор.

Простая модель счетчика

Откройте эту модель, чтобы увидеть простой счетчик. Модель отсчитывает от нуля до порогового значения, а затем оборачивается назад к нулю. Значение порога установлено в 15. Чтобы изменить пороговое значение, измените значение входа на count_threshold порт. Сигнал Enable определяет, отсчитывается ли счетчик вверх или содержит предыдущее значение. Значение 1 указывает, что счетчик пересчитывается вверх постоянно.

Методы верификации

Если у вас установлены HDL Verifier™, можно также проверить сгенерированный HDL-код с помощью этих методов.

Метод верификацииДля получения дополнительной информации
Косимуляция HDLCosimulation
DPI- Испытательного стенда SystemVerilogDPI- Испытательного стенда SystemVerilog
ЦиклЦикл

Сгенерируйте HDL- Испытательного стенда

Сгенерируйте VHDL или Verilog испытательный стенд, как применимо. По умолчанию HDL-код и тестовый стендовый код записываются в одну и ту же целевую папку hdlsrc относительно текущей папки.

Для модели счетчика, HDL_DUT подсистема является DUT. Чтобы сгенерировать testbench, выберите эту подсистему.

  1. На вкладке Apps выберите HDL Coder.

  2. Выберите подсистему DUT, HDL_DUT, и убедитесь, что это имя отображается в опции Code for на вкладке HDL Code. Чтобы запомнить выбор, закрепите эту опцию. Нажмите Generate Testbench.

Сгенерируйте Испытательный стенд код Verilog

Чтобы сгенерировать код Verilog testbench для модели счетчика:

  1. На вкладке HDL Code нажмите Settings.

  2. На панели HDL Code Generation для Language выберите Verilog.

  3. На панели HDL Code Generation > Test Bench нажмите Generate Test Bench.

HDL Coder компилирует модель и генерирует испытательный стенд.

Генерация испытательного стенда завершена и отобразит это сообщение. Сгенерированные файлы появляются в hdlsrc папка.

### HDL TestBench Generation Complete.

Просмотр файлов Испытательного стенда HDL

Для модели счетчика, hdlsrc папка содержит эти тестовые файлы испытательных стендов.

  • HDL_DUT_tb.vhd: VHDL тестовый стендовый код, содержащий сгенерированные тестовые и выходные данные. Если вы сгенерировали испытательный стенд Verilog, сгенерированный файл будет HDL_DUT_tb.v.

  • HDL_DUT_tb_pkg.vhd: Упаковать файл для кода испытательного стенда VHDL. Этот файл не генерируется, если в качестве целевого языка указан Verilog.

  • HDL_DUT_tb_compile.do: Скрипт компиляции Mentor Graphics ModelSim (vcom команды). Этот скрипт компилирует и загружает сущность, который будет протестирован (HDL_DUT.vhd) и испытательный стенд (HDL_DUT_tb.vhd).

  • HDL_DUT_tb_sim.do: Скрипт Mentor Graphics ModelSim, чтобы инициализировать симулятор, настроить wave отображения сигналов окна и запустить симуляцию.

Чтобы просмотреть сгенерированный код испытательного стенда в MATLAB® Редактор, дважды кликните HDL_DUT_tb.vhd или HDL_DUT_tb.v файл в текущей папке.

Запустите симуляцию и проверьте сгенерированный HDL-код

Чтобы проверить результаты симуляции, можно использовать симулятор Mentor Graphics ModelSim. Вы, должно быть, уже установили Mentor Graphics ModelSim.

Чтобы открыть симулятор, используйте vsim (HDL Verifier). Эта команда показывает, как открыть симулятор, указав путь к исполняемому файлу:

vsim('vsimdir','C:\Program Files\ModelSim\questasim\10.6b\win64\vsim.exe')

Чтобы скомпилировать и запустить симуляцию сгенерированной модели и испытательного стенда, используйте HDL Coder сгенерированные скрипты. Для модели счетчика запустите эти команды, чтобы скомпилировать и симулировать сгенерированный испытательный стенд для HDL_DUT Подсистема.

  1. Откройте программное обеспечение Mentor Graphics ModelSim и перейдите к папке, которая имеет файлы сгенерированного кода и скрипты.

  2. Используйте сгенерированный скрипт компиляции, чтобы скомпилировать и загрузить сгенерированные модель и текстовый стендовый код. Для HDL_DUT subsystem, запустите эту команду, чтобы скомпилировать сгенерированный код.

    
    QuestaSim>do HDL_DUT_tb_compile.do
    
    
  3. Используйте сгенерированный скрипт симуляции, чтобы выполнить симуляцию. В следующем списке отображается команда. Можно игнорировать предупреждающие сообщения. Для HDL_DUT Подсистема, запустите эту команду, чтобы симулировать сгенерированный код.

    
    QuestaSim>do HDL_DUT_tb_sim.do
    
    

    Симулятор оптимизирует ваш проект и отображает результаты в wave окне. если вы не видите результаты симуляции, откройте wave окно. Скрипт симуляции отображает входы и выходы в модели, включая часы, сброс и активацию синхроимпульса в wave окне.

Теперь можно просмотреть сигналы и проверить, что результаты симуляции соответствуют функциональности вашего исходного проекта. После проверки закройте симулятор Mentor Graphics ModelSim, а затем закройте открытые файлы в РЕДАКТОРА MATLAB.

Развертывание сгенерированного HDL-кода на целевом устройстве

Чтобы развернуть сгенерированный код на целевом устройстве FPGA, используйте Simulink® HDL Workflow Advisor. См. Генерация HDL-кода и синтез FPGA из модели Simulink.

См. также

|

Похожие темы