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 папка.

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

Рассмотрите эту опцию, если генерация или симуляция 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 и C. Отключите генерацию испытательного стенда по умолчанию.

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 с большим набором данных быстрее, чем версия по умолчанию, поскольку она не хранит входные или ожидаемые данные в отдельном файле. Для получения примера смотрите Сгенерировать Испытательный стенд DPI SystemVerilog.

Чтобы использовать эту функцию, вы должны иметь лицензии HDL- Verifier™ и Simulink Coder. Чтобы запустить тестбенч 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.

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

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

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

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

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

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

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

Опции Входа синхроимпульса и сброса

свернуть все

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

Для получения дополнительной информации см. Раздел «Форс-часы»

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

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

Низкое время синхронизации в течение тактового периода, заданное в наносекундах.

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

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

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

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

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

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

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

Длительность сброса задается как количество тактов.

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

Параметры стимулирования и отклика теста

свернуть все

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

Для получения дополнительной информации см. Раздел «Удержание входных данных между выборками».

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

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

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

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

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

Параметры конфигурации Testbench

свернуть все

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

Команда HDL simulation, заданная как вектор символов.

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

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

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

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

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

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

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

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

См. также

Введенный в R2006b