Выпуск #6/2006
А.A.Перекрест.
Преимущества использования сопроцессоров на базе ПЛИС FPGA в системах цифровой обработки сигналов
Преимущества использования сопроцессоров на базе ПЛИС FPGA в системах цифровой обработки сигналов
Просмотры: 3059
Применение сопроцессоров на базе ПЛИС FPGA позволяет сократить стоимость и увеличить производительность систем цифровой обработки сигналов (DSP-систем). Компания Xilinx предлагает новые средства проектирования системного уровня (Electronic System Level, ESL) для облегчения разработки DSP-систем с ПЛИС FPGA в качестве сопроцессоров. Публикация подготовлена по материалам статьи менеджера по маркетингу DSP-систем компании Xilinx Т.Хилла (Tom Hill) "The Benefits of FPGA Co-Processing" в Xcell Journal
(www.xilinx.com/publications ).
(www.xilinx.com/publications ).
При разработке систем цифровой обработки сигналов (Digital System Processing, DSP) традиционным является подход, при котором используются DSP-процессоры общего назначения, а требуемые специфические алгоритмы обработки реализуются программно (в основном на языке С). Однако в последнее время все чаще можно наблюдать применение аппаратных методов, основанных на использовании программируемых логических интегральных схем (ПЛИС) с архитектурой FPGA (Field Programmable Gate Array) в качестве препроцессоров и сопроцессоров (рис.1). Такой подход позволяет получить существенный прирост производительности, снизить стоимость и потребляемую мощность системы. Однако его повсеместному распространению препятствует то, что разработчики DSP-систем не всегда имеют опыт проектирования на базе FPGA.
УВЕЛИЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ И СНИЖЕНИЕ СТОИМОСТИ
Архитектура FPGA обладает большой гибкостью, на ее базе можно реализовывать распараллеливание операций, что позволяет существенно повысить производительность всей DSP-системы. Наиболее типичные примеры такого использования FPGA – реализация КИХ-фильтров, быстрого преобразования Фурье, цифрового преобразования с понижением частоты, блоков прямого исправления ошибок.
Микросхемы семейств FPGA Virtex-4 и Virtex-5 фирмы Xilinx включают до 512 параллельных умножителей, работающих на частоте свыше 500 МГц, что позволяет достичь производительности системы цифровой обработки сигнала 256 GMAC. При построении DSP-системы операции, требующие высокоскоростной обработки данных в параллельном режиме, реализуются на базе FPGA, а операции высокоскоростной последовательной обработки – с помощью DSP-процессоров. Такое распределение ресурсов системы позволяет добиться оптимального соотношения цена-качество и снизить энергопотребление.
Дополнительные возможности для распараллеливания операций обработки сигнала, оптимального распределения функций в системе с сопроцессором на базе FPGA обеспечивает наличие встроенных в FPGA процессоров. Микропроцессорное ядро MicroBlaze (soft processor, по терминологии Xilinx) предусматривает возможность реализации его на ПЛИС различных серий и часто оказывается удобным для организации управления системой. Более производительный процессор PowerPC реализован на кристалле в виде отдельного аппаратного блока.
Гибкость архитектуры ПЛИС FPGA позволяет организовать ускорение и распараллеливание операций различными способами. Например, блок на основе FPGA может быть непосредственно включен в тракт обработки данных DSP-системы. Другой возможный вариант – реализация аппаратного ускорителя на базе одного из встроенных процессоров. Распределение функций DSP-системы по имеющимся аппаратным ресурсам, при котором для системы в целом обеспечивается оптимальное соотношение цена-качество, – это та проблема, с которой всегда сталкиваются разработчики.
Эффективные способы использования встроенных процессоров ПЛИС FPGA не всегда очевидны, однако сам факт использования встроенных процессоров имеет огромное значение для снижения общей стоимости создаваемой DSP-системы. Они обеспечивают выполнение некритичных с точки зрения производительности операций, тем самым минимизируя общее количество аппаратных ресурсов, необходимых для реализации системы.
ОТ ЯЗЫКА К ЛОГИЧЕСКИМ ВЕНТИЛЯМ
Выражение "от языка C к логическим вентилям" означает методологию проектирования DSP-систем, позволяющую создать аппаратную реализацию блоков непосредственно из исходного описания на языке С. Эта методология предусматривает два варианта использования ресурсов FPGA – создание специализированного DSP-модуля, внедренного непосредственно в тракт обработки данных, либо организацию обработки данных на базе встроенных процессоров (MicroBlaze или PowerPC405), дополненных аппаратными ускорителями (рис.2).
Если операция реализуемого программного алгоритма относится непосредственно к тракту обработки данных DSP-системы, то более предпочтительна аппаратная реализация этой операции в виде отдельного DSP-модуля, поскольку при этом может быть достигнута максимальная производительность вычислений. Традиционный процесс создания такого блока на FPGA требует ручного преобразования исходного описания алгоритма на языке С в описание на RTL-уровне (Register Transfer Level – уровень регистровых передач) и далее аппаратного синтеза в структуру ПЛИС. Однако уже сегодня существует альтернатива традиционному подходу. Например, такие средства проектирования системного уровня, как программа System Generator for DSP фирмы Xilinx, которая обеспечивает возможность аппаратного синтеза непосредственно из описания на языке С. Наиболее эффективные средства синтеза из C-описания уже сейчас позволяют получить почти такой же уровень производительности, как при кодировании вручную на RTL. Конечно, для этого необходимо разбираться в особенностях работы c этими средствами и учитывать их при программировании на С. Например, необходимо уметь пользоваться встроенными инструкциями распараллеливания операций и организации конвейерных вычислений. Но даже несмотря на эти трудности, применение С-описания для синтеза значительно увеличивает производительность разработчиков DSP-модулей.
Альтернативный подход к использованию ПЛИС в DSP-системах (зачастую более простой в реализации) – создание аппаратного ускорителя для одного из встроенных процессоров, предусмотренных в FPGA фирмы Xilinx. В этом случае исходная программа на языке С выполняется преимущественно процессором, а наиболее затратные операции реализуются аппаратно на базе ресурсов FPGA. Этот подход в большей степени программно-ориентированный, и, хотя применение его приводит к некоторому снижению производительности системы, он, тем не менее, часто оказывается более удобным для разработчиков DSP-систем. Здесь, так же как и в варианте отдельного DSP-модуля, для фрагментов С-кода, ответственных за наиболее критичные операции, необходимо провести аппаратный синтез (через RTL-описание или напрямую). Реализованный подобным образом аппаратный ускоритель может быть подключен к интегрированному программному пакету фирмы Xilinx для разработки встраиваемых программируемых процессорных систем Xilinx EDK (Embedded Development Kit), в котором к нему можно обращаться с помощью обычных вызовов функций языка С через интерфейсы подключения к шинам встроенных процессоров, интегрированных в исходное описание на верхнем уровне.
Обычно в случае варианта реализации аппаратного ускорителя для отдельных операций реализованного на языке C алгоритма очень высокая производительность не требуется. Целью является повышение производительности, по сравнению с той, которая достигается чисто программными средствами (маршрут проектирования при этом должен оставаться программно-ориентированным). Для большей эффективности и в этом варианте можно использовать встроенные инструкции и поддерживать удобный для аппаратной реализации стиль кодирования. Однако и без этого увеличение оказывается достаточным для большинства разрабатываемых систем.
ESL-ИНИЦИАТИВА КОМПАНИИ XILINX
Инженеры, привыкшие иметь дело с традиционными, основанными на процессорах системами, несмотря на значительные преимущества применения FPGA, часто отказываются от их использования. Причина – отсутствие опыта работы с технологиями проектирования, основанными на использовании языков VHDL и Verilog. Хотя разработчики ясно понимают все преимущества реализации DSP-систем с сопроцессором на основе FPGA, однако нынешний уровень развития средств проектирования затрудняет использование FPGA.
Наличие доступных широкому кругу разработчиков эффективных средств проектирования – сегодня один из самых важных факторов при выборе способа реализации проекта. Это подтверждается исследованием, проведенным в 2005 году компанией Forward Concepts. Целью исследования было определение главных критериев, которыми руководствуются разработчики при выборе той или иной FPGA при проектировании DSP-систем. Результаты опроса показали, что первое место среди этих критериев занимают именно средства проектирования (рис. 3).
Компания Xilinx видит решение проблемы проектирования в разработке новых средств проектирования системного уровня (Electronic System Level, ESL), которые сделали бы методологию проектирования максимально "дружественной" для разработчика, такой же, как программирование на языке С. Компания развернула специальную программу партнерства с основными поставщиками средств ESL, получившую название "ESL инициатива" (ESL initiative). Целью этой программы является не только разработка новых программных средств, но и обучение разработчиков цифровых аппаратных систем навыкам работы с этими средствами, чтобы облегчить им реализацию своих проектов с применением FPGA без необходимости освоения традиционных технологий проектирования.
Партнеры фирмы Xilinx – поставщики ESL-средств проектирования предлагают широкий выбор взаимодополняющих решений, оптимизированных для различных приложений, платформ и конечных потребителей (рис.4). Часть поставщиков специализируется на преобразовании систем, разработанных на языках C/C++, в аппаратные DSP-системы, включающие FPGA и DSP-процессоры. Их усилия сосредоточены на том, чтобы сделать аппаратную платформу абсолютно "прозрачной" для разработчиков программного обеспечения.
Компания Xilinx уделяет большое внимание разработке взаимодополняющих технологий. Например, пакет AccelDSP Synthesis предоставляет поддержку аппаратной реализации алгоритмов, созданных в пакете MATLAB в формате с плавающей запятой, а пакет System Generator for DSP позволяет легко совместить разработанные с помощью средств ESL модули со встроенными процессорами и IP-ядрами. Компания уверена, что самый быстрый путь реализации дружественного интерфейса к маршруту проектирования FGPA лежит через сотрудничество с заинтересованными в инновациях партнерами.
Учебный центр компании Mentor Graphics в МИФИ
К новому учебному году в МИФИ на кафедрах электроники и микроэлектроники был организован Центр подготовки специалистов в области разработки современных электронных систем на базе программных средств компании Mentor Graphics – одного из мировых лидеров в области САПР электроники. Организация Учебного центра стала результатом долгосрочного соглашения между МИФИ, компанией Mentor Graphics и ее российским дистрибьютором – фирмой Megratec. Соглашение предусматривает предоставление компанией Mentor Graphics программного обеспечения и методических материалов для разработки заказных интегральных микросхем, ПЛИС и печатных плат.
Учебный класс нового Центра сегодня включает десять рабочих мест на базе смешанной аппаратной платформы (SUN Workstations и Linux/Windows PC) и три сервера, объединенных быстрой (1 Гбит) локальной сетью типа Intranet. На первом этапе основная задача нового Центра Mentor Graphics – подготовка молодых кадров, аспирантов и студентов старших курсов, создание учебно-методических материалов и пособий, привлечение других кафедр и подразделений, а также увеличение количества рабочих мест. Но уже сегодня студенты и молодые сотрудники Центра Mentor Graphics начинают решать учебно-исследовательские задачи проектирования СБИС, блоков и узлов электронной аппаратуры для физических экспериментов в рамках международных проектов МИФИ.
В ближайших планах Центра Mentor Graphics создание новых учебных классов на трех кафедрах МИФИ, увеличение общего количества рабочих мест до тридцати. Сегодня существует большой спрос на специалистов в области микроэлектронных САПР как в России, так и за рубежом. Интерес к развитию Центра Mentor Graphics, к трудоустройству его выпускников уже проявили многие российские компании. Среди них можно отметить НПО "Ангстрем", НПО "Квант", ПИК "Прогресс" и другие.
УВЕЛИЧЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ И СНИЖЕНИЕ СТОИМОСТИ
Архитектура FPGA обладает большой гибкостью, на ее базе можно реализовывать распараллеливание операций, что позволяет существенно повысить производительность всей DSP-системы. Наиболее типичные примеры такого использования FPGA – реализация КИХ-фильтров, быстрого преобразования Фурье, цифрового преобразования с понижением частоты, блоков прямого исправления ошибок.
Микросхемы семейств FPGA Virtex-4 и Virtex-5 фирмы Xilinx включают до 512 параллельных умножителей, работающих на частоте свыше 500 МГц, что позволяет достичь производительности системы цифровой обработки сигнала 256 GMAC. При построении DSP-системы операции, требующие высокоскоростной обработки данных в параллельном режиме, реализуются на базе FPGA, а операции высокоскоростной последовательной обработки – с помощью DSP-процессоров. Такое распределение ресурсов системы позволяет добиться оптимального соотношения цена-качество и снизить энергопотребление.
Дополнительные возможности для распараллеливания операций обработки сигнала, оптимального распределения функций в системе с сопроцессором на базе FPGA обеспечивает наличие встроенных в FPGA процессоров. Микропроцессорное ядро MicroBlaze (soft processor, по терминологии Xilinx) предусматривает возможность реализации его на ПЛИС различных серий и часто оказывается удобным для организации управления системой. Более производительный процессор PowerPC реализован на кристалле в виде отдельного аппаратного блока.
Гибкость архитектуры ПЛИС FPGA позволяет организовать ускорение и распараллеливание операций различными способами. Например, блок на основе FPGA может быть непосредственно включен в тракт обработки данных DSP-системы. Другой возможный вариант – реализация аппаратного ускорителя на базе одного из встроенных процессоров. Распределение функций DSP-системы по имеющимся аппаратным ресурсам, при котором для системы в целом обеспечивается оптимальное соотношение цена-качество, – это та проблема, с которой всегда сталкиваются разработчики.
Эффективные способы использования встроенных процессоров ПЛИС FPGA не всегда очевидны, однако сам факт использования встроенных процессоров имеет огромное значение для снижения общей стоимости создаваемой DSP-системы. Они обеспечивают выполнение некритичных с точки зрения производительности операций, тем самым минимизируя общее количество аппаратных ресурсов, необходимых для реализации системы.
ОТ ЯЗЫКА К ЛОГИЧЕСКИМ ВЕНТИЛЯМ
Выражение "от языка C к логическим вентилям" означает методологию проектирования DSP-систем, позволяющую создать аппаратную реализацию блоков непосредственно из исходного описания на языке С. Эта методология предусматривает два варианта использования ресурсов FPGA – создание специализированного DSP-модуля, внедренного непосредственно в тракт обработки данных, либо организацию обработки данных на базе встроенных процессоров (MicroBlaze или PowerPC405), дополненных аппаратными ускорителями (рис.2).
Если операция реализуемого программного алгоритма относится непосредственно к тракту обработки данных DSP-системы, то более предпочтительна аппаратная реализация этой операции в виде отдельного DSP-модуля, поскольку при этом может быть достигнута максимальная производительность вычислений. Традиционный процесс создания такого блока на FPGA требует ручного преобразования исходного описания алгоритма на языке С в описание на RTL-уровне (Register Transfer Level – уровень регистровых передач) и далее аппаратного синтеза в структуру ПЛИС. Однако уже сегодня существует альтернатива традиционному подходу. Например, такие средства проектирования системного уровня, как программа System Generator for DSP фирмы Xilinx, которая обеспечивает возможность аппаратного синтеза непосредственно из описания на языке С. Наиболее эффективные средства синтеза из C-описания уже сейчас позволяют получить почти такой же уровень производительности, как при кодировании вручную на RTL. Конечно, для этого необходимо разбираться в особенностях работы c этими средствами и учитывать их при программировании на С. Например, необходимо уметь пользоваться встроенными инструкциями распараллеливания операций и организации конвейерных вычислений. Но даже несмотря на эти трудности, применение С-описания для синтеза значительно увеличивает производительность разработчиков DSP-модулей.
Альтернативный подход к использованию ПЛИС в DSP-системах (зачастую более простой в реализации) – создание аппаратного ускорителя для одного из встроенных процессоров, предусмотренных в FPGA фирмы Xilinx. В этом случае исходная программа на языке С выполняется преимущественно процессором, а наиболее затратные операции реализуются аппаратно на базе ресурсов FPGA. Этот подход в большей степени программно-ориентированный, и, хотя применение его приводит к некоторому снижению производительности системы, он, тем не менее, часто оказывается более удобным для разработчиков DSP-систем. Здесь, так же как и в варианте отдельного DSP-модуля, для фрагментов С-кода, ответственных за наиболее критичные операции, необходимо провести аппаратный синтез (через RTL-описание или напрямую). Реализованный подобным образом аппаратный ускоритель может быть подключен к интегрированному программному пакету фирмы Xilinx для разработки встраиваемых программируемых процессорных систем Xilinx EDK (Embedded Development Kit), в котором к нему можно обращаться с помощью обычных вызовов функций языка С через интерфейсы подключения к шинам встроенных процессоров, интегрированных в исходное описание на верхнем уровне.
Обычно в случае варианта реализации аппаратного ускорителя для отдельных операций реализованного на языке C алгоритма очень высокая производительность не требуется. Целью является повышение производительности, по сравнению с той, которая достигается чисто программными средствами (маршрут проектирования при этом должен оставаться программно-ориентированным). Для большей эффективности и в этом варианте можно использовать встроенные инструкции и поддерживать удобный для аппаратной реализации стиль кодирования. Однако и без этого увеличение оказывается достаточным для большинства разрабатываемых систем.
ESL-ИНИЦИАТИВА КОМПАНИИ XILINX
Инженеры, привыкшие иметь дело с традиционными, основанными на процессорах системами, несмотря на значительные преимущества применения FPGA, часто отказываются от их использования. Причина – отсутствие опыта работы с технологиями проектирования, основанными на использовании языков VHDL и Verilog. Хотя разработчики ясно понимают все преимущества реализации DSP-систем с сопроцессором на основе FPGA, однако нынешний уровень развития средств проектирования затрудняет использование FPGA.
Наличие доступных широкому кругу разработчиков эффективных средств проектирования – сегодня один из самых важных факторов при выборе способа реализации проекта. Это подтверждается исследованием, проведенным в 2005 году компанией Forward Concepts. Целью исследования было определение главных критериев, которыми руководствуются разработчики при выборе той или иной FPGA при проектировании DSP-систем. Результаты опроса показали, что первое место среди этих критериев занимают именно средства проектирования (рис. 3).
Компания Xilinx видит решение проблемы проектирования в разработке новых средств проектирования системного уровня (Electronic System Level, ESL), которые сделали бы методологию проектирования максимально "дружественной" для разработчика, такой же, как программирование на языке С. Компания развернула специальную программу партнерства с основными поставщиками средств ESL, получившую название "ESL инициатива" (ESL initiative). Целью этой программы является не только разработка новых программных средств, но и обучение разработчиков цифровых аппаратных систем навыкам работы с этими средствами, чтобы облегчить им реализацию своих проектов с применением FPGA без необходимости освоения традиционных технологий проектирования.
Партнеры фирмы Xilinx – поставщики ESL-средств проектирования предлагают широкий выбор взаимодополняющих решений, оптимизированных для различных приложений, платформ и конечных потребителей (рис.4). Часть поставщиков специализируется на преобразовании систем, разработанных на языках C/C++, в аппаратные DSP-системы, включающие FPGA и DSP-процессоры. Их усилия сосредоточены на том, чтобы сделать аппаратную платформу абсолютно "прозрачной" для разработчиков программного обеспечения.
Компания Xilinx уделяет большое внимание разработке взаимодополняющих технологий. Например, пакет AccelDSP Synthesis предоставляет поддержку аппаратной реализации алгоритмов, созданных в пакете MATLAB в формате с плавающей запятой, а пакет System Generator for DSP позволяет легко совместить разработанные с помощью средств ESL модули со встроенными процессорами и IP-ядрами. Компания уверена, что самый быстрый путь реализации дружественного интерфейса к маршруту проектирования FGPA лежит через сотрудничество с заинтересованными в инновациях партнерами.
Учебный центр компании Mentor Graphics в МИФИ
К новому учебному году в МИФИ на кафедрах электроники и микроэлектроники был организован Центр подготовки специалистов в области разработки современных электронных систем на базе программных средств компании Mentor Graphics – одного из мировых лидеров в области САПР электроники. Организация Учебного центра стала результатом долгосрочного соглашения между МИФИ, компанией Mentor Graphics и ее российским дистрибьютором – фирмой Megratec. Соглашение предусматривает предоставление компанией Mentor Graphics программного обеспечения и методических материалов для разработки заказных интегральных микросхем, ПЛИС и печатных плат.
Учебный класс нового Центра сегодня включает десять рабочих мест на базе смешанной аппаратной платформы (SUN Workstations и Linux/Windows PC) и три сервера, объединенных быстрой (1 Гбит) локальной сетью типа Intranet. На первом этапе основная задача нового Центра Mentor Graphics – подготовка молодых кадров, аспирантов и студентов старших курсов, создание учебно-методических материалов и пособий, привлечение других кафедр и подразделений, а также увеличение количества рабочих мест. Но уже сегодня студенты и молодые сотрудники Центра Mentor Graphics начинают решать учебно-исследовательские задачи проектирования СБИС, блоков и узлов электронной аппаратуры для физических экспериментов в рамках международных проектов МИФИ.
В ближайших планах Центра Mentor Graphics создание новых учебных классов на трех кафедрах МИФИ, увеличение общего количества рабочих мест до тридцати. Сегодня существует большой спрос на специалистов в области микроэлектронных САПР как в России, так и за рубежом. Интерес к развитию Центра Mentor Graphics, к трудоустройству его выпускников уже проявили многие российские компании. Среди них можно отметить НПО "Ангстрем", НПО "Квант", ПИК "Прогресс" и другие.
Отзывы читателей