По умолчанию сгенерированный HDL-код совместим с числовыми результатами, произведенными исходным объектом фильтра. Опция Optimize for HDL генерирует HDL-код, который слегка оптимизирован для требований к тактовой частоте или пространству. Однако эта оптимизация заставляет кодер:
Реализуйте структуру дерева сумматоров
Сделайте компромиссы относительно типов данных.
Избегайте дополнительного квантования.
Сгенерируйте код, который производит числовые результаты, которые отличаются от результатов, полученных исходным объектом фильтра.
Чтобы оптимизировать сгенерированный код для тактовой частоты или требований к пространству:
Выберите Optimize for HDL на Filter architecture панели диалогового окна Генерация HDL.
Рассмотрите установку запаса по ошибке для сгенерированного испытательного стенда. Запас по ошибке - это количество наименее значимых битов, которые испытательный стенд игнорирует при сравнении результатов. Чтобы задать поле ошибки,
Выберите панель Test Bench в диалоговом окне Генерация HDL. Затем перейдите на вкладку Configuration.
Установите поле Error margin (bits) в целое число, которое указывает на максимально допустимое количество бит различия в числовых результатах.
Продолжите установку других опций или щелкните Generate, чтобы инициировать генерацию кода.
Альтернатива командной строки: используйте generatehdl
функция со свойством OptimizeForHDL
чтобы включить эти оптимизации.
Индивидуальные настройки, которые обеспечивают оптимизацию, могут сгенерировать испытательный стенд, который приводит к числовым результатам, которые отличаются от результатов, полученных исходным объектом фильтра. Эти опции включают:
Optimize for HDL
FIR adder style установлено на Tree
Add pipeline registers для конечной импульсной характеристики, асимметричных конечных импульсных характеристик и симметричных конечных импульсных характеристик фильтров
Если вы решите использовать эти опции, рассмотрите установку запаса по ошибке для сгенерированного испытательного стенда, чтобы учесть различия в числовых результатах. Запас по ошибке - это количество наименее значимых битов, которые испытательный стенд игнорирует при сравнении результатов. Чтобы задать поле ошибки:
Выберите панель Test Bench в диалоговом окне Генерация HDL.
На панели Test Bench выберите подпанель Configuration.
Для фильтров с фиксированной точкой поле начального Error margin (bits) имеет значение по умолчанию 4
. Чтобы изменить поле ошибки, введите целое число в поле Error margin (bits). На рисунке ошибки поле установлено на 4
биты.
Альтернатива командной строки: используйте generatehdl
функция со свойством ErrorMargin
для установки допуска сравнения.