exponenta event banner

Распределенная арифметика для фильтров HDL

Распределенная арифметика (DA) - широко используемая методика реализации вычислений суммы произведений без использования множителей. Проектировщики часто используют DA для создания эффективной схемы умножения-накопления (MAC) для фильтров и других приложений DSP. Основным преимуществом DA является его высокая вычислительная эффективность. DA распределяет операции умножения и накопления по блокам сдвига, таблицам поиска (LUT) и сумматорам таким образом, что обычные множители не требуются.

В реализации DA структуры КИХ-фильтра последовательность слов входных данных ширины W подается через параллельно-последовательный сдвиговый регистр, формируя сериализованный поток битов. Затем сериализованные данные подаются в сдвиговый регистр. Этот сдвиговый регистр служит в качестве линии задержки, хранящей битовые последовательные выборки данных.

Линия задержки подключается (на основе размера входного слова W), чтобы сформировать W-bit адрес, который индексирует в таблицу поиска (LUT). LUT хранит все возможные суммы частичных произведений в пространстве коэффициентов фильтра. За LUT следуют сдвиг и сумматор (сумматор масштабирования), который последовательно добавляет значения, полученные из LUT.

Поиск таблицы выполняется последовательно для каждого бита (в порядке значимости, начиная с LSB). В каждом такте результат LUT добавляется к накопленному и сдвинутому результату предыдущего цикла. Для последнего бита (MSB) результат поиска в таблице вычитается с учетом знака операнда.

Эта базовая форма DA является полностью последовательной, работающей на один бит за раз. Если последовательность входных данных W bits wide, то структура FIR принимает W тактовых циклов для вычисления выходного сигнала. Симметричные и асимметричные структуры FIR являются исключением, требующим W+1 , поскольку один дополнительный тактовый цикл необходим для обработки бита переноса предварительных сумматоров.

Вы можете управлять тем, как создается код DA, с помощью DALUTPartition и DARadix параметры реализации. DALUTPartition и DARadix параметры имеют определенные требования и ограничения, специфичные для различных типов фильтров. Эти требования включены в обсуждение каждого параметра.

  • Уменьшение размера LUT: DALUTPpartition

  • Повышение производительности благодаря параллелизму: DARadix

Для получения информации о теоретических основах DA см. Дополнительные ссылки.

Требования и соображения по созданию распределенного арифметического кода

Требуется квантование с фиксированной точкой

Генерация кода DA поддерживается только для конструкций фильтров с фиксированной точкой.

Задание точности фильтра

Тракт данных в коде HDL, генерируемом для архитектуры DA, тщательно оптимизирован для вычислений с полной точностью. Результат фильтра приводится к размеру выходных данных только на заключительном этапе, когда он представляется на выходе.

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

Коэффициенты с нулевыми значениями

DA игнорирует отводы, которые имеют нулевые коэффициенты, и соответственно уменьшает размер DA LUT.

Рекомендации по симметричным и асимметричным фильтрам

Для симметричных и асимметричных фильтров:

  • Для добавления значений данных отводов, которые имеют коэффициенты равной величины и/или противоположный знак, требуется предварительный сумматор битового уровня или предварительный блок. Для вычисления результата требуется один дополнительный тактовый цикл из-за дополнительного бита переноса.

  • ЛПВП Coder™, где это возможно, использует преимущества симметрии фильтра. Это существенно уменьшает размер DA LUT, поскольку эффективная длина фильтра для этих типов фильтров уменьшается вдвое.

Дополнительные ссылки

Подробное обсуждение теоретических основ DA появляется в следующих публикациях:

  • Meyer-Baese, U., Цифровая обработка сигналов с помощью программируемых на местах логических матриц, второе издание, Springer, pp 88-94, 128-143

  • White, S.A., Приложения распределенной арифметики для цифровой обработки сигналов: Учебное пособие. Журнал IEEE ASSP, том 6, № 3