Общая оптимизация кода HDL-фильтра

Оптимизируйте для HDL

По умолчанию сгенерированный HDL-код совместим с числовыми результатами, произведенными исходным объектом фильтра. Опция Optimize for HDL генерирует HDL-код, который слегка оптимизирован для требований к тактовой частоте или пространству. Однако эта оптимизация заставляет кодер:

  • Реализуйте структуру дерева сумматоров

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

  • Избегайте дополнительного квантования.

  • Сгенерируйте код, который производит числовые результаты, которые отличаются от результатов, полученных исходным объектом фильтра.

Чтобы оптимизировать сгенерированный код для тактовой частоты или требований к пространству:

  1. Выберите Optimize for HDL на Filter architecture панели диалогового окна Генерация HDL.

  2. Рассмотрите установку запаса по ошибке для сгенерированного испытательного стенда. Запас по ошибке - это количество наименее значимых битов, которые испытательный стенд игнорирует при сравнении результатов. Чтобы задать поле ошибки,

    1. Выберите панель Test Bench в диалоговом окне Генерация HDL. Затем перейдите на вкладку Configuration.

    2. Установите поле Error margin (bits) в целое число, которое указывает на максимально допустимое количество бит различия в числовых результатах.

  3. Продолжите установку других опций или щелкните Generate, чтобы инициировать генерацию кода.

Альтернатива командной строки: используйте generatehdl функция со свойством OptimizeForHDL чтобы включить эти оптимизации.

Установите запас по ошибке для испытательного стенда

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

  • Optimize for HDL

  • FIR adder style установлено на Tree

  • Add pipeline registers для конечной импульсной характеристики, асимметричных конечных импульсных характеристик и симметричных конечных импульсных характеристик фильтров

Если вы решите использовать эти опции, рассмотрите установку запаса по ошибке для сгенерированного испытательного стенда, чтобы учесть различия в числовых результатах. Запас по ошибке - это количество наименее значимых битов, которые испытательный стенд игнорирует при сравнении результатов. Чтобы задать поле ошибки:

  1. Выберите панель Test Bench в диалоговом окне Генерация HDL.

  2. На панели Test Bench выберите подпанель Configuration.

  3. Для фильтров с фиксированной точкой поле начального Error margin (bits) имеет значение по умолчанию 4. Чтобы изменить поле ошибки, введите целое число в поле Error margin (bits). На рисунке ошибки поле установлено на 4 биты.

Альтернатива командной строки: используйте generatehdl функция со свойством ErrorMargin для установки допуска сравнения.