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


Компания Altera разработала новый подход к проектированию ПЛИС с плавающей запятой, призванный упростить реализацию алгоритмов цифровой обработки сигналов с плавающей запятой на ПЛИС Altera, что позволит достичь самых высоких на сегодняшний день показателей производительности и эффективности. Вместо построения тракта данных, состоящего из элементарных операторов с плавающей запятой (например, умножение, сложение и возведение в квадрат), компилятор ПЛИС генерирует тракт данных, объединяющий элементарные операторы в единую функцию или тракт данных. Это устраняет избыточность, присутствующую в традиционных проектах ПЛИС с плавающей запятой. Кроме того, разработанный Altera подход представляет собой высокоуровневый, основанный на моделях процесс проектирования, использующий набор блоков Altera DSP Builder Advanced Blockset с MATLAB и MathWorks Simulink. Altera ожидает, что такой высокоуровневый подход позволит разработчикам ПЛИС быстрее реализовывать и проверять сложные алгоритмы с плавающей запятой, чем при традиционном проектировании на основе HDL.


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


1. Введение.
Два примера проектирования с плавающей запятой.
Достижения в области цифровых микросхем позволяют сложным алгоритмам, ранее доступным только в научных исследованиях, внедряться в распространенные приложения встроенных вычислительных систем. Например, линейная алгебра (и, в частности, решение систем, включающих одновременное решение больших наборов линейных уравнений) уже много лет используется преимущественно в научных исследованиях, где доступны большие вычислительные ресурсы и, как правило, не требуются вычисления в реальном времени. Решение больших систем требует обращения матриц или какого-либо типа разложения матриц. Помимо требований к вычислительной мощности, эти методы могут страдать от численной нестабильности, если не используется достаточный динамический диапазон. Поэтому эффективная и точная реализация этих алгоритмов практически осуществима только на устройствах с плавающей запятой.
Компания Altera недавно представила возможности вычислений с плавающей запятой в своем инструментарии DSP Builder Advanced Blockset, чтобы упростить реализацию алгоритмов цифровой обработки сигналов с плавающей запятой на ПЛИС Altera и повысить производительность и эффективность проектов с плавающей запятой по сравнению с традиционными методами проектирования ПЛИС. В предыдущей статье [1] компания BDTI проанализировала и оценила производительность и эффективность программного инструментария Altera Quartus II v11.0 на примере реализации одноканального решателя Холецкого с плавающей запятой, синтезированного для ПЛИС Stratix IV и Arria IV с 40-нм техпроцессом.

 

В этой статье мы оцениваем эффективность предложенного компанией Altera решения, используя новую версию 12.0 программного обеспечения Quartus II, и исследуем возможности 28-нм ПЛИС Stratix V и Arria V от Altera. Для проведения этой оценки BDTI сосредоточилась на решении большого количества систем линейных уравнений с использованием двух типов разложений: многоканального разложения матрицы Холецкого и QR-разложения с помощью процесса Грама-Шмидта. Эти разложения, наряду с прямыми и обратными подстановками, позволяют получить решение для вектора x в системе линейных уравнений вида Ax = B.

 

Разложение матриц используется во многих военных радиолокационных приложениях, таких как пространственно-временная адаптивная обработка (STAP), и в различных задачах оценивания в цифровой связи. QR-разложение обычно используется для любой матрицы A размером m x n, в то время как разложение Холецкого является наиболее широко используемым алгоритмом для квадратной, симметричной, положительно определенной матрицы благодаря своей высокой вычислительной эффективности. Оба разложения используют вычислительно сложные алгоритмы, требующие высокой точности данных, что обуславливает необходимость операций с плавающей запятой. Кроме того, в двух примерах, рассматриваемых в этой статье, используются скалярные произведения и вложенные циклы в алгоритме — операции, распространенные в широком спектре приложений цифровой обработки сигналов, связанных с линейной алгеброй и фильтрами с конечной импульсной характеристикой (FIR).

нотация designflow копировать

В приведенных в этой статье примерах решаются системы линейных уравнений с комплексными данными с использованием обоих методов, и представлены результаты. Используя решатель QR, как описано в разделе 4, ПЛИС Altera Stratix V способна выполнять 315 матричных разложений в секунду размером 400x400 на частоте 203 МГц, достигая 162x10⁹ операций с плавающей запятой в секунду (GFLOPS).
Два примера проектирования, рассмотренные в этой статье, являются частью программного инструмента DSP Builder v12.0 или могут быть заказаны по адресу [

Этот адрес электронной почты защищен от спам-ботов. Для его просмотра необходимо включить JavaScript.

Процесс проектирования приложений с плавающей запятой:
ПЛИС (программируемые логические интегральные схемы) обычно не являются предпочтительной платформой для высокоуровневых приложений с плавающей запятой. Хотя производители ПЛИС предоставляют библиотеки примитивов для работы с плавающей запятой, производительность ПЛИС в таких приложениях была серьезно ограничена. Неэффективность традиционных проектов ПЛИС с плавающей запятой частично обусловлена ​​сильно сегментированной природой и арифметическими структурами операторов с плавающей запятой, что создает высокую задержку в пути передачи данных и перегрузку маршрутизации. В свою очередь, эти задержки создают трудноуправляемые проблемы в проектах, зависящих от данных. В результате часто получается проект с низкой рабочей частотой.
Инструментарий Altera DSP Builder Advanced Blockset решает эти проблемы как на архитектурном, так и на системном уровнях проектирования. Компилятор с плавающей запятой от Altera объединяет большие участки пути передачи данных в единую функцию с плавающей запятой вместо того, чтобы генерировать их путем композиции элементарных операторов с плавающей запятой. Это достигается путем анализа роста битов в тракте данных и выбора оптимальной нормализации входных данных для обеспечения достаточной точности вдоль тракта данных с целью исключения как можно большего количества шагов нормализации и денормализации, как показано на рисунке 1. Формат IEEE 754 используется только на границах тракта данных; большая ширина мантиссы используется в самом тракте данных для увеличения динамического диапазона и уменьшения необходимости в шагах нормализации и денормализации между последовательными операторами. Функции нормализации и денормализации используют быстрые сдвиговые регистры с шириной до 48 бит для чисел с плавающей запятой одинарной точности. Это потребляет значительное количество логических и маршрутизационных ресурсов и является основной причиной неэффективности реализаций чисел с плавающей запятой на основе FPGA. Комбинированная методология тракта данных исключает значительное количество быстрых сдвиговых регистров. Умножения мантиссы более высокой точности используют режим умножения 27-бит x 27-бит от Altera на устройствах Stratix V и Arria V. На рисунке 1(b) сравнивается методология комбинированного пути данных для простого случая строки с двумя сумматорами и традиционная реализация, показанная на рисунке 1(a). Комбинированный путь данных на рисунке 1(b) устраняет избыточность между операторами за счет подавления денормализации выхода первого сумматора и нормализации входа второго сумматора. Исключение дополнительной логики и маршрутизации, наряду с использованием аппаратных умножителей, делает временные параметры и задержку предсказуемыми для сложных путей данных. Алгоритмы с плавающей запятой одинарной и двойной точности IEEE 754 реализованы с меньшими логическими ресурсами и более высокой производительностью. Компания Altera утверждает, что комбинированный путь данных сокращает логические ресурсы и задержку на 50% по сравнению с эквивалентным путем данных, реализованным с использованием элементарных операторов [2]. Кроме того, в результате более широкого представления внутренних данных точность данных, как правило, выше, чем та, которая достигается библиотекой, использующей элементарные операторы с плавающей запятой IEEE 754.


Рабочий процесс проектирования цифровых сигнальных процессоров с плавающей запятой от Altera включает в себя программный инструмент Altera DSP Builder Advanced Blockset и Quartus II, а также MATLAB и MathWorks Simulink. Среда Simulink позволяет разработчику работать на уровне алгоритмического поведения для описания, отладки и проверки сложных систем. Функции Simulink, такие как распространение типов данных и векторная обработка данных, интегрированы в DSP Builder Advanced Blockset, что позволяет разработчику быстро исследовать пространство алгоритмического проектирования.

Схема проектирования 1 копия
Для оценки эффективности и производительности процесса проектирования с плавающей запятой в Altera, компания BDTI использовала инструмент DSP Builder Advanced Blockset для проверки двух примеров, в обоих из которых было решено множество линейных уравнений с использованием комплексных типов данных в представлении с плавающей запятой одинарной точности. Одно решение было получено с помощью разложения Холецкого, а другое — с помощью QR-разложения методом Грама-Шмидта. В разделе 2 данной статьи описывается реализация двух примеров с плавающей запятой. В разделе 3 объясняется опыт BDTI в работе с процессом проектирования и инструментарием. В разделе 4 представлена ​​производительность реализации с использованием двух ПЛИС Altera: высокопроизводительной ПЛИС среднего размера Stratix V 5SGSMD5K2F40C2n и ПЛИС среднего класса Arria V 5AGTFD7K3F40I3N. Наконец, в разделе 5 представлены выводы BDTI.


2.
Справочная информация
Многочисленные приложения включают системы линейных уравнений вида Ax = b. Будь то задача оптимизации с использованием метода наименьших квадратов, фильтр Калмана для прогнозирования задачи или оценка в канале связи MIMO, задача по-прежнему состоит в нахождении численного решения для системы линейных уравнений вида Ax = b. Для общей матрицы размером m × n, где m — высота матрицы, а n — ее ширина, QR-разложение может быть использовано для решения задачи нахождения вектора x. Алгоритм разлагает A на ортонормированную матрицу Q размером m × n и верхнетреугольную матрицу R размером n × n. Поскольку Q ортонормирована, QTQ = I и Rx = QTb. Поскольку R является верхнетреугольной матрицей, x можно легко найти методом обратной подстановки, даже не обращая исходную матрицу A. В примере QR в этой статье мы работаем с переопределенными матрицами, где m ≠ n.

 

Когда матрица A симметрична и положительно определена, как в ковариационных матрицах, встречающихся во многих задачах, обычно используются разложение Холецкого и соответствующий алгоритм решения. Алгоритм находит обратную матрицу A, решая таким образом вектор x как x = A⁻¹b. Разложение Холецкого как минимум в два раза эффективнее, чем QR-разложение, в зависимости от используемых алгоритмов разложения. Поскольку эти алгоритмы разложения являются рекуррентными по своей природе и включают деление, по мере увеличения размера матрицы требуется большой динамический диапазон вычислений. В большинстве случаев, даже для матриц размером всего 4x4, например, в задачах оценки MIMO-канала, выполняются операции с плавающей запятой. Для более крупных систем, требующих более высокой производительности, таких как военные приложения, скорость вычислений с плавающей запятой часто является непозволительно высокой для встроенных систем. Разработчики часто полностью отказываются от алгоритма в поисках менее оптимального решения или прибегают к высокопроизводительным процессорам с плавающей запятой, что приводит к увеличению стоимости и трудозатрат на проектирование.

Автор:

Разработано командой Berkeley Design Technology, Inc. Октябрь 2012 г

(Продолжение в феврале)

Более подробная информация или запрос цены