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

В этом примере показано, как сгенерировать испытательный стенд HDL и проверить сгенерированный код для вашего проекта. Пример принимает, что у вас уже есть сгенерированный HDL-код для вашей модели. Этот пример иллюстрирует, как проверить сгенерированный код для простого суммирующего счетчика. Чтобы узнать больше об этой встречной модели и как сгенерировать HDL-код, смотрите, Генерируют HDL-код из Модели Simulink.

Примечание

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

Простая модель суммирующего счетчика

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

open_system('hdlcoder_simple_up_counter.slx')
set_param('hdlcoder_simple_up_counter', 'SimulationCommand', 'Update')

Как проверить сгенерированный код

Этот пример иллюстрирует, как сгенерировать испытательный стенд HDL, чтобы симулировать и проверить сгенерированный HDL-код для вашего проекта. Можно также проверить сгенерированный HDL-код из модели с помощью этих методов:

Метод верификацииДля получения дополнительной информации
Модель валидацииСгенерированная модель модели и валидации
Cosimulation HDL (требует HDL Verifier™),Cosimulation
Испытательный стенд SystemVerilog DPIИспытательный стенд SystemVerilog DPI
FPGA в циклеFPGA в цикле

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

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

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

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

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

  • Инстанцирование компонента сущности под тестом.

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

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

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

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

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

  1. Во вкладке Apps выберите HDL Coder. Вкладка HDL Code появляется.

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

По умолчанию HDL Coder генерирует код испытательного стенда VHDL в целевом hdlsrc папка.

Сгенерировать код испытательного стенда Verilog для встречной модели:

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

  2. В панели HDL Code Generation, для Language, выбирают Verilog. Оставьте другие настройки значению по умолчанию.

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

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

  1. Если у вас уже нет сгенерированного кода для вашей модели, HDL Coder компилирует модель и генерирует HDL-код прежде, чем сгенерировать испытательный стенд. В зависимости от параметров отображения модели, таких как типы данных порта, модель может изменение внешности после генерации кода.

    В то время как генерация испытательного стенда продолжает, HDL Coder отображает сообщения о ходе выполнения. Процесс должен вместе с сообщением

    ### HDL TestBench Generation Complete.
    
  2. После генерации испытательного стенда вы видите сгенерированные файлы в hdlsrc папка. Например, если вы сгенерировали испытательный стенд для HDL_DUT Подсистема в вашей модели суммирующего счетчика, папка содержит:

    • 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 и запустите симуляцию.

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

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

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

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

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

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

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

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

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

    
    QuestaSim>do HDL_DUT_tb_sim.do
    
    

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

Можно теперь просмотреть сигналы и проверить, что результаты симуляции совпадают с функциональностью первоначального проекта. После проверки близко средство моделирования Mentor Graphics ModelSim, и затем закрывает файлы, которые вы открыли в редакторе MATLAB.

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

После того, как вы проверили функциональность своего проекта HDL, можно развернуть сгенерированный код на целевом устройстве FPGA. Для развертывания вы используете HDL Workflow Advisor Simulink. Чтобы учиться как больше, смотрите генерацию HDL-кода и Синтез FPGA Используя HDL Workflow Advisor Simulink.

Смотрите также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте