exponenta event banner

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

Оптимизация для ЛПВП

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

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

  • Проведение компромиссов в отношении типов данных.

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

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

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

  1. Выберите Оптимизировать для ЛПВП (Optimize for HDL) на панели Архитектура фильтра (Filter architecture) диалогового окна Создать ЛПВП (Generate HDl

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

    1. Выберите панель Test Stench в диалоговом окне Generate HDL. Затем перейдите на вкладку Конфигурация.

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

  3. Продолжите настройку других параметров или нажмите кнопку «» Создать «», чтобы инициировать создание кода.

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

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

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

  • Оптимизация для ЛПВП

  • Для стиля сумматора FIR установлено значение Tree

  • Добавление регистров трубопроводов для КИХ, асимметричных КИХ и симметричных КИХ-фильтров

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

  1. Выберите панель Test Stench в диалоговом окне Generate HDL.

  2. На панели «Test Bench» (Испытательный стенд) выберите подпанель «Configuration» (Конфигурация).

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

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