Actel предлагает разработчикам ряд готовых IP-модулей, выполняющих наиболее распространенные математические функции: FIR-фильтр (Finite Impulse Response фильтр – фильтр с конечной импульсной характеристикой), FFT (Fast Fourier Transform – быстрое преобразование Фурье), CORDIC (COordinate Rotation DIgital Computer – цифровое вычисление поворота координат).
Они предоставляются в виде исполняемых программ, генерирующих HDL-код с выбранными параметрами модуля. Генератор формирует VHDL-файлы, которые затем могут быть включены в проект в интегрированном пакете разработки проектов ПЛИС Actel Libero IDE. Сгенерированные файлы могут использоваться в проектах для ПЛИС всех семейств Actel.
CoreFIR
СoreFIR – это IP-модуль FIR-фильтра с конечной импульсной характеристикой, использующий метод весового сложения N предыдущих отсчетов (рис.1). Таблица весовых коэффициентов может размещаться либо непосредственно в матрице ПЛИС, либо в интегрированном СОЗУ (если оно есть в ПЛИС). Во втором случае выше быстродействие и меньше размер проекта. Модуль может работать на частоте до 175 МГц. Разрядность входных данных составляет от 1 до 32 бит. В модуле реализована распределенная арифметическая структура. Ее можно оптимизировать по размеру или быстродействию, используя последовательную или параллельную структуру вычислений.
CoreFFT
CoreFFT – IP-модуль быстрого преобразования Фурье (рис.2). Минимальное время вычислений составляет 9 мкс. Можно использовать прямое или обратное преобразование Фурье и от 32 до 1024 точек. Входные и выходные данные хранятся во входном и выходном буферах данных, в качестве которых можно использовать интегрированное СОЗУ. Входной буфер данных – двойной, что увеличивает производительность вычислений: одновременно с преобразованием данных, хранящихся в одном буфере, во второй буфер загружаются следующие данные. В модуле применен алгоритм временного прореживания Radix-2, оптимизированный под ПЛИС Actel. Шину данных можно сконфигурировать как 8- или 16-разрядную.
CoreCORDIC
Алгоритм CORDIC (рис.3) в отечественной литературе также известен как метод "цифра за цифрой" или алгоритм Волдера. В алгоритме реализован итерационный метод, использующий только операции сдвига и сложения. Это позволяет повысить быстродействие и уменьшить объем проекта в ПЛИС Actel, которые не имеют встроенных умножителей. Модуль способен работать на частоте до 130 МГц. Он имеет малый объем (число используемых логических ячеек), что позволяет применять в его ПЛИС, имеющих сравнительно небольшое число ячеек, таких как АРА030. При генерации модуля можно выбрать битовую последовательную архитектуру, имеющую минимальный объем, но низкое быстродействие вычислений; пословную последовательную архитектуру, обладающую оптимальным соотношением "объем/производительность"; или параллельную конвейерную архитектуру, которая обладает максимальной скоростью вычислений, но имеет большой объем.
Synplify DSP
Сегодня на рынке представлено множество платных и бесплатных готовых DSP IP-модулей. Однако нередко требуется разрабатывать собственные модули, оптимизированные для использования с определенным семейством ПЛИС. Разработка DSP-модулей непосредственно на HDL-коде – дело достаточно трудоемкое. Имеется немало программ, позволяющих создавать и отлаживать DSP-модули в графическом режиме, таких как, например, MathWorks. Однако подобные пакеты не генерируют напрямую HDL-код. Чтобы решить эту задачу, компания Mentor Graphics разработала специальную версию синтезатора Synplify для работы с DSP-модулями и их синтеза – Synplify DSP. Этот синтезатор является дополнением к программе Simulink из пакета MathWorks. С его помощью можно сконвертировать созданные в MathWorks модули в синтезированный HDL-код, который затем подключается к проекту в Synplicity Synplify Pro в виде IP-модуля.
Общий процесс разработки проекта с использованием DSP-модулей, созданных в MathWorks, можно разделить на три этапа (рис.4).
На первом этапе DSP-модуль разрабатывается в MathWorks с применением набора блоков из библиотеки Synplify DSP и отлаживается в Simulink.
После того, как алгоритмическая часть полностью отлажена, начинается второй этап. На этом этапе сначала производится архитектурная оптимизация под выбранное семейство ПЛИС, а затем посредством Synplify DSP выполняется синтез и структурная оптимизация модели модуля, полученной на предыдущем шаге. На выходе получаются синтезированные файлы проекта RTL-модели модуля и файлы временных и структурных параметров настройки процесса синтеза (так называемых констрейнов – constraints), а также файл тестовой модели (тестбенча – testbench), которая включает RTL-модель DSP-модуля и модули, имитирующие входные данные для симуляции. Это позволяет верифицировать синтезированную RTL-модель модуля отдельно от проекта.
На третьем этапе в Synplify Pro/Premier к основному проекту подключается синтезированный в Synplify DSP-модуль и производится синтез всего проекта ПЛИС с DSP-модулем. Затем производят размещение, трассировку и генерацию файла прошивки ПЛИС. Кроме того, выполняется верификация модели проекта ПЛИС после синтеза и после трассировки.
Таким образом, разработчикам предоставляется мощный и гибкий инструмент для создания и верификации собственных DSP-модулей.
ПЛИС семейства RTAX-DSP
До недавнего времени ПЛИС Actel не содержали интегрированных умножителей. Это существенно ограничивало использование DSP-функций, так как требовало больше ресурсов ПЛИС и снижало быстродействие системы.
Учитывая, что DSP-технологии применяются все активнее, в том числе и в космической технике, компания Actel разработала новое семейство на базе радиационностойкого семейства ПЛИС RTAX-S – RTAX-DSP. Новое семейство, имея ту же архитектуру, что и семейство RTAX-S, в качестве расширения содержит интегрированные математические блоки (рис.5).
Блок представляет собой 18×18 бит умножитель с накоплением. Он разрабатывался с учетом эффективного использования наиболее распространенных DSP-функций, таких как FIR, FFT и ряд других, способен работать на частоте до 125 МГц с общей производительностью до 15⋅109 умножений/накоплений в секунду (15 GMACS). ПЛИС RTAX-DSP выполнены по той же самой технологии, что и семейство RTAX-S и имеют такие же параметры радиационной стойкости и надежности. DSP-блоки защищены от однократных сбоев под действием радиации, в том числе за счет применения аппаратных троированных триггеров.
В следующем году появятся две ПЛИС семейства RTAX-DSP – RTAX2000D и RTAX4000D, имеющие 60 и 120 блоков соответственно.
Учитывая, что DSP-технологии – одно из наиболее активно развивающихся направлений электроники, компания Actel постоянно развивает программные и аппаратные средства, предоставляя разработчикам новые возможности применения методов цифровой обработки сигналов в своих продуктах. Это позволяет значительно упростить процесс, сократить время и стоимость разработки проектов.