В этом примере показов, как сгенерировать HDL- испытательного стенда и проверить сгенерированный код для простой модели счетчика. Чтобы сгенерировать HDL-код для этой модели, смотрите Генерацию HDL-кода из модели Simulink. Если вы не сгенерированными HDL-кодами для этой модели, HDL Coder™ запусков генерацию кода перед генерацией теста.
Чтобы проверить функциональность HDL-кода для DUT, сгенерируйте HDL- испытательного стенда. Испытательный стенд включает в себя:
Стимулирующие данные, генерируемые источниками сигналов, подключенными к тестируемой сущности.
Выход данных, сгенерированных сущностью. Во время испытательного стенда прогона эти данные сравниваются с выходами VHDL® модель для верификации.
Часы, сброс и часы позволяют входам управлять тестируемой сущностью.
Экземпляр компонента тестируемой сущности.
Код для управления сущностью тестирования и сравнения его выходов с ожидаемыми данными.
Можно симулировать сгенерированные испытательные стенды и файлы скриптов с помощью Mentor Graphics® ModelSim® симулятор.
Откройте эту модель, чтобы увидеть простой счетчик. Модель отсчитывает от нуля до порогового значения, а затем оборачивается назад к нулю. Значение порога установлено в 15
. Чтобы изменить пороговое значение, измените значение входа на count_threshold
порт. Сигнал Enable определяет, отсчитывается ли счетчик вверх или содержит предыдущее значение. Значение 1
указывает, что счетчик пересчитывается вверх постоянно.
Если у вас установлены HDL Verifier™, можно также проверить сгенерированный HDL-код с помощью этих методов.
Метод верификации | Для получения дополнительной информации |
---|---|
Косимуляция HDL | Cosimulation |
DPI- Испытательного стенда SystemVerilog | DPI- Испытательного стенда SystemVerilog |
Цикл | Цикл |
Сгенерируйте VHDL или Verilog испытательный стенд, как применимо. По умолчанию HDL-код и тестовый стендовый код записываются в одну и ту же целевую папку hdlsrc
относительно текущей папки.
Для модели счетчика, HDL_DUT
подсистема является DUT. Чтобы сгенерировать testbench, выберите эту подсистему.
На вкладке Apps выберите HDL Coder.
Выберите подсистему DUT, HDL_DUT
, и убедитесь, что это имя отображается в опции Code for на вкладке HDL Code. Чтобы запомнить выбор, закрепите эту опцию. Нажмите Generate Testbench.
Чтобы сгенерировать код Verilog testbench для модели счетчика:
На вкладке HDL Code нажмите Settings.
На панели HDL Code Generation для Language выберите Verilog
.
На панели HDL Code Generation > Test Bench нажмите Generate Test Bench.
HDL Coder компилирует модель и генерирует испытательный стенд.
Генерация испытательного стенда завершена и отобразит это сообщение. Сгенерированные файлы появляются в hdlsrc
папка.
### HDL TestBench Generation Complete.
Для модели счетчика, 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
файл в текущей папке.
Чтобы проверить результаты симуляции, можно использовать симулятор 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
Подсистема.
Откройте программное обеспечение Mentor Graphics ModelSim и перейдите к папке, которая имеет файлы сгенерированного кода и скрипты.
Используйте сгенерированный скрипт компиляции, чтобы скомпилировать и загрузить сгенерированные модель и текстовый стендовый код. Для HDL_DUT
subsystem, запустите эту команду, чтобы скомпилировать сгенерированный код.
QuestaSim>do HDL_DUT_tb_compile.do
Используйте сгенерированный скрипт симуляции, чтобы выполнить симуляцию. В следующем списке отображается команда. Можно игнорировать предупреждающие сообщения. Для HDL_DUT
Подсистема, запустите эту команду, чтобы симулировать сгенерированный код.
QuestaSim>do HDL_DUT_tb_sim.do
Симулятор оптимизирует ваш проект и отображает результаты в wave окне. если вы не видите результаты симуляции, откройте wave окно. Скрипт симуляции отображает входы и выходы в модели, включая часы, сброс и активацию синхроимпульса в wave окне.
Теперь можно просмотреть сигналы и проверить, что результаты симуляции соответствуют функциональности вашего исходного проекта. После проверки закройте симулятор Mentor Graphics ModelSim, а затем закройте открытые файлы в РЕДАКТОРА MATLAB.
Чтобы развернуть сгенерированный код на целевом устройстве FPGA, используйте Simulink® HDL Workflow Advisor. См. Генерация HDL-кода и синтез FPGA из модели Simulink.