Научная статья на тему 'Оценка эффективности алгоритмов цифровой обработки сигналов при конвейерной реализации'

Оценка эффективности алгоритмов цифровой обработки сигналов при конвейерной реализации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
211
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
CORDIC-АЛГОРИТМ / КОНВЕЙЕР ДАННЫХ / МОДУЛЬ ВЕКТОРА / ПРОГРАММИРУЕМЫЕ ВЕНТИЛЬНЫЕ МАТРИЦЫ (FPGA) / ЦИФРОВАЯ ОБРАБОТКА СИГНАЛА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Токарев Вадим Анатольевич, Хлуденев Александр Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Токарев Вадим Анатольевич, Хлуденев Александр Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

This paper deals with the efficiency of pipeline-oriented digital signal processing algorithm. A comparative analysis of the results of a vector magnitude calculation is presented.

Текст научной работы на тему «Оценка эффективности алгоритмов цифровой обработки сигналов при конвейерной реализации»

ТОКАРЕВ В. А., ХЛУДЕНЕВ А. В.

ОЦЕНКА ЭФФЕКТИВНОСТИ АЛГОРИТМОВ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ ПРИ КОНВЕЙЕРНОЙ РЕАЛИЗАЦИИ Аннотация. В статье рассматриваются вопросы эффективности алгоритмов, ориентированных на построение конвейеров цифровой обработки сигналов. Представлены результаты сравнительного анализа для задачи определения модуля вектора.

Ключевые слова: цифровая обработка сигнала, модуль вектора, конвейер данных, программируемые вентильные матрицы (FPGA), CORDIC-алгоритм.

TOKAREV V. A., HLUDENEV A. V.

EFFICIENCY EVALUATION OF PIPELINE-ORIENTED DIGITAL SIGNAL PROCESSING ALGORITHMS Abstract. This paper deals with the efficiency of pipeline-oriented digital signal processing algorithm. A comparative analysis of the results of a vector magnitude calculation is presented.

Keywords: digital signal processing, vector magnitude, data pipeline, field programmable gate array (FPGA), CORDIC algorithm.

При выборе алгоритмов цифровой обработки сигналов (ЦОС) для аппаратной реализации обязательно принимаются во внимание критерии эффективности конкурирующих альтернативных вариантов. К числу основных критериев относятся показатели точности, быстродействия и аппаратных затрат. Учитывая тот факт, что тракты ЦОС обычно реализуются как конвейеры данных, в качестве показателей быстродействия можно использовать пропускную способность конвейера, которая однозначно определяется форматом входных данных и тактовой частотой, а также задержку латентности. Стоимость аппаратных затрат определяется количеством задействованных базовых элементов.

В работе представлены результаты сравнительного анализа эффективности алгоритмов для достаточно распространенной задачи ЦОС, связанной с определением модуля вектора < X , Y > = X + jY

где X и Y - дискретные отсчеты сигналов в квадратурных каналах; Z - дискретный отсчет модуля.

Известны различные алгоритмы, ориентированные на аппаратную реализацию операции. Например, в специализированной БИС PDSP16330 (Pythagoras Processor) использован конвейер, построенный на двух квадраторах, сумматоре и вычислителе

(1)

квадратного корня. Операнды и результат имеют 16 разрядов, при этом обеспечивается работа на тактовой частоте 10-5 МГц при задержке латентности 24 такта [1].

В качестве альтернативы была выбрана конвейерная реализация CORDIC-алгоритма. Итерационные алгоритмы CORDIC известны еще с пятидесятых годов прошлого века [2]. За их долгую историю неоднократно появлялся всплеск интереса к ним [3]. Один из последних связан с массовым производством и применением программируемых вентильных матриц (FPGA) [4; 5]. Регулярная структура FPGA привлекательна для аппаратной реализации итерационных алгоритмов ЦОС именно в конвейеризованной форме.

CORDIC-алгоритмы используют только две базовые операции машинной арифметики - сложение и сдвиг. С этой точки зрения их можно считать первым практическим примером применения распределенной арифметики. Хотя сам этот термин появился намного позднее применительно к цифровым фильтрам и другим устройствам ЦОС, построенным без использования умножителей и других узлов, которые сами реализуются на основе сумматоров и сдвигателей.

Для получения сравнительных оценок эффективности прямого алгоритма для вычисления модуля вектора и CORDIC-алгоритма были построены два восьмиразрядных конвейера на платформе FPGA EP1C3T144-8 семейства Cyclone. Синтез выполнялся средствами системы Quartus II Web Edition v8.10 без использования опций оптимизации и задания ограничений.

Для реализации прямого алгоритма были использованы параметризируемые библиотечные мегафункции от Altera Corp.:

- умножителя LPM_MULT (для возведения в квадрат);

- сумматора-вычитателя LPM_ADD_SUB (для сложения);

- вычислителя квадратного корня ALTSQRT.

Все модули имели регистровые выходы и тактировались от одной глобальной шины синхронизации. Функциональная схема конвейера приведена на рисунке 1.

Рис. 1. Конвейерная реализация прямого алгоритма.

Использование параметризируемых модулей позволило оптимизировать эту

структуру по быстродействию. Оптимизация выполнялась путем варьирования числа

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

Проведенные эксперименты показали, что уже при двух ступенях модуль возведения в

квадрат имел пропускную способность, близкую к пропускной способности сумматора.

Предельная частота тракта «регистр - сумматор» (с регистровым выходом) для FPGA

EP1C3T144-8 составила 275 МГц. Увеличение числа ступеней конвейера для вычислителя

квадратного корня с 1 до 12 привело к повышению предельной частоты с 71 МГц только

лишь до 160 МГц. Дальнейшее увеличение числа ступеней к повышению предельной

частоты уже не приводило.

Затраты на реализацию с одноступенчатыми модулями составили 277 LE (логических

элементов FPGA). Для варианта с двухступенчатым модулем возведения в квадрат и 12

ступенчатым модулем вычислителя квадратного корня потребовалось 402 LE.

Функциональная схема 8-разрядного конвейера на рисунке 2 реализует алгоритм CORDIC:

Х(+1 = X — й ' У( • 2'\

(2)

У+1 = Уг + й • Хг • Г,

где г= 0,.., п - индекс итерации;

йг = ± 1 в зависимости от знака Уг (й= +1, если Уг < 0, иначе йг= -1).

Рис. 2. Конвейерная реализация CORDIC-алгоритма.

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

X = А -VX02 + У()2,

У„ = 0, (3)

An =Ш1 + ■

n

В схеме использован «монтажный» сдвиг (wired shift), а сумматоры-вычитатели имеют регистровый выход и тактируются от одной глобальной шины синхронизации. С учетом входных регистров (на рисунке 2 не показаны) задержка латентности составляет 6 тактов.

Данная структура и ее функциональные узлы были описаны на языке AHDL. По результатам компиляции, размещения и трассировки проекта затраты аппаратных ресурсов составили 114 LE. Предельное значение тактовой частоты составило 221 МГц.

Полученные результаты приведены в таблице 1. Их сравнительный анализ позволяет сделать вывод об очевидных преимуществах варианта реализации CORDIC-алгоритма.

Таблица 1

Показатели эффективности реализации алгоритмов

Вариант реализации Аппаратные Предельная тактовая Задержка

затраты, LE частота, МГц латентности

Прямой с одноступенчатыми 277 71 4

модулями

Прямой с 402 152 16

многоступенчатыми

модулями

сокотс 114 221 6

ЛИТЕРАТУРА

1. Digital Video & DSP IC Handbook: HB3923-1: DS3884. - 1-3 September, 1996. - 12 р.

2. Voider J. E. The CORDIC trigonometric computing technique // IRE Trans. Electr. comput. - 1959. - С8, No. 3. - pp. 330-334.

3. Байков В. Д., Смолов В. Б. Специализированные процессоры: итерационные алгоритмы и структуры. - М.: Радио и связь, 1985. - 288 с.

4. Andraka R. A survey of CORDIC algorithms for FPGA based computers FPGA '98 // Proceedings of the 1998 ACM/SIGDA sixth international symposium on Field programmable gate arrays, Feb. 22-24, 1998, Monterey, CA. - pp. 191-200.

5. Lakshmi B., Dhar A. S. CORDIC Architectures: A Survey // Journal: VLSI Design, January 2010 [Электронный ресурс]. - Режим доступа: http://www.hindawi.com/] ournals/vlsi/2010/.

i Надоели баннеры? Вы всегда можете отключить рекламу.