makehdltb

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

Описание

пример

makehdltb(dut) генерирует испытательный стенд HDL от заданной подсистемы или модели - ссылки.

Примечание

Если вы ранее не выполнились makehdl в текущем сеансе MATLAB®, makehdltb вызовы makehdl сгенерировать типовой кодекс прежде, чем сгенерировать код испытательного стенда. Свойства передали в makehdl сохранитесь после makehdl выполняется, и (если явным образом не заменено) передаются последующему makehdl вызовы во время того же сеанса работы с MATLAB.

пример

makehdltb(dut,Name,Value) генерирует испытательный стенд HDL от заданной подсистемы или модели - ссылки с опциями, заданными одним или несколькими аргументами пары "имя-значение".

Примеры

свернуть все

Сгенерируйте VHDL® DUT и испытательный стенд для подсистемы.

Использование makehdl сгенерировать код VHDL для подсистемы symmetric_fir.

makehdl('sfir_fixed/symmetric_fir')
### Generating HDL for 'sfir_fixed/symmetric_fir'.
### Starting HDL check.
### HDL check for 'sfir_fixed' complete with 0 errors, 0 warnings, 
    and 0 messages.
### Begin VHDL Code Generation for 'sfir_fixed'.
### Working on sfir_fixed/symmetric_fir as 
    hdlsrc\sfir_fixed\symmetric_fir.vhd
### HDL code generation complete.

После makehdl завершено, использовать makehdltb сгенерировать испытательный стенд VHDL для той же подсистемы.

makehdltb('sfir_fixed/symmetric_fir')
### Begin TestBench generation.
### Generating HDL TestBench for 'sfir_fixed/symmetric_fir'.
### Begin simulation of the model 'gm_sfir_fixed'...
### Collecting data...
### Generating test bench: hdlsrc\sfir_fixed\symmetric_fir_tb.vhd
### Creating stimulus vectors...
### HDL TestBench generation complete.
Сгенерированный код испытательного стенда VHDL сохранен в hdlsrc папка.

Сгенерируйте Verilog® DUT и испытательный стенд для подсистемы.

Использование makehdl сгенерировать код Verilog для подсистемы symmetric_fir.

makehdl('sfir_fixed/symmetric_fir','TargetLanguage','Verilog')
### Generating HDL for 'sfir_fixed/symmetric_fir'.
### Starting HDL check.
### HDL check for 'sfir_fixed' complete with 0 errors, 0 warnings, 
    and 0 messages.
### Begin Verilog Code Generation for 'sfir_fixed'.
### Working on sfir_fixed/symmetric_fir as 
    hdlsrc\sfir_fixed\symmetric_fir.v
### HDL code generation complete.

После makehdl завершено, использовать makehdltb сгенерировать испытательный стенд Verilog для той же подсистемы.

makehdltb('sfir_fixed/symmetric_fir','TargetLanguage','Verilog')
### Begin TestBench generation.
### Generating HDL TestBench for 'sfir_fixed/symmetric_fir'.
### Begin simulation of the model 'gm_sfir_fixed'...
### Collecting data...
### Generating test bench: hdlsrc\sfir_fixed\symmetric_fir_tb.v
### Creating stimulus vectors...
### HDL TestBench generation complete.
Сгенерированный код испытательного стенда Verilog сохранен в hdlsrc\sfir_fixed папка.

Сгенерируйте испытательный стенд SystemVerilog DPI для подсистемы.

Рассмотрите эту возможность, если генерация или симуляция испытательного стенда HDL по умолчанию занимают много времени. Генерация испытательного стенда DPI может быть быстрее, чем версия по умолчанию, потому что это не запускает симуляцию Simulink®, чтобы создать данные об испытательном стенде. Симуляция испытательного стенда DPI с большим набором данных быстрее, чем версия по умолчанию, потому что это не хранит вход или ожидаемые данные в отдельном файле. Для требований, чтобы использовать эту функцию, смотрите GenerateSVDPITestBench свойство.

Использование makehdl сгенерировать код Verilog для подсистемы symmetric_fir.

makehdl('sfir_fixed/symmetric_fir','TargetLanguage','Verilog')
### Generating HDL for 'sfir_fixed/symmetric_fir'.
### Starting HDL check.
### HDL check for 'sfir_fixed' complete with 0 errors, 0 warnings, 
    and 0 messages.
### Begin Verilog Code Generation for 'sfir_fixed'.
### Working on sfir_fixed/symmetric_fir as 
    hdlsrc\sfir_fixed\symmetric_fir.v
### HDL code generation complete.

После того, как код сгенерирован, использовать makehdltb сгенерировать испытательный стенд для той же подсистемы. Задайте свой симулятор HDL так, чтобы кодер мог сгенерировать скрипты, чтобы создать и запустить сгенерированный SystemVerilog и код С. Отключите генерацию испытательного стенда по умолчанию.

makehdltb('sfir_fixed/symmetric_fir','TargetLanguage','Verilog',...
      'GenerateSVDPITestBench','ModelSim','GenerateHDLTestBench','off')
### Start checking model compatibility with SystemVerilog DPI testbench
### Finished checking model compatibility with SystemVerilog DPI testbench
### Preparing generated model for SystemVerilog DPI component generation
### Generating SystemVerilog DPI component
### Starting build procedure for model: gm_sfir_fixed_ref
### Starting SystemVerilog DPI Component Generation
### Generating DPI H Wrapper gm_sfir_fixed_ref_dpi.h
### Generating DPI C Wrapper gm_sfir_fixed_ref_dpi.c
### Generating SystemVerilog module gm_sfir_fixed_ref_dpi.sv using template C:\matlab\toolbox\hdlverifier\dpigenerator\rtw\hdlverifier_dpitb_template.vgt
### Generating makefiles for: gm_sfir_fixed_ref_dpi
### Invoking make to build the DPI Shared Library
### Successful completion of build procedure for model: gm_sfir_fixed_ref
### Working on symmetric_fir_dpi_tb as hdlsrc\sfir_fixed\symmetric_fir_dpi_tb.sv.
### Generating SystemVerilog DPI testbench simulation script for ModelSim/QuestaSim hdlsrc\sfir_fixed\symmetric_fir_dpi_tb.do

### HDL TestBench generation complete.
Сгенерированный SystemVerilog и файлы испытательного стенда C и скрипты сборки, сохранены в hdlsrc\sfir_fixed папка.

Входные параметры

свернуть все

Подсистема DUT или модель - ссылка называют в виде вектора символов со всем иерархическим путем.

Пример: 'modelname/subsysTarget'

Пример: 'modelname/subsysA/subsysB/subsysTarget'

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'TargetLanguage','Verilog'
Выходной язык и опции выбора папки

свернуть все

Задайте Подсистему в своей модели, чтобы сгенерировать испытательный стенд для. Для получения дополнительной информации смотрите, Генерируют HDL для.

Задайте, сгенерировать ли код VHDL или Verilog. Для получения дополнительной информации смотрите Язык.

Задайте путь, чтобы записать сгенерированные файлы и HDL-код в. Для получения дополнительной информации смотрите Папку.

Генерация испытательного стенда Выходные опции

свернуть все

Кодер генерирует испытательный стенд HDL путем выполнения симуляции Simulink, чтобы получить входные векторы и ожидаемые выходные данные для DUT. Для получения дополнительной информации смотрите испытательный стенд HDL.

Когда вы устанавливаете это свойство, кодер генерирует компонент интерфейса программирования на машинном языке (DPI) для вашей целой модели Simulink, включая ваш DUT и источники данных. Ваша целая модель должна поддержать генерацию кода C с Simulink Coder™. Кодер генерирует испытательный стенд SystemVerilog, который сравнивает выход компонента DPI с выходом реализации HDL вашего DUT. Кодер также создает совместно использованные библиотеки и генерирует скрипт симуляции для средства моделирования, которое вы выбираете.

Рассмотрите использование этой опции, если испытательный стенд HDL по умолчанию занимает много времени, чтобы сгенерировать или симулировать. Генерация испытательного стенда DPI иногда быстрее, чем версия по умолчанию, потому что это не запускает полную симуляцию Simulink, чтобы создать данные об испытательном стенде. Симуляция испытательного стенда DPI с большим набором данных быстрее, чем версия по умолчанию, потому что это не хранит вход или ожидаемые данные в отдельном файле. Для примера смотрите, Генерируют испытательный стенд SystemVerilog DPI.

Чтобы использовать эту функцию, у вас должны быть лицензии Simulink Coder и HDL Verifier™. Чтобы запустить испытательный стенд SystemVerilog со сгенерированным кодом VHDL, у вас должна быть лицензия симуляции на разных языках на ваш симулятор HDL.

Ограничения

Этот испытательный стенд не поддерживается, когда вы генерируете HDL-код для модели Simulink верхнего уровня. Ваша подсистема DUT должна ответить следующим условиям:

  • Типы входных и выходных данных DUT не могут быть больше, чем 64 бита.

  • Порты ввода и вывода DUT не могут использовать перечисленные типы данных.

  • Порты ввода и вывода не могут быть типами данных с двойной точностью или с одинарной точностью.

  • DUT не может иметь нескольких часов. Необходимо установить опцию генерации кода Clock inputs на Single.

  • Use trigger signal as clock не должен быть выбран.

  • Если DUT использует векторные порты, необходимо использовать Scalarize vector ports, чтобы сгладить интерфейс.

См. также испытательный стенд SystemVerilog DPI.

Сгенерируйте блок HDL Cosimulation, таким образом, можно симулировать DUT в Simulink с симулятором HDL.

Для получения дополнительной информации см. модель Cosimulation.

Сгенерируйте модель, содержащую блок HDL Cosimulation для заданного симулятора HDL.

Для получения дополнительной информации см. модель Cosimulation.

Включайте переключатели покрытия кода в сгенерированные build-run скрипты. Эти переключатели включают покрытие кода для сгенерированного испытательного стенда. Задайте свой симулятор HDL в SimulationTool свойство. Кодер генерирует build-run скрипты для средства моделирования, которое вы задаете.

Для получения дополнительной информации смотрите покрытие HDL-кода.

Это свойство применяется к сгенерированным испытательным стендам. 'VCS' и 'Vivado' поддерживаются только для испытательных стендов SystemVerilog DPI. Когда вы выбираете 'Custom', инструмент использует пользовательские настройки скрипта. Смотрите свойства “Script Generation”.

Для получения дополнительной информации смотрите инструмент Simulation.

Синхронизируйте и входные опции сброса

свернуть все

Укажите, что сгенерированные диски испытательного стенда часы включают вход на основе ClockLowTime и ClockHighTime.

Для получения дополнительной информации смотрите часы Силы.

Синхронизируйте пора в период часов, заданный в наносекундах.

Для получения дополнительной информации смотрите Часы пора (не уточнено).

Покажите низкое время в период часов, заданный в наносекундах.

Для получения дополнительной информации смотрите Часы низкое время (не уточнено).

Укажите, что сгенерированные диски испытательного стенда часы включают вход.

Для получения дополнительной информации смотрите, что часы Силы включают.

Количество тактов между deassertion сброса и утверждением часов включает в виде положительного целого числа.

Для получения дополнительной информации смотрите, что Часы включают задержку (за такты)

Укажите, что сгенерированный испытательный стенд управляет входом сброса.

Для получения дополнительной информации смотрите сброс Силы.

Отрезок времени, которые сбрасывают, утверждается в виде количества тактов.

Для получения дополнительной информации смотрите длину Сброса (за такты).

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

свернуть все

Содержите допустимые данные между выборками для сигналов, синхронизированных на более медленном уровне.

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

Время задержки для входных параметров и обеспеченного сброса, заданного в наносекундах.

Для получения дополнительной информации смотрите Время задержки (не уточнено).

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

Для получения дополнительной информации смотрите, Игнорируют проверку выходных данных (количество выборок).

Инициализируйте входные параметры испытательного стенда, чтобы обнулить. Для получения дополнительной информации смотрите, Инициализируют входные параметры испытательного стенда.

Параметры конфигурации испытательного стенда

свернуть все

Постфикс для файла данных испытательного стенда называет в виде вектора символов.

Для получения дополнительной информации смотрите постфикс имени файла данных Испытательного стенда.

Постфикс для испытательного стенда называет в виде вектора символов.

Для получения дополнительной информации смотрите постфикс имени Испытательного стенда.

Постфикс для опорного сигнала испытательного стенда называет в виде вектора символов.

Для получения дополнительной информации смотрите постфикс ссылки Испытательного стенда.

Разделите сгенерированный испытательный стенд на функции помощника, данные и файлы испытательного стенда HDL.

Для получения дополнительной информации смотрите Многофайловый испытательный стенд.

Опции допуска с плавающей точкой

свернуть все

Проверка допуска с плавающей точкой на основе относительной погрешности или ULP. Для получения дополнительной информации смотрите проверку допуска С плавающей точкой на основе.

Значение допуска с плавающей точкой в зависимости от FPToleranceStrategy заданный. Для получения дополнительной информации смотрите Значение Допуска.

Имена порта и типы

свернуть все

Задайте, сгенерировать ли один или несколько входных параметров часов в HDL-коде. Для получения дополнительной информации смотрите входные параметры Часов.

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

Укажите, что часы включают имя входного порта как вектор символов. Для получения дополнительной информации смотрите, что Часы включают входной порт.

Часы включают имя выходного порта в виде вектора символов.

Для получения дополнительной информации смотрите, что Часы Включают выходной порт.

Задайте имя входного порта часов как вектор символов. Для получения дополнительной информации смотрите входной порт Часов.

Сбросьте имя входного порта в виде вектора символов.

Для получения дополнительной информации смотрите входной порт Сброса.

Файл и имена переменных

свернуть все

Задайте расширение файла для сгенерированных файлов Verilog. Для получения дополнительной информации смотрите расширение файла Verilog.

Задайте расширение файла для сгенерированных файлов VHDL. Для получения дополнительной информации смотрите расширение файла VHDL.

Для получения дополнительной информации смотрите имя архитектуры VHDL.

Для получения дополнительной информации смотрите имя библиотеки VHDL.

Для получения дополнительной информации смотрите постфикс файла сущности Разделения.

Для получения дополнительной информации смотрите постфикс файла дуги Разделения.

Задайте постфикс для имени файла пакета как вектор символов. Для получения дополнительной информации смотрите постфикс Пакета.

Для получения дополнительной информации смотрите Complex imaginary part postfix в Комплексных Параметрах Постфикса Сигналов.

Для получения дополнительной информации смотрите Complex real part postfix в Комплексных Параметрах Постфикса Сигналов.

Префикс для внутренних часов включает, и поток управления включают сигналы в виде вектора символов. Для получения дополнительной информации смотрите, что Часы Включают Настройки и Параметры.

Стиль кодирования

свернуть все

Для получения дополнительной информации смотрите сущность Разделения и архитектуру.

Для получения дополнительной информации смотрите Использование Verilog 'директивы масштаба времени.

Для получения дополнительной информации смотрите Emit time/date stamp in header в Параметрах Аннотации RTL.

Для получения дополнительной информации смотрите Встроенную настройку VHDL.

Для получения дополнительной информации смотрите порты Scalarize.

Генерация скриптов

свернуть все

Для получения дополнительной информации смотрите инициализацию Компиляции.

Для получения дополнительной информации смотрите завершение Компиляции.

Для получения дополнительной информации смотрите постфикс файла Компиляции.

Команда компиляции Verilog в виде вектора символов. SimulatorFlags пара "имя-значение" задает первый аргумент, и имя модуля задает второй аргумент.

Для получения дополнительной информации смотрите команду Компиляции для Verilog.

Команда компиляции VHDL в виде вектора символов. SimulatorFlags пара "имя-значение" задает первый аргумент, и имя сущности задает второй аргумент.

Для получения дополнительной информации смотрите команду Компиляции для VHDL.

Команда симуляции HDL в виде вектора символов.

Для получения дополнительной информации смотрите команду Симуляции.

Инициализация для скрипта симуляции HDL в виде вектора символов.

Для получения дополнительной информации смотрите инициализацию Симуляции.

Имя завершения для команды симуляции HDL в виде вектора символов.

Для получения дополнительной информации смотрите завершение Симуляции.

Для получения дополнительной информации смотрите постфикс файла Симуляции.

Команда просмотра формы волны в виде вектора символов. Неявный аргумент добавляет пути прохождения сигнала для входа верхнего уровня DUT, выхода и выходных опорных сигналов.

Для получения дополнительной информации смотрите, что форма волны Симуляции просматривает команду.

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

Представленный в R2006b