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

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

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

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

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

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

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

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

  • Улучшите эффективность при параллелизме: DARadix

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

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

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

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

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

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

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

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

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

Факторы относительно симметричных и асимметричных фильтров

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

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

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

Дальнейшие ссылки

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

  • Meyer-Baese, U., Цифровая обработка сигналов с программируемыми полевыми массивами ворот, Second Edition, Springer, pp 88-94, 128-143

  • White, S.A., Applications of Distributed Arithmetics to Digital Signal Processing: A Tutorial Review. Журнал IEEE ASSP, том 6, № 3