Оценка эффективности применения ПЛИС и процессоров DSP для задач цифровой обработки сигналов

2

ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ

СИСТЕМЫ

ОЦЕНКА ЭФФЕКТИВНОСТИ ПРИМЕНЕНИЯ ПЛИС И ПРОЦЕССОРОВ DSP ДЛЯ ЗАДАЧ ЦИФРОВОЙ ОБРАБОТКИ

СИГНАЛОВ

А.Г. Черемисин

В статье рассматриваются основные преимущества и недостатки применения ПЛИС и процессоров DSP применительно к задаче цифровой обработки сигналов. Приводится сравнение вычислительных возможностей современных представителей микросхем ПЛИС и процессоров DSP на примере реализации целочисленного преобразования Фурье.

Введение

При создании устройств цифровой обработки сигнала во главу угла всегда ставится элементная база. В настоящее время большинство разработчиков использует для реализации алгоритмов обработки цифровые сигнальные процессоры (DSP) общего назначения.

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

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

Как известно, альтернативой DSP при реализации цифровых устройств являются ПЛИС (программируемые логические интегральные схемы). В числе их главных достоинств обычно отмечают следующие: возможность реализации сложных параллельных алгоритмов; наличие средств САПР, позволяющих проводить полное моделирование систем; совместимость при переводе алгоритмов на уровне языков описания аппаратуры (VHDL, AHDL, Verilog и др.); наличие библиотек программ, описывающих сложные алгоритмы.

Возможности современных ПЛИС и DSP

История развития DSP процессоров и ПЛИС началась примерно в одно и тоже время - в конце 70-х годов прошлого века. Однако в первые десятилетия после появления процессоры развивались более стремительно, вследствие чего получили большее распространение и стали стандартным решением для реализации алгоритмов ЦОС. В эти годы ПЛИС продолжали совершенствоваться, однако не получали широкого распространения и применялись для узкого круга задач. За это время был приобретен большой опыт разработки и реализации проектов ЦОС на сигнальных процессорах.

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

С созданием проектов для ПЛИС также не все так просто. В последнее десятилетие рынок микросхем ПЛИС характеризовался бурным развитием и популярностью. Это объясняется тем, что данный класс микросхем стал предоставлять весьма широкие возможности, развитие технологии изготовления ПЛИС позволило догнать, а в некоторых случаях и обогнать процессоры в гонке частот, притом, что ПЛИС позволяют вести параллельную обработку данных. Однако при создании проектов для ПЛИС разработчики столкнулись с рядом проблем. Во-первых, описание таких проектов требует навыков, несколько отличных от программирования. Во-вторых, огромный опыт описания различных алгоритмов для сигнальных процессоров, как оказалось, весьма трудно переложить на аппаратную реализацию.

Идя навстречу разработчикам, ведущие фирмы-производители ПЛИС, такие как Altera и Xilinx, наряду с предоставляемыми ими устройствами, предлагают также готовые, настраиваемые, функциональные блоки, выполняющие типичные функции, используемые в цифровой обработке сигналов. Фирма Altera, в частности, предлагает блоки выполняющие быстрые преобразования Фурье, а также блоки, в которые включены различные наборы КИХ-фильтров. Производителями предлагается также ряд программных пакетов, призванных упростить разработку проекта и сократить сроки его выхода на рынок.

Приведем программные пакеты, предлагаемые фирмами Altera и Xilinx.

• Altera:

- DSP Builder,

- ModelSim Altera Edition,

- SOPC Builder,

• Xilinx:

- System Generator for DSP,

- AccelChip DSP Synthesis,

- The Mathworks & Simulink.

Эти программные продукты упрощают процесс создания, а также позволяют производить полное моделирование систем DSP.

Вернемся все же к возможностям, предоставляемым процессорами и микросхемами программируемой логики. Для сопоставления вычислительных возможностей микросхем этих направлений нами выбрано несколько современных представителей процессоров DSP и ПЛИС известных фирм. В данном обзоре рассматриваются микросхемы ПЛИС с архитектурой FPGA. Этот класс микросхем является на сегодняшний день наиболее распространенным и интенсивно развивающимся. Микросхемы FPGA из всех классов, представленных на рынке ПЛИС, характеризуются наибольшей емкостью и быстродействием.

В качестве показателя для оценки производительности было выбрано время выполнения алгоритма быстрого целочисленного преобразования Фурье. В таблице приведены некоторые сведения о скорости выполнения такого преобразования на процессорах DSP, а также на микросхемах ПЛИС с реализованными в них IP блоками.

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

работки. С ПЛИС ситуация иная: в них степень загруженности микросхемы определяется количеством ресурсов (макроячеек, DSP блоков, аппаратных умножителей и т.д.), занимаемых реализованным в ней проектом. Поэтому добавление новых функций практически никак не отражается на скорости работы старых.

Устройство Число тактов преобразования Время преобразования (мкс) Максимальная частота работы Максимальное число параллельных преобразований

Altera Stratix II EP2S15F484C3 [1] 491 1,51 324,36 10-115

Xilinx Virtex 4 XC4VSX25 [4, 5] 1400 2,8 500 16-49

Analog Devices TigerSHARC ADSP-TS201S [6] 585 0,975 600 1

Texas Instruments TMS320C6455 [7] 806 0,806 1000 1

Таблица. Преобразование Фурье с фиксированной точкой (алгоритм Radix - 2, длина

16 бит, число отсчетов 256)

В сравнении, приведенном выше, не учитывался такой важный показатель, как стоимость микросхем. Однако при построении любой коммерческой системы этот показатель нельзя не учитывать. Стоимость процессоров DSP, приведенных в таблице, составляет, в зависимости от исполнения, 150-200$, тогда как стоимость микросхем ПЛИС, рассмотренных выше, начинается примерно с 300$ для микросхем минимальной емкости и доходит без малого до 10000$ за микросхему максимальной емкости. Однако, что касается ПЛИС, то рассмотренные здесь семейства являются наиболее дорогими из представленных на сегодняшнем рынке. Существуют также и бюджетные семейства ПЛИС, такие как Altera Cyclone II и Xilinx Spartan [3, 4]. Цены на микросхемы этих семейств лежат в пределах 10-300$, что часто дешевле высокопроизводительных процессоров. При этом, если сравнивать микросхемы этих семейств с ПЛИС семейств Stratix или Virtex, нетрудно заметить следующие зависимости. Микросхемы бюджетных семейств обладают в среднем в 2-3 раза меньшей емкостью, работают на частотах в 2-3 раза меньше, и реализация в них тех же функций потребует в 1,5-2 раза большего числа макроячеек по сравнению с высокопроизводительными микросхемами семейств Stratix и Virtex [2-4].

Если сравнить бюджетные семейства ПЛИС с высокопроизводительными DSP-процессорами по производительности, мы увидим, что при схожих ценах процессоры выигрывают в скорости выполнения преобразования Фурье примерно на порядок, однако столько же проигрывают при параллельной обработке данных.

Все приведенные выше рассуждения касались обработки целочисленных данных. Если же стоит задача обработки данных с плавающей точкой, преимущество вновь получают процессоры DSP. Современные процессоры способны выполнять многие операции с плавающей точкой за один такт, что недоступно для ПЛИС. Производители микросхем ПЛИС поставляют готовые IP-блоки и программные продукты, призванные упростить разработку проектов, в которых требуется обработка данных с плавающей точкой. Однако в современных ПЛИС еще не появилось никакой аппаратной поддержки для работы с нецелочисленными данными, а это приводит к тому, что функции, работающие с такими данными, являются весьма ресурсоемкими и способны работать лишь на сравнительно небольших частотах.

Заключение

• Применение ПЛИС выгодно при построении систем, в которых требуется многоканальная обработка данных или многоступенчатая фильтрация.

• ПЛИС позволяют эффективно реализовать сложные параллельные алгоритмы даже на микросхемах относительно недорогих семейств.

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

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

Литература

1. FFT MegaCore Function User Guide. / Altera, 101 Innovation Drive, San Jose, CA 95134 (408) 544-7000, www.altera.com

2. Stratix II Device Handbook. / Altera, 101 Innovation Drive, San Jose, CA 95134 (408) 544-7000, www.altera.com

3. Cyclone II Device Family Data Sheet. / Altera, 101 Innovation Drive, San Jose, CA 95134 (408) 544-7000, www.altera.com

4. Fast Fourier Transform v3.2. / Xilinx, 2100 Logic Drive, San Jose, CA 95124-3400, USA, www.xilinx.com

5. Virtex-4 Family Overview. / Xilinx, 2100 Logic Drive, San Jose, CA 95124-3400, USA, www.xilinx.com

6. TigerSHARC Processor Benchmarks. / Analog devices, www.analog.com

7. TMS320C64x Core Benchmarks. / Texas Instruments, www.ti.com