DSP ускоряет разработку систем на базе DSP+FPGA


PDF версия

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

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

На рисунке 1 показаны некоторые инфраструктурные системы, которые объединяет одна общая черта — требования к их производительности превышают возможности традиционного программируемого DSP. У этих систем, однако, разная производительность и точность, а также схема реализации и процесс разработки.

Например, для обработки видео требуется 9-…12-бит разрешение, причем в некоторых современных системах необходимо установить 12-бит глубину цвета. Для ускорения процесса разработки такие системы реализуются с помощью языка HDL, а также IP-функций обработки видео и изображений.

На другом конце спектра приложений находятся военные радарные системы (см. рис. 1), которые требуют от DSP самой высокой производительности и точности в режиме с плавающей запятой для обеспечения приемлемого динамического диапазона. Многие из этих систем моделируются с помощью MATLAB и Simulink наряду с функциями режима с плавающей запятой, оптимизированными под архитектуру FPGA.

Рис. 1. Для разных приложений требуются разные характеристики, точность, IP-блоки и средства проектирования

Определение точности FPGA в зависимости от приложения

При выборе архитектуры FPGA+DSP следует избегать произвольного изменения точности алгоритма, обеспеченного поставщиком FPGA.

Традиционно в состав FPGA включаются стандартные блоки DSP для прецизионной обработки сигнала, что приводит либо к потере драгоценных ресурсов кристалла, либо к необходимости разделять систему на несколько блоков, из-за чего снижается ее производительность. Например, при реализации приложений по обработке HD-видео — систем, в которых, как правило, используется операция умножения 9×9, точность архитектуры DSP 18×25 выходит за пределы необходимой.

Или, например, при разработке сложных умножителей — стандартных блоков БПФ-функций в высокопроизводительных DSP-системах — DSP-блоки, как правило, располагаются каскадами для поддержки сложных операций умножения 18×25 или 18×36. Необходимо, чтобы разрядность каскадной шины DSP-блоков и аккумулятора была достаточно большой во избежание переполнения. Типовая трассировка в FPGA может снизить производительность. Кроме того, если разрядность каскадной шины или аккумулятора недостаточно велика, погрешность может возникнуть уже на предыдущем каскаде, до начала трассировки следующего DSP-блока.

При желании реализовать цифровую обработку с плавающей запятой в определенной части системы, потребуется 24-бит или более высокая точность для умножения мантиссы в формате одинарной точности. При выборе архитектуры FPGA+DSP необходимо обеспечить поддержку ею нескольких уровней точности и достаточно большую разрядность каскадной шины, чтобы удовлетворить требованиям системы. Например, 28-нм архитектура блока DSP поддерживает следующие режимы точности:

– три независимых 9×9;

– два 18×18 в режиме работы на суммарной частоте;

– два 18×18 с 32-бит разрешением;

– один независимый 18×25 или 18×36;

– один независимый 27×27.

Одной из наиболее распространенных функций, реализуемых в FPGA, является КИХ-фильтрация. Необходимо, чтобы архитектура блока FPGA+DSP эффективно поддерживала быстродействующие многоканальные КИХ-фильтры. Некоторые основные характеристики архитектуры 28-нм DSP компании Altera приведены в таблице 1.

Таблица 1. Особенности DSP-архитектуры при реализации КИХ-фильтра

28-нм DSP-блок
с несколькими режимами точности

Преимущества

Внутренние объединяемые регистры

Выше fmax, меньше внешних регистров

Два уровня дерева сумматоров в блоке DSP

Дерево сумматоров в DSP-блоках;
уменьшается число внешних логических устройств

Аппаратный предварительный сумматор
(18- и 26-бит)

Вполовину уменьшается число блоков перемножения для симметричных КИХ-фильтров

Выходной регистр для систолических КИХ-фильтров

Реализация систолических КИХ-фильтров без внешних регистров

Недостатком совместного использования MATLAB/Simulink с аппаратным обеспечением является необходимость существенной доработки системы с учетом временных ограничений. С этой целью применяется синтез по временным параметрам в среде Simulink. Это средство не только позволяет создать исходный структурный язык описания HDL, но и обеспечивает интуитивно понятное суммирование в конвейерных регистрах или временное мультиплексирование, что позволяет результирующему HDL соблюсти ограничения по fmax или задержке.

Средство DSP Builder Advanced Blockset компании Altera анализирует описание проекта Simulink и создает HDL и поток данных для целевого устройства FPGA, учитывая временные ограничения по fmax и задержке. Эти операции выполняются автоматически путем суммирования в конвейерных регистрах и временного мультиплексирования.

Большие военные радарные системы с высокой производительностью, созданные с помощью средства DSP Builder Advanced Blockset, могут самостоятельно производить настройку временных соотношений, избавляя разработчика от необходимости вручную изменять HDL.

На рисунке 2 приведен пример, в котором базирующаяся на FPGA система с 50 тыс. логическими элементами выполняет настройку временных соотношений на частоте больше 350 МГц. На рисунке показана интерфейсная часть этой системы с функциями многофазного КИХ-фильтра, БПФ и смесителя, которые, как правило, применяются во многих DSP-системах с высокой производительностью.

Рис. 2. Часть интерфейса современной радарной системы

Обработка HD-видео на FPGA

Спрос на более высокое разрешение видеосигнала постоянно растет за счет того, что:

– системы видеонаблюдения (в т.ч. промышленные системы обработки изображений) переходят с формата SD (standard definition) на HD (high definition) и оснащаются функцией расширенного динамического диапазона (WDR);

– системы видеовещания переходят с разрешения 1080p HD на 2000, 4000 и 3D;

– растет разрешение медицинских рентгенографических систем, что повышает необходимость увеличить производительность блока обработки сигналов.

Обработка видеосигнала, особенно в условиях, когда видеосистемы всего мира переходят к разрешению 1080p HD и выше, — одна из обычных функций FPGA. Разработка видеосистем с использованием FPGA — достаточно трудоемкий процесс, который значительно ускоряется за счет функциональных блоков, стандартных видеоинтерфейсов и образцов разработки.

В состав средства Video Design Framework компании Altera входят 18 видеофункций, интерфейс потокового видео, более полудюжины образцов разработки и комплекты разработчика (см. рис. 3).

Рис. 3. Конструктивные особенности приложений по обработке видеоданных, позволяющие сократить время проектирования

DSP с поддержкой режима с плавающей запятой

Использование цифровых процессоров для обработки сигнала с плавающей запятой медленно, но верно начинает рассматриваться как способ расширения динамического диапазона. Это происходит в таких системах как военные радары с использованием метода STAP (Space-time Adaptive Processing — пространственно-временная адаптивная обработка), MIMO-коррекции для канальных LTE-плат и вычислительных блоков с высокой производительностью. По данным аналитического исследования, доля алгоритмов обработки сигнала с плавающей точкой увеличится за ближайшие два года до 20%.

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

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

При выборе платформы FPGA для DSP-приложения с плавающей точкой следует тщательно оценить эффективность этой платформы, а также наличие соответствующих функций IP-блоков. Архитектура FPGA+DSP, оптимизированная под реализацию DSP с плавающей точкой, обеспечивает более высокую рабочую частоту системы fmax, а набор функций с плавающей точкой позволяет значительно снизить время разработки.

Оставьте отзыв

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