Создание стенда для испытаний ЛПВП на основе модели или подсистемы
makehdltb( создает тестовый стенд HDL из указанной подсистемы или эталона модели.dut)
Примечание
Если ранее не выполнялось makehdl в текущем сеансе MATLAB ® ,makehdltb требования makehdl для создания кода модели перед созданием кода испытательного стенда. Свойства, переданные в makehdl сохраняются после makehdl выполняется, и (если явно не переопределено) передается последующим makehdl вызовы во время того же сеанса MATLAB.
makehdltb( создает тестовый стенд HDL из указанной подсистемы или ссылки на модель с опциями, заданными одним или несколькими аргументами пары имя-значение.dut,Name,Value)
Создание 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.
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.
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.
hdlsrc\sfir_fixed папка.dut - имя подсистемы DUT или ссылочное имя модели;Имя ссылки на подсистему DUT или модель, указанное как символьный вектор, с полным иерархическим путем.
Пример: 'modelname/subsysTarget'
Пример: 'modelname/subsysA/subsysB/subsysTarget'
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'TargetLanguage','Verilog''HDLSubsystem' - подсистема DUTУкажите подсистему в модели для создания тестового стенда. Дополнительные сведения см. в разделе Создание HDL для.
'TargetLanguage' - Целевой язык'VHDL' (по умолчанию) | 'Verilog'Укажите, нужно ли создавать код VHDL или Verilog. Дополнительные сведения см. в разделе Язык.
'TargetDirectory' - Каталог вывода'hdlsrc' (по умолчанию) | символьный векторУкажите путь для записи созданных файлов и кода HDL. Дополнительные сведения см. в разделе Папка.
'GenerateHDLTestBench' - Создать стенд для испытаний ЛПВП'on' (по умолчанию) | 'off'Кодер создает тестовый стенд HDL, выполняя симуляцию Simulink для сбора входных векторов и ожидаемых выходных данных для DUT. Для получения дополнительной информации см. тестовый стенд HDL.
'GenerateSVDPITestBench' - Создать тестовый стенд SystemVerilog DPI'none' (по умолчанию) | 'ModelSim' | 'Incisive' | 'VCS' | 'Vivado Simulator'При установке этого свойства кодер создает компонент прямого интерфейса программирования (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.
'GenerateCoSimBlock' - Создание блока косимуляции ЛПВП'off' (по умолчанию) | 'on'Создайте блок косимуляции HDL, чтобы можно было моделировать DUT в Simulink с помощью имитатора HDL.
Дополнительные сведения см. в разделе Модель косимуляции.
'GenerateCoSimModel' - Создание модели косимуляции ЛПВП'ModelSim' (по умолчанию) | 'Incisive' | 'None'Создайте модель, содержащую блок косимуляции ЛПВП для указанного имитатора ЛПВП.
Дополнительные сведения см. в разделе Модель косимуляции.
'HDLCodeCoverage' - Включить покрытие кода на сформированном испытательном стенде'off' (по умолчанию) | 'on'Включение переключателей покрытия кода в создаваемые сценарии сборки и выполнения. Эти переключатели включают покрытие кода для созданного тестового стенда. Укажите имитатор HDL в SimulationTool собственность. Кодер создает сценарии сборки и выполнения для указанного симулятора.
Дополнительные сведения см. в разделе Покрытие кода HDL.
'SimulationTool' - имитатор ЛПВП, на котором будет запущен созданный стенд'ModelSim' (по умолчанию) | 'Incisive' | 'VCS' | 'Vivado' | 'Custom'Это свойство применяется к созданным испытательным стендам. 'VCS' и 'Vivado' поддерживаются только для тестовых стендов SystemVerilog DPI. При выборе 'Custom', инструмент использует пользовательские настройки сценария. См. свойства «Создание сценария».
Дополнительные сведения см. в разделе Инструмент моделирования.
'ForceClock' - Вход силового синхросигнала'on' (по умолчанию) | 'off'Укажите, что созданный стенд управляет входным сигналом включения синхронизации на основе ClockLowTime и ClockHighTime.
Дополнительные сведения см. в разделе Принудительные часы.
'ClockHighTime' - Часы высокого времениВремя высокого тактового сигнала в течение периода тактового сигнала, заданного в наносекундах.
Дополнительные сведения см. в разделе Время синхронизации (ns).
'ClockLowTime' - Малое время синхронизацииМалое время синхронизации в течение периода синхронизации, указанное в наносекундах.
Дополнительные сведения см. в разделе Малое время синхронизации (ns).
'ForceClockEnable' - Вход включения силового синхросигнала'on' (по умолчанию) | 'off'Укажите, что созданный стенд управляет входом включения синхронизации.
Дополнительные сведения см. в разделе Принудительное включение часов.
'TestBenchClockEnableDelay' - Циклы синхронизации между сбросом и включением синхронизацииЧисло тактовых циклов между отключением сброса и включением синхронизации, указанное как положительное целое число.
Дополнительные сведения см. в разделе Задержка включения синхронизации (в тактовых циклах).
'ForceReset' - Вход сброса силы'on' (по умолчанию) | 'off'Укажите, что созданный стенд управляет входом сброса.
Дополнительные сведения см. в разделе Принудительный сброс.
'ResetLength' - Сбросить утвержденную продолжительность времениПериод времени, в течение которого устанавливается сброс, определяемый как количество тактовых циклов.
Дополнительные сведения см. в разделе Сброс длины (в тактах).
'HoldInputDataBetweenSamples' - Сохранить достоверные данные для сигналов'on' (по умолчанию) | 'off'Храните действительные данные между выборками для сигналов, синхронизированных с более низкой скоростью.
Дополнительные сведения см. в разделе Удержание входных данных между выборками.
'HoldTime' - Время удержания для входов и принудительного сбросаВремя удержания входных данных и принудительного сброса, указанное в наносекундах.
Дополнительные сведения см. в разделе Время удержания (ns).
'IgnoreDataChecking' - Время ожидания после включения часов перед проверкой выходных данныхВремя после включения синхронизации устанавливается перед запуском проверок выходных данных, указанных в количестве выборок.
Дополнительные сведения см. в разделе Игнорирование проверки выходных данных (количество выборок).
'InitializeTestBenchInputs' - Инициализация входов испытательного стенда'off' (по умолчанию) | 'on'Инициализируйте входные данные стенда до нуля. Дополнительные сведения см. в разделе Инициализация входных данных тестового стенда.
'TestBenchDataPostFix' - Postfix для имени файла данных испытательного стенда'_data' (по умолчанию) | символьный векторPostfix для имени файла данных тестового стенда, заданного как символьный вектор.
Дополнительные сведения см. в разделе Постфикс имени файла данных стенда тестирования.
'TestBenchPostFix' - Постфикс для наименования испытательного стенда'_tb' (по умолчанию) | символьный векторПостфикс для имени тестового стенда, указанный как символьный вектор.
Дополнительные сведения см. в разделе Постфикс имени тестового стенда.
'TestBenchReferencePostFix' - Постфикс для опорного сигнала стенда'_ref' (по умолчанию) | символьный векторПостфикс для имени опорного сигнала испытательного стенда, указанного как символьный вектор.
Дополнительные сведения см. в разделе Постфикс ссылки на испытательный стенд.
'MultifileTestBench' - Создание нескольких файлов testbench'off' (по умолчанию) | 'on'Разделение созданного тестового стенда на вспомогательные функции, данные и файлы тестового стенда HDL.
Дополнительные сведения см. в разделе Многофайловый тестовый стенд.
'UseFileIOInTestBench' - Использование файлового ввода-вывода для чтения/записи данных испытательного стенда'on' (по умолчанию) | 'off'Дополнительные сведения см. в разделе Использование файлового ввода-вывода для чтения/записи данных тестового стенда.
'FPToleranceStrategy' - Стратегия допуска с плавающей запятой'relative' (по умолчанию) | 'ulp'Проверка допуска с плавающей запятой на основе относительной ошибки или ULP. Дополнительные сведения см. в разделе Проверка допуска с плавающей запятой на основе.
'FPToleranceValue' - Стратегия допуска с плавающей запятой'relative' (по умолчанию) | 'ulp'Значение допуска с плавающей запятой в зависимости от FPToleranceStrategy указано. Дополнительные сведения см. в разделе Значение допуска.
'ClockInputs' - Один или несколько тактовых входов'Single' (по умолчанию) | 'Multiple'Укажите, нужно ли создавать один или несколько тактовых входов в коде HDL. Дополнительные сведения см. в разделе Входы часов.
'ResetAssertedLevel' - Утвержденный (активный) уровень сброса'active-high' (по умолчанию) | 'active-low'Укажите, следует ли использовать для входного сигнала сброса уровень «активный-высокий» или «активный-низкий». Дополнительные сведения см. в разделе Сброс заявленного уровня.
'ClockEnableInputPort' - Имя входного порта включения синхросигнала'clk_enable' (по умолчанию) | символьный векторУкажите имя входного порта включения синхронизации в качестве символьного вектора. Дополнительные сведения см. в разделе Входной порт включения синхронизации.
'ClockEnableOutputPort' - Имя выходного порта Clock enable'ce_out' (по умолчанию) | символьный векторИмя выходного порта Clock enable, указанное как символьный вектор.
Дополнительные сведения см. в разделе Порт вывода Clock Enable.
'ClockInputPort' - Имя порта входа синхросигнала'clk' (по умолчанию) | символьный векторУкажите имя входного порта синхронизации в качестве символьного вектора. Дополнительные сведения см. в разделе Входной порт тактового генератора.
'ResetInputPort' - Сбросить имя входного порта'reset' (по умолчанию) | символьный векторСброс имени входного порта, заданного как символьный вектор.
Дополнительные сведения см. в разделе Сброс входного порта.
'VerilogFileExtension' - Расширение файла Verilog'.v' (по умолчанию) | символьный векторУкажите расширение имени файла для созданных файлов Verilog. Дополнительные сведения см. в разделе Расширение файла Verilog.
'VHDLFileExtension' - Расширение файла VHDL'.vhd' (по умолчанию) | символьный векторУкажите расширение имени файла для созданных файлов VHDL. Дополнительные сведения см. в разделе Расширение файла VHDL.
'VHDLArchitectureName' - Имя архитектуры VHDL'rtl' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Имя архитектуры VHDL.
'VHDLLibraryName' - Имя библиотеки VHDL'work' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Имя библиотеки VHDL.
'SplitEntityFilePostfix' - Постфикс для имен файлов объектов VHDL'_entity' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Постфикс файла объекта разделения.
'SplitArchFilePostfix' - Postfix для имен файлов архитектуры VHDL'_arch' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Постфикс разделенных арочных файлов.
'PackagePostfix' - Постфикс для имени файла пакета'_pkg' (по умолчанию) | символьный векторУкажите постфикс для имени файла пакета в виде символьного вектора. Дополнительные сведения см. в разделе Постфикс пакета.
'ComplexImagPostfix' - Постфикс для мнимой части комплексного сигнала'_im' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Постфикс комплексной мнимой части в разделе Параметры комплексного постфикса сигналов.
'ComplexRealPostfix' - Постфикс для мнимой части сложных названий сигналов'_re' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Постфикс комплексной вещественной части в разделе Параметры комплексного постфикса сигналов.
'EnablePrefix' - Префикс для внутренних сигналов включения'enb' (по умолчанию) | символьный векторПрефикс для внутренних сигналов активизации тактового сигнала и сигналов активизации потока управления, задаваемый как символьный вектор. Дополнительные сведения см. в разделе Параметры и параметры включения часов.
'SplitEntityArch' - Разделение объекта и архитектуры VHDL на отдельные файлы'off' (по умолчанию) | 'on'Дополнительные сведения см. в разделе Разделение сущности и архитектуры.
'UseVerilogTimescale' - Генерировать 'timescale директивы компилятора'on' (по умолчанию) | 'off'Дополнительные сведения см. в разделе Использование директив шкалы времени Verilog.
'DateComment' - Включить метку времени в заголовок'on' (по умолчанию) | 'off'Дополнительные сведения см. в разделе Изменение метки времени/даты в заголовке в параметрах аннотации RTL.
'InlineConfigurations' - Включить конфигурации VHDL'on' (по умолчанию) | 'off'Дополнительные сведения см. в разделе Встроенная конфигурация VHDL.
'ScalarizePorts' - Распрямление векторных портов на скалярные'off' (по умолчанию) | 'on' | 'dutlevel'Дополнительные сведения см. в разделе Scalarize ports.
'HDLCompileInit' - Текст инициализации сценария компиляции'vlib %s\n' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Инициализация компиляции.
'HDLCompileTerm' - Текст завершения сценария компиляции'' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Завершение компиляции.
'HDLCompileFilePostfix' - Postfix для имени файла сценария компиляции'_compile.do' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Компиляция постфикса файла.
'HDLCompileVerilogCmd' - Команда компиляции Verilog'vlog %s %s\n' (по умолчанию) | символьный векторКоманда компиляции Verilog, заданная как символьный вектор. SimulatorFlags пара имя-значение указывает первый аргумент, а имя модуля - второй аргумент.
Дополнительные сведения см. в разделе Компиляция команды для Verilog.
'HDLCompileVHDLCmd' - Команда компиляции VHDL'vcom %s %s\n' (по умолчанию) | символьный векторКоманда компиляции VHDL, заданная как символьный вектор. SimulatorFlags пара «имя-значение» указывает первый аргумент, а имя сущности - второй аргумент.
Дополнительные сведения см. в разделе Компиляция команды для VHDL.
'HDLSimCmd' - команда моделирования ЛПВП'vsim -voptargs=+acc %s.%s\n' (по умолчанию) | символьный векторКоманда моделирования HDL, заданная как символьный вектор.
Дополнительные сведения см. в разделе Команда моделирования.
'HDLSimInit' - имя инициализации сценария моделирования HDL['onbreak resume\n', 'onerror resume\n'] (по умолчанию) | символьный векторИнициализация сценария моделирования HDL, заданного как символьный вектор.
Дополнительные сведения см. в разделе Инициализация моделирования.
'HDLSimTerm' - имя завершения сценария моделирования HDL'run -all' (по умолчанию) | символьный векторИмя окончания команды моделирования HDL, указанное как символьный вектор.
Дополнительные сведения см. в разделе Завершение моделирования.
'HDLSimFilePostfix' - Постскрипт для сценария моделирования HDL'_sim.do' (по умолчанию) | символьный векторДополнительные сведения см. в разделе Постфикс файла моделирования.
'HDLSimViewWaveCmd' - команда просмотра имитационной формы сигнала HDL'add wave sim:%s\n' (по умолчанию) | символьный векторКоманда просмотра формы сигнала, заданная как символьный вектор. Неявный аргумент добавляет пути сигналов для входных, выходных и выходных опорных сигналов верхнего уровня DUT.
Дополнительные сведения см. в разделе Моделирование команды просмотра формы сигнала.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.