Сгенерируйте и настройте испытательный стенд HDL
Со свойствами испытательного стенда HDL можно включить и настроить генерацию испытательного стенда.
Задайте эти свойства как пары, разделенные запятой аргументов Name,Value
к функции generatehdl
. Name
является именем свойства, и Value
является соответствующим значением. Имя должно находиться внутри одинарных кавычек (' ').
Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
Например:
fir = dsp.FIRFilter('Structure','Direct form antisymmetric'); generatehdl(fir,'InputDataType',numerictype(1,16,15), ... 'GenerateHDLTestBench','on','MultifileTestBench','on');
GenerateHDLTestBench
— Сгенерируйте испытательный стенд HDL'off'
(значение по умолчанию) | 'on'
Сгенерируйте испытательный стенд HDL для своего кода фильтра HDL, заданного как 'off'
или 'on'
. Испытательный стенд применяет сгенерированные входные стимулы для сгенерированного кода фильтра и сравнивает вывод с сохраненными результатами симуляции MATLAB®.
TestBenchName
— Имя файла сгенерированного испытательного стендаfiltername_tb
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя файла сгенерированного испытательного стенда, заданного как
, вектор символов или скаляр строки. filtername_tb
filtername
является именем сгенерированного модуля сущности или Verilog VHDL. Можно настроить это имя путем установки свойства Name
. Кодер добавляет расширение типа файла имени испытательного стенда, как задано свойствами VerilogFileExtension
или VHDLFileExtension
. Файл испытательного стенда расположен в папке, заданной свойством TargetDirectory
.
Если вы задаете значение, которое является зарезервированным словом на выходном языке, кодер добавляет постфиксный _rsvd
в это значение. Можно обновить постфиксное значение при помощи свойства ReservedWordPostfix
. Для получения дополнительной информации смотрите Решение Конфликтов Зарезервированного слова HDL.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
ErrorMargin
— Допуск на погрешность для сравнения испытательного стенда в битах4
(значение по умолчанию) | положительное целое числоДопуск на погрешность для сравнения испытательного стенда в битах, заданных как 4
или положительное целое число. Испытательный стенд сравнивает результаты со ссылочными сигналами. Следующая оптимизация HDL может сгенерировать код испытательного стенда, который приводит к числовым результатам, которые отличаются от результатов, приведенных исходной функцией filter:
Набор FIRAdderStyle
к 'tree'
или 'pipelined'
AddPipelineRegisters
с КИХ, асимметричным КИХ и симметричными КИХ-фильтрами
Допуск на погрешность задает приемлемое минимальное количество битов, которыми могут отличаться числовые результаты, прежде чем испытательный стенд выдает предупреждение.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
MultifileTestBench
— Сгенерируйте многофайловый испытательный стенд'off'
(значение по умолчанию) | 'on'
Сгенерируйте многофайловый испытательный стенд, заданный как 'off'
или 'on'
. Когда это свойство установлено в 'on'
, кодер генерирует отдельные файлы для кода испытательного стенда, функций помощника и данных об испытательном стенде вместо одного файла. Имена файлов выведены из свойств TestBenchName
и TestBenchDataPostfix
. Например, если именем сгенерированного модуля сущности или Verilog VHDL является my_fir_filt
, имена файлов испытательного стенда по умолчанию:
my_fir_filt_tb
— Код испытательного стенда
my_fir_filt_tb_pkg
— Помощник функционирует пакет
my_fir_filt_tb_data
— Блок данных тестового вектора
Кодер добавляет к этим именам файлов расширение типа файла, заданное свойствами VerilogFileExtension
или VHDLFileExtension
.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
TestBenchDataPostfix
— Снабдите постфиксом к имени файла данных об испытательном стенде'_data'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к имени файла данных об испытательном стенде, заданных как '_data'
, вектор символов или скаляр строки. Кодер генерирует файл данных испытательного стенда с именем файла, полученным путем добавления этого постфикса к значению свойства TestBenchName
.
Это свойство применяется только, когда свойства GenerateHDLTestBench
и MultifileTestBench
установлены в 'on'
.
TestBenchReferencePostfix
— Снабдите постфиксом к ссылочным именам сигнала'_ref'
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиПостфикс к ссылочным именам сигнала, заданным как '_ref'
, вектор символов или скаляр строки. Кодер применяет этот постфикс к ссылочному выходному сигналу в испытательном стенде. Кодер представляет ссылочные данные сигнала как массивы.
CONSTANT filter_out_expected : filter_in_data_log_type := ( -2.4228738523269194E-03, -2.0832449820793104E-03, 6.7703446401186345E-03,...
SIGNAL filter_out_ref : real := 0.0; -- double ... filter_out_ref <= filter_out_expected(TO_INTEGER(filter_out_addr));
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
ClockHighTime
— Период, в который испытательный стенд управляет входными сигналами часов высоко (1) в нс5
(значение по умолчанию) | положительная скалярная величинаПериод, в который испытательный стенд управляет входными сигналами часов высоко (1) в нс, заданном как 5
или положительная скалярная величина. Можно задать целое число или значение с плавающей точкой с двойной точностью, имеющее до 6 значительных цифр после десятичной точки.
Это свойство применяется только, когда свойства GenerateHDLTestBench
и ForceClock
установлены в 'on'
.
ClockLowTime
— Период, в который испытательный стенд управляет входными сигналами часов низко (0) в нс5
(значение по умолчанию) | положительная скалярная величинаПериод, в который испытательный стенд управляет входными сигналами часов низко (0) в нс, заданном как 5
или положительная скалярная величина. Можно задать целое число или значение с плавающей точкой с двойной точностью, имеющее до 6 значительных цифр после десятичной точки.
Это свойство применяется только, когда свойства GenerateHDLTestBench
и ForceClock
установлены в 'on'
.
ForceClock
— Испытательный стенд обеспечивает входные сигналы часов'on'
(значение по умолчанию) | 'off'
Испытательный стенд обеспечивает входные сигналы часов, заданные как одно из следующего:
'on'
— Испытательный стенд обеспечивает входные сигналы часов. Значения свойств ClockHighTime
и ClockLowTime
управляют формой волны часов.
'off'
Необходимо управлять входными сигналами часов из внешнего источника.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
ForceClockEnable
— Часы сил испытательного стенда включают входные сигналы'on'
(значение по умолчанию) | 'off'
Часы сил испытательного стенда включают входные сигналы, заданные как одно из следующего:
'on'
— Силы испытательного стенда часы включают входные сигналы. Полярность активна высокий (1). Этот сигнал также повинуется установке свойства HoldTime
.
'off'
Необходимо управлять часами, включают входные сигналы из внешнего источника.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
TestBenchClockEnableDelay
— Такты между deassertion сброса и утверждением часов включают1
(значение по умолчанию) | положительное целое числоТакты между deassertion сброса и утверждением часов включают, заданный как 1
или положительное целое число. Испытательный стенд ожидает это количество циклов между deasserting сигнал сброса и утверждением, что часы включают сигнал. Свойство HoldTime
также применяется.
В фигуре испытательный стенд deasserts возбуждаемый высоким уровнем сигнала сигнал сброса после того, как интервал маркировал Hold Time
. Испытательный стенд затем утверждает, что часы включают после дальнейшего интервала, маркировал Clock enable delay
.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
ForceReset
— Испытательный стенд обеспечивает входные сигналы сброса'on'
(значение по умолчанию) | 'off'
Испытательный стенд обеспечивает входные сигналы сброса, заданные как одно из следующего:
'on'
— Испытательный стенд обеспечивает входные сигналы сброса. Можно также задать время задержки, чтобы управлять синхронизацией сброса путем установки свойства HoldTime
.
'off'
Необходимо управлять входными сигналами сброса из внешнего источника.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
HoldTime
— Время задержки для значений входных данных и обеспеченного сброса сигнализирует в нс2
(значение по умолчанию) | положительная скалярная величинаВремя задержки для значений входных данных и обеспеченного сброса сигнализирует в нс, заданном как 2
или положительная скалярная величина. Испытательный стенд содержит сигналы ввода данных фильтра и обеспеченные входные сигналы сброса для интервала требуемого времени мимо возрастающего фронта синхроимпульса. Можно задать целое число или значение с плавающей точкой с двойной точностью, имеющее до 6 значительных цифр после десятичной точки.
Следующие данные показывают приложение времени задержки, thold, для сигналов ввода данных и сброса. Сигналы обеспечены к активному, высокому и активному низко. Свойство ResetLength
установлено в 2 цикла, и испытательный стенд утверждает сигнал сброса для в общей сложности 2 циклов плюс thold.
Время задержки для входных сигналов сброса
Время задержки для сигналов ввода данных
Это свойство применяется только, когда свойства GenerateHDLTestBench
и ForceReset
установлены в 'on'
.
ResetLength
— Количество тактов, что испытательный стенд утверждает сигнал сброса2
(значение по умолчанию) | положительное целое числоКоличество тактов, что испытательный стенд утверждает сигнал сброса, заданный как 2
или положительное целое число.
Испытательный стенд по умолчанию утверждает возбуждаемый высоким уровнем сигнала сигнал сброса для 2 тактов.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
HoldInputDataBetweenSamples
— Испытательный стенд содержит входные данные разогнанных, просачивается допустимое состояние'off'
(значение по умолчанию) | 'on'
Испытательный стенд содержит входные данные разогнанных, просачивается допустимое состояние, заданное как 'off'
или 'on'
. Последовательная архитектура и распределенная арифметическая архитектура реализуют внутренние тактовые частоты выше, чем входной уровень. В таких реализациях фильтра основные часы запускают циклы N
(N >= 2
) для каждой входной выборки. Это свойство относится к количеству тактов, что испытательный стенд содержит входные данные в допустимом состоянии.
'off'
Испытательный стенд содержит значения данных в допустимом состоянии для одного такта. Для следующих циклов N-1
данные находятся в неизвестном состоянии (выражены как 'X'
). Принуждение входных данных к неизвестному состоянию проверяет что сгенерированные кодовые регистры фильтра входные данные только на первом цикле.
'on'
— Испытательный стенд содержит значения входных данных в допустимом состоянии через такты N
.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
InitializeTestBenchInputs
— Инициализируйте вход испытательного стенда'off'
(значение по умолчанию) | 'on'
Инициализируйте вход испытательного стенда, заданный как одно из следующего:
'off'
В начале симуляции испытательный стенд управляет неизвестным состоянием (выраженный как 'X'
) к входным портам.
'on'
— В начале симуляции испытательный стенд управляет нулями к входным портам.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
TestBenchStimulus
— Входные стимулы применились к сгенерированному фильтру{'impulse','step','ramp','chirp','noise'}
(значение по умолчанию) | массив ячеек из символьных векторов | массив строкВходные стимулы применились к сгенерированному фильтру, заданному как {'impulse','step','ramp','chirp','noise'}
, массив ячеек из символьных векторов или массив строк. Массив ячеек или массив строк должны быть подмножеством набора по умолчанию стимулов. Можно задать комбинации стимулов в любом порядке. Например:
generatehdl(filt,'InputDataType',numerictype(1,16,15), ... 'GenerateHDLTestbench','on', ... 'TestBenchStimulus',{'ramp','impulse','noise'})
TestBenchUserStimulus
. Когда TestBenchUserStimulus
является непустым вектором, он берет приоритет над TestBenchStimulus
.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
TestBenchUserStimulus
— Custom[]
(пустой вектор) (значение по умолчанию) | вектор входных данныхПользовательский входной стимул, заданный как одно из следующего:
[]
(пустой вектор) — Испытательный стенд использует свойство TestBenchStimulus
сгенерировать входные данные.
Вектор входных данных — испытательный стенд применяет этот входной стимул для сгенерированного фильтра. Можно задать вектор как вызов функции, возвращающий вектор.
Например, этот вызов функции генерирует прямоугольную волну с демонстрационной частотой 8 бит в секунду (Фс/8).
repmat([1 1 1 1 0 0 0 0],1,10)
generatehdl
.generatehdl(filt,'InputDataType',numerictype(1,16,15), ... 'GenerateHDLTestbench','on', ... 'TestBenchUserStimulus',repmat([1 1 1 1 0 0 0 0],1,10))
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
TestBenchCoeffStimulus
— Содействующий стимул для КИХ или БИХ-фильтров[]
(пустой вектор) (значение по умолчанию) | вектор коэффициентов (КИХ фильтрует только), | массив ячеек коэффициента и значений шкалы (БИХ фильтрует только),Содействующий стимул для КИХ или БИХ-фильтров, заданных как одно из следующего:
[]
(пустой вектор) — Испытательный стенд использует коэффициенты объекта фильтра и обеспечивает входные стимулы. Эта последовательность показывает ответ на входные стимулы и проверяет, что интерфейс пишет один набор коэффициентов в содействующую память как ожидалось.
Вектор коэффициентов (КИХ фильтрует только) — фильтр обрабатывает входные стимулы дважды: однажды с коэффициентами объекта фильтра и однажды с содействующим стимулом. Испытательный стенд проверяет, что интерфейс пишет два различных набора коэффициентов в содействующую память. Для получения дополнительной информации смотрите Генерацию Испытательного стенда для Программируемых КИХ-Коэффициентов.
Массив ячеек коэффициента и значений шкалы (БИХ фильтрует только) — Задает стимул как вектор-столбец значений шкалы и матрицы раздела второго порядка (SOS). Фильтр обрабатывает входные стимулы дважды: однажды с коэффициентами объекта фильтра и однажды с содействующим стимулом. Испытательный стенд проверяет, что интерфейс пишет два различных набора коэффициентов в содействующую память. Для получения дополнительной информации смотрите Генерацию Испытательного стенда для Программируемых БИХ-Коэффициентов.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
, и свойство CoefficientSource
установлено в 'ProcessorInterface'
.
TestBenchFracDelayStimulus
— Дробный стимул задержки для односкоростных фильтров Фэрроу'RandSweep'
| 'RampSweep'
Дробный стимул задержки для односкоростных фильтров Фэрроу, заданных как одно из следующего:
Постоянное числовое значение — испытательный стенд управляет дробным входным сигналом задержки с постоянным значением, полученным из объекта фильтра.
Вектор числовых значений — испытательный стенд управляет дробным входным сигналом задержки от этого вектора. Можно задать вектор как вызов функции, возвращающий вектор. Вектор должен иметь ту же длину как входной сигнал испытательного стенда.
'RandSweep'
— Испытательный стенд управляет дробным входным сигналом задержки при помощи вектора значений, инкрементно увеличивающихся по диапазону от 0 до 1. Этот сигнал стимула имеет ту же длительность как входной сигнал к фильтру, но изменяется на более медленном уровне. Каждое дробное значение задержки, полученное из вектора, сохранено на 10% общего времени входного сигнала.
'RampSweep'
— Испытательный стенд управляет дробным входным сигналом задержки при помощи вектора случайных значений от 0 до 1. Этот сигнал стимула имеет ту же длительность как входной сигнал к фильтру, но это изменяется на более медленном уровне. Каждое дробное значение задержки, полученное из вектора, сохранено на 10% общего времени входного сигнала.
Смотрите свойства генерации кода для неоплодотворенных фильтров.
Это свойство применяется только, когда свойство GenerateHDLTestBench
установлено в 'on'
.
TestBenchRateStimulus
— Rate для CIC-фильтровУровень ввел стимул для фильтров Каскадной расчески интегратора (CIC), заданных как максимальный фактор изменения уровня или целое число. Если вы не задаете TestBenchRateStimulus
, кодер принимает, что фильтр разработан с максимальным ожидаемым уровнем. Фактор десятикратного уменьшения (для CIC decimators) или коэффициент интерполяции (для интерполяторов CIC) установлен в этот максимальный фактор изменения уровня.
Смотрите CIC-фильтры с плавающей ставкой.
Это свойство применяется только к CIC-фильтрам с плавающей ставкой, когда свойства GenerateHDLTestBench
и AddRatePort
установлены в 'on'
.
GenerateCosimBlock
— Generate Simulink® HDL блоки Cosimulation'off'
(значение по умолчанию) | 'on'
Сгенерируйте модель Simulink HDL блоки Cosimulation, заданные как 'off'
или 'on'
. Сгенерированная модель Simulink содержит два HDL блоки Cosimulation: один для Mentor Graphics® ModelSim® и один для Cadence Incisive®. Кодер конфигурирует эти блоки, чтобы соответствовать порту и интерфейсу типа данных выбранного фильтра. Используйте эти блоки для cosimulate ваш проект с желаемым симулятором HDL в Simulink.
Эта функция требует лицензии HDL Verifier™.
GenerateCosimModel
— Generate Simulink реализованного фильтра и блока HDL Cosimulation'none'
(значение по умолчанию) | 'ModelSim'
| 'Incisive'
Сгенерируйте модель Simulink реализованного фильтра и блока HDL Cosimulation, заданного как 'none'
, 'ModelSim'
или 'Incisive'
. Когда вы устанавливаете это свойство на 'ModelSim'
или 'Incisive'
, кодер генерирует и открывает модель Simulink. Модель содержит HDL cosimulation блок для выбранного средства моделирования и поведенческая реализация проекта фильтра. Модель применяет сгенерированные входные стимулы и сравнивает вывод средства моделирования EDA с выводом поведенческой подсистемы фильтра. Можно настроить входной стимул и допуск на погрешность с помощью тех же свойств, как вы были бы для сгенерированного испытательного стенда HDL.
Смотрите генерацию модели Simulink для Cosimulation с симулятором HDL.
Эта функция требует лицензии HDL Verifier.
Если вы используете функциональный fdhdltool
, чтобы сгенерировать HDL-код, можно установить соответствующие свойства на вкладке Test Bench в диалоговом окне Generate HDL.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.