Сгенерируйте и настройте HDL- испытательного стенда
С помощью свойств HDL- испытательного стенда можно включать и настраивать генерацию испытательного стенда.
Задайте эти свойства как аргументы имя-значение для 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
_tbfiltername
- имя сгенерированной сущности VHDL или модуля Verilog. Вы можете настроить это имя путем установки 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
свойства. Например, если имя сгенерированной сущности VHDL или модуля Verilog my_fir_filt
имена испытательных стендов по умолчанию:
my_fir_filt_tb
- Испытательный стенд
my_fir_filt_tb_pkg
- Пакет функций Helper
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
- Период, в течение которого испытательный стенд управляет входными сигналами синхроимпульса low (0) в нс5
(по умолчанию) | положительная скалярная величинаПериод, в течение которого испытательный стенд управляет входными сигналами синхроимпульса low (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
- Тактовые импульсы между отключением сброса и установкой включения синхроимпульса1
(по умолчанию) | положительное целое числоТактовые импульсы между отключением сброса и установкой включения синхроимпульса, заданные как 1
или положительное целое число. Испытательный стенд ожидает такое количество циклов между отключением сигнала сброса и утверждением сигнала включения синхроимпульса. The HoldTime
также применяется свойство.
На рисунке испытательный стенд отключает сигнал сброса активный-высокий после интервала, обозначенного Hold Time
. Затем испытательный стенд устанавливает активацию синхроимпульса через дополнительный интервал времени, обозначенный Clock enable delay
.
Это свойство применяется только когда GenerateHDLTestBench
для свойства задано значение 'on'
.
ForceReset
- Испытательный стенд вводит входные сигналы сброса'on'
(по умолчанию) | 'off'
Испытательный стенд выдает входные сигналы сброса, заданные как один из следующих:
'on'
- Испытательный стенд выдает входные сигналы сброса. Можно также задать время удержания для управления синхронизацией сброса путем установки HoldTime
свойство.
'off'
- Вы должны управлять входными сигналами сброса от внешнего источника.
Это свойство применяется только когда GenerateHDLTestBench
для свойства задано значение 'on'
.
HoldTime
- Задержка значений входных данных и сигналов принудительного сброса в ns2
(по умолчанию) | положительная скалярная величинаВремя удержания значений входных данных и сигналов принудительного сброса в ns, заданное как 2
или положительная скалярная величина. Испытательный стенд содержит входные сигналы данных фильтра и входные сигналы принудительного сброса в течение заданного временного интервала после возрастающего ребра синхроимпульса. Можно задать целое число или значение с двойной точностью с плавающей точностью с максимум 6 значащими цифрами после десятичной точки.
Следующие рисунки показывают применение времени удержания, thold, для входных сигналов сброса и данных. Сигналы вынуждены быть активными высокими и активными низкими. The 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
- Пользовательский входной стимул[]
(пустой вектор) (по умолчанию) | вектор входных данныхПользовательский входной стимул, заданный как один из следующих:
[]
(пустой вектор) - испытательный стенд использует TestBenchStimulus
свойство для генерации входных данных.
Вектор входных данных - испытательный стенд применяет этот входной стимул к сгенерированному фильтру. Можно задать вектор как вызов функции, возвращающий вектор.
Для примера этот вызов функции генерирует квадратную волну с частотой дискретизации 8 битом в секунду (Fs/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'
Дробный стимул задержки для односкоростных фильтров Фэрроу, заданный как одно из следующего:
Постоянное числовое значение - испытательный стенд управляет дробной задержкой входа сигналом с постоянным значением, полученным от объекта фильтра.
Вектор числовых значений - The испытательного стенда управляет дробной задержкой входа сигналом от этого вектора. Можно задать вектор как вызов функции, возвращающий вектор. Вектор должен иметь ту же длину, что и входной сигнал испытательного стенда.
'RandSweep'
- испытательный стенд управляет входным сигналом дробной задержки с помощью вектора значений, постепенно увеличивающихся в области значений от 0 до 1. Этот стимулирующий сигнал имеет ту же длительность, что и входной сигнал к фильтру, но изменяется с меньшей скоростью. Каждое значение дробной задержки, полученное из вектора, удерживается в течение 10% от общей длительности входного сигнала.
'RampSweep'
- испытательный стенд управляет входным сигналом дробной задержки с помощью вектора случайных значений от 0 до 1. Этот стимулирующий сигнал имеет ту же длительность, что и входной сигнал к фильтру, но он изменяется с меньшей скоростью. Каждое значение дробной задержки, полученное из вектора, удерживается в течение 10% от общей длительности входного сигнала.
Смотрите Свойства Генерации кода для Farrow Filters.
Это свойство применяется только когда GenerateHDLTestBench
для свойства задано значение 'on'
.
TestBenchRateStimulus
- Входной стимул скорости для CIC-фильтровВходной стимул скорости для фильтров Cascaded Integrator-Comb (CIC), заданный как коэффициент изменения максимальной скорости или целое число. Если вы не задаете TestBenchRateStimulus
кодер принимает, что фильтр разработан с максимально ожидаемой скоростью. Коэффициент десятикратного уменьшения (для CIC дециматоров) или коэффициент интерполяции (для CIC интерполяторов) устанавливается на этот коэффициент изменения максимальной скорости.
См. Раздел «Переменная скорость CIC-фильтров».
Это свойство применяется только к CIC-фильтрам с переменной скоростью, когда GenerateHDLTestBench
и AddRatePort
для свойств задано значение 'on'
.
GenerateCosimBlock
- Сгенерируйте Simulink® модель HDL блоков косимуляции'off'
(по умолчанию) | 'on'
Сгенерируйте модель Simulink блоков косимуляции HDL, заданную как 'off'
или 'on'
. Сгенерированная модель Simulink содержит два блока HDL Cosimulation: один для Mentor Graphics® ModelSim® и один для Cadence Incisive®. Кодер конфигурирует эти блоки так, чтобы они соответствовали интерфейсу port and data type выбранного фильтра. Используйте эти блоки, чтобы косимулировать ваш проект с помощью желаемого симулятора HDL в Simulink.
Для этой функции требуется лицензия HDL Verifier™.
GenerateCosimModel
- Сгенерируйте Simulink модель реализованного фильтра и HDL блока Косимуляции'none'
(по умолчанию) | 'ModelSim'
| 'Incisive'
Сгенерируйте Simulink модель реализованного фильтра и HDL блока Косимуляции, заданную как 'none'
, 'ModelSim'
, или 'Incisive'
. Когда вы устанавливаете это свойство на 'ModelSim'
или 'Incisive'
кодер генерирует и открывает модель Simulink. Модель содержит блок косимуляции HDL для выбранного симулятора и поведенческую реализацию создания фильтра. Модель применяет сгенерированные входные стимулы и сравнивает вывод симулятора EDA с выходом подсистемы поведенческого фильтра. Можно настроить стимул входа и запас по ошибкам, используя те же свойства, что и для сгенерированных HDL- испытательного стенда.
Смотрите Генерацию модели Simulink для косимуляции с помощью Симулятор HDL.
Для этой функции требуется лицензия HDL Verifier.
Если вы используете функцию fdhdltool
для генерации HDL-кода можно задать соответствующие свойства на вкладке Test Bench в диалоговом окне Генерация HDL.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.