По умолчанию кодер создает код, включающий множители коэффициентов. Эти операции можно оптимизировать для уменьшения площади и сохранения или увеличения тактовой частоты. Операции множителя можно заменить дополнениями частичных продуктов, производимых каноническими цифрами со знаком (CSD) или факторизованными методами CSD. Эти методы минимизируют количество операций сложения, необходимых для постоянного умножения, путем представления двоичных чисел с минимальным числом ненулевых цифр. Оптимизация зависит от двоичного представления используемых коэффициентов.
Примечание
Кодер не использует операции умножения коэффициентов для многоскоростных фильтров. Поэтому опции множителей коэффициентов отключены для многоскоростных фильтров.
Для оптимизации множителей коэффициентов (для немультикратных типов фильтров):
Выбрать CSD или Factored-CSD в меню Множители коэффициентов на панели Архитектура фильтра (Filter architecture) диалогового окна Генерировать ЛПВП (Generate HDL).
Чтобы учесть числовые различия, попробуйте установить запас ошибки для созданного стенда. При сравнении результатов тестовый стенд игнорирует количество младших битов, указанное в поле ошибки. Чтобы задать поле ошибки,
Выберите панель Test Stench в диалоговом окне Generate HDL. Затем перейдите на вкладку Конфигурация.
Установите в поле Error margin (bits) целое число, указывающее максимально допустимое число разностей в числовых результатах.
Продолжите настройку других параметров или нажмите кнопку «» Создать «», чтобы инициировать создание кода.
Если создается код для фильтра FIR, см. сведения о связанной оптимизации в разделе Ввод и вывод множителя для фильтров FIR.
Альтернатива командной строки: generatehdl функция со свойством CoeffMultipliers оптимизировать множители коэффициентов методами CSD.