exponenta event banner

makehdltb

Создание стенда для испытаний ЛПВП на основе модели или подсистемы

Описание

пример

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

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

Ограничения

Этот стенд не поддерживается при создании кода HDL для модели Simulink верхнего уровня. Подсистема DUT должна соответствовать следующим условиям:

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

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

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

  • DUT не может иметь несколько часов. Необходимо установить для параметра Генерация кода входных синхросигналов значение Single.

  • Использовать сигнал триггера, так как тактовый сигнал не должен быть выбран.

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

См. также тестовый стенд SystemVerilog DPI.

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

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

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

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

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

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

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

Дополнительные сведения см. в разделе Инструмент моделирования.

Параметры входа синхронизации и сброса

свернуть все

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

Дополнительные сведения см. в разделе Принудительные часы.

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

Дополнительные сведения см. в разделе Время синхронизации (ns).

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

Дополнительные сведения см. в разделе Малое время синхронизации (ns).

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

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

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

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

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

Дополнительные сведения см. в разделе Принудительный сброс.

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

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

Параметры стимула и реакции Testbench

свернуть все

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

Дополнительные сведения см. в разделе Удержание входных данных между выборками.

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

Дополнительные сведения см. в разделе Время удержания (ns).

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

Параметры допуска с плавающей запятой

свернуть все

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

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

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

свернуть все

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

Укажите, следует ли использовать для входного сигнала сброса уровень «активный-высокий» или «активный-низкий». Дополнительные сведения см. в разделе Сброс заявленного уровня.

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

Имя выходного порта Clock enable, указанное как символьный вектор.

Дополнительные сведения см. в разделе Порт вывода Clock Enable.

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

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

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

Имена файлов и переменных

свернуть все

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

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

Дополнительные сведения см. в разделе Имя архитектуры VHDL.

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

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

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

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

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

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

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

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

свернуть все

Дополнительные сведения см. в разделе Разделение сущности и архитектуры.

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

Дополнительные сведения см. в разделе Изменение метки времени/даты в заголовке в параметрах аннотации RTL.

Дополнительные сведения см. в разделе Встроенная конфигурация VHDL.

Дополнительные сведения см. в разделе Scalarize ports.

Создание сценария

свернуть все

Дополнительные сведения см. в разделе Инициализация компиляции.

Дополнительные сведения см. в разделе Завершение компиляции.

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

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

Дополнительные сведения см. в разделе Компиляция команды для Verilog.

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

Дополнительные сведения см. в разделе Компиляция команды для VHDL.

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

Дополнительные сведения см. в разделе Команда моделирования.

Инициализация сценария моделирования HDL, заданного как символьный вектор.

Дополнительные сведения см. в разделе Инициализация моделирования.

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

Дополнительные сведения см. в разделе Завершение моделирования.

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

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

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

См. также

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