В статье описана разработка компании Xilinx – расширяемая платформа обработки данных, предназначенная как для программистов, так и для системных инженеров.
А. Мельниченко
В течение последних десяти лет производители ПЛИС FPGA не оставляли попыток включить разработчиков встроенного программного обеспечения в число своих клиентов, которыми до настоящего времени были только разработчики аппаратных средств. Число программистов во всем мире примерно на порядок превышает число разработчиков аппаратных средств. В настоящее время компания Xilinx разрабатывает на базе микропроцессора ARM новый продукт: Extensible Processing Platform – расширяемую платформу обработки данных, предназначенную для упрощения решения задач, возникающих при проектировании встроенных систем. Ожидается, что эта платформа позволит компании существенно расширить рынки сбыта своей продукции.
Поскольку за последнее десятилетие сложность ПЛИС FPGA и средств разработки достигла такого уровня, который позволяет реализовать на них большое число встроенных процессоров (DSP, микроконтроллеров и микропроцессоров), все большее число разработчиков встроенных систем начали осваивать язык проектирования аппаратных средств на ПЛИС FPGA. Это открывает возможность их использования для создания аппаратуры с оптимальным соотношением аппаратных и программных средств, необходимых для реализации заданных функций при минимальном потреблении энергии. И хотя в последнее время число этих разработчиков медленно, но устойчиво растет, большинство проектировщиков все еще остаются приверженцами традиционных способов разработки, ограничиваясь применением аппаратных средств для достижения оптимального сочетания производительности, функциональных возможностей, энергопотребления и стоимости аппаратуры.
ПРОЦЕССОР ПРЕЖДЕ ВСЕГО
Используя новую платформу, компания Xilinx планирует создать первое в своем роде устройство, основой которого станет подсистема обработки данных на 32-разрядном процессоре ARM Cortex™-A9 с тактовой частотой 800 МГц (рисунок).

Расширяемая платформа обработки данных, разработанная компанией Xilinx: процессор с программируемыми элементами
Подсистема будет самозагружаемой, ее программирование будет осуществляться с помощью готового пакета программ. Связанный с ней программируемый логический блок расширения позволит проектировщикам распределять имеющиеся аппаратные и программные средства в зависимости от предъявляемых к системе требований. С его помощью они смогут реализовывать новые функции, создавая собственные специализированные системы SoC, отличающиеся высокой степенью оптимизации.
“Используя опыт применения ранее разработанных устройств, таких как PowerPC™ на базе ПЛИС FPGA Virtex®-II Pro,Virtex-4 и Virtex-5 FXT, в архитектуру нового устройства мы заложили широкие возможности. Мы также учли просчеты наших конкурентов, – сказал Vin Ratford, старший вице-президент международного маркетинга и коммерческого развития компании Xilinx. – Если в других устройствах для выполнения функций используются аппаратные средства, то в новой платформе обработка сигналов выполняется, в основном, процессором. Таким образом, программисты смогут начать работу с новой платформой сразу после ее приобретения. В то же время, они могут не использовать блоки расширения, если в этом нет необходимости”.
Однако большинство программистов и разработчиков аппаратных средств, скорее всего, будут активно использовать блоки расширения. Со временем планируется усовершенствовать методику использования платформы, предоставив в распоряжение программистов и системных инженеров среду, в которой опытные программисты смогли бы наряду с процессором программировать и расширения, не нуждаясь в помощи разработчиков аппаратных средств.
Vin Ratford отметил, что в отличие от предыдущей архитектуры, в которой загрузка ПЛИС FPGA выполняется до загрузки процессора, новая платформа с загрузкой процессора перед загрузкой FPGA в наибольшей степени соответствует принятому в большинстве случаев порядку проектирования системы.
“При разработке изделия его функции обычно стремятся реализовать программным способом, и только в тех случаях, когда это не удается, используют аппаратные средства, – сказал он. – Это позволяет достичь требуемых параметров производительности, стоимости и энергопотребления. Вначале разрабатывается
образец изделия. При этом реализация требований определенной группы потребителей отходит на второй план. Главное – обеспечение максимальной гибкости изделия. Приняв решение о том, какие функции будут реализованы аппаратным, а какие – программным способом, разработчики дорабатывают аппаратную часть и программное обеспечение для выполнения предъявляемых к изделию требований. Новая платформа позволит им выполнить эту работу быстрее и качественнее”.
Компания Xilinx будет изготавливать новую платформу по технологии 28 нм, как и ПЛИС FPGA следующего поколения. Такая технология обеспечит высокую производительность и малое энергопотребление изделий.
КОМПАНИЯ ARM Ltd. – НАДЕЖНЫЙ ПАРТНЕР
В поисках партнера компания Xilinx остановила выбор на широко известной компании ARM Ltd., завоевавшей отличную репутацию благодаря высокому качеству выпускаемых ею IP-процессоров и программного обеспечения. Архитектура ARM стала оптимальным выбором для разработчиков, которым необходимы быстродействующие и экономичные микропроцессорные ядра.
“По всем параметрам: функциональным возможностям аппаратуры и программного обеспечения, производительности, экономичности и дружественному интерфейсу продукты компании ARM, несомненно, являются лучшим выбором для новой архитектуры, – сказал Vin Ratford. – Учитывая необходимость минимизации энергопотребления, все более важную для аппаратуры связи, добавление в устройство наиболее экономичного процессора откроет пользователям неограниченные возможности выбора альтернативных решений. Взяв на себя часть функций, реализуемых обычно аппаратными средствами, он позволит увеличить производительность изделий. Появится также возможность оперативного изменения производительности с одновременным изменением потребляемой мощности”.
Основной особенностью новой архитектуры являются интерфейсы. Для связи процессора ARM, программируемого логического блока расширения и общего блока памяти компания Xilinx использует интерфейс с большой пропускной способностью. Примечательно, что для обмена данными между микросхемой ASSP и ПЛИС FPGA на той же плате используется более 100 проводников.
Компания ARM также дополнила четвертую версию спецификации на свой интерфейс AXI, оптимизировав ее для использования совместно с ПЛИС. Это позволит разработчикам, использующим новую платформу Xilinx, повысить скорость обмена данными между компонентами системы, а также получить возможность применения любого из аппаратных периферийных ядер, в большом количестве разработанных за последние десятилетия для микросхем компании ARM поставщиками и потребителями IP-продуктов.
Тесная взаимосвязь между аппаратной и программной частями проекта также означает, что если разработчики пожелают ввести новую функцию, оптимальное выполнение которой программным способом невозможно, или ускорить выполнение части программы, они смогут создать аппаратные средства для этой функции и поместить их в программируемый логический блок расширения с использованием стандартного интерфейса.
ПОСТОЯНСТВО СРЕДЫ ПРОГРАММИРОВАНИЯ
Поскольку в новом устройстве загрузку процессора предполагается выполнять в первую очередь, разработчик программного обеспечения может программировать его одновременно с разработкой аппаратных средств, сокращая тем самым цикл разработки изделия.
“Конечно, кто-либо может купить часть и использовать лишь систему процессора, – сказал Keith DeHaven, директор отделения маркетинга компании Xilinx. – Но истинная ценность устройства будет зависеть от способности пользователя использовать все возможности ПЛИС для оптимизации характеристик разрабатываемого на базе процессора ARM изделия”.
DeHaven отметил, что процессор имеет постоянный набор периферийных устройств, коммутаторов и интерфейсов памяти, благодаря чему разработчики обеспечены единообразной средой программирования. Для получения результата в сжатые сроки они могут начать с использования имеющихся инструментов ARM и доступных аппаратных средств.
Однако неоспоримое преимущество предлагаемой архитектуры заключается в возможности разделения функций между процессором и программируемым логическим блоком расширения.
Теперь не только разработчик аппаратных средств, но и программист будет определять алгоритм работы устройства, ориентируясь на возможности процессора. Например, для выполнения периферийных функций процессор может использовать данные, находящиеся в блоке расширения, либо передать управление этому блоку. Одни разработчики будут, возможно, сравнивать аппаратный и программный способы реализации функции по таким параметрам, как скорость выполнения, энергопотребление и стоимость изделий. Другие загрузят программу реализации функции без изменений в программируемые логические блоки, облегчив процессору выполнение других функций.
Как только будет принято решение о том, какие функции будут реализованы аппаратным, а какие – программным способом, разработчики аппаратных средств, используя набор для проектирования Xilinx ISE®, смогут реализовать эти функции со стандартным интерфейсом AMBA-AXI в программируемом логическом блоке расширения.
Одновременно с программированием блока расширения может продолжаться создание программы для процессора.
Хотя архитектура, предполагающая первоочередное программирование процессора, уникальна и в большей степени соответствует стилю работы программистов, компания Xilinx планирует внести в нее ряд усовершенствований. В настоящее время компания вместе с партнерами разрабатывает широкий набор акселераторов и периферийных устройств, а также соответствующих драйверов и интерфейсов прикладных программ, которые позволят программистам и системным инженерам расширить функциональность своих проектов. Некоторые из этих дополнений будут готовы к моменту выпуска продукта, что позволит пользователям создавать собственные IP-продукты.
В более далекой перспективе компания Xilinx планирует разработать компиляторы с языка “С” на язык программирования ПЛИС FPGA, что, в конечном счете, упростит перемещение функций из программной среды в аппаратную и наоборот. “Идея состоит в том, чтобы программу, написанную на языке “С”, можно было быстро преобразовать в аппаратные и программные средства, – сказал DeHaven.
Кроме того, компания планирует выпустить набор программных инструментов: интегрированную среду разработки на базе Eclipse, компилятор на базе GNU, отладчик и драйверы. Компания Xilinx также работает в тесном сотрудничестве с независимыми фирмами, стимулируя разработку ими ориентированных на новую архитектуру программных пакетов (операционных систем, средств разработки) для оказания помощи использующим ее инженерам.
ОРИЕНТАЦИЯ НА ВЕРТИКАЛЬНЫЕ РЫНКИ
Компания Xilinx создала новую архитектуру, ориентируясь на требования потребителей, которым необходимо масштабируемое и гибкое устройство. Расширяемая платформа обработки данных позволит им создавать продукты, отличные от продукции конкурентов, изготовленной на основе специализированных микросхем с неизменным набором функций. “Компания продемонстрировала платформу нескольким потребителям, которые изъявили желание ее приобрести, – сказал V. Ratford. – Ожидается, что спрос на нее будет огромным”.
В компании надеются, что любой из вертикальных рынков (вертикальный рынок – рынок товаров, необходимых узкому кругу потребителей), включая интеллектуальное видео, получит ощутимые преимущества, используя новое устройство. В интеллектуальном видео используется многократная обработка сигнала, что хорошо согласуется со способностью программируемой логики к параллельным вычислениям. В интеллектуальном видео выполняется аналитическая обработка информации на уровне отдельных элементов, которая реализуется сочетанием параллельных (на основе программируемой логики) и последовательных (на основе микропроцессора) функций. В то же время операции, связанные с принятием решений, управлением и обменом данными на уровне всей структуры, реализуются, как правило, на базе микропроцессора.
К оборудованию, производители которого могут получить выгоду от внедрения нового продукта, можно отнести системы помощи водителям, многофункциональные принтеры, встроенные системы со сканерами, «интеллектуальные» видеокамеры, в том числе web-камеры наблюдения и системы машинного зрения, цифровые видеомагнитофоны, медицинскую диагностическую аппаратуру, студийные телекамеры и преобразователи, а также системы ночного видения.
Можно с уверенностью утверждать, что внедрение нового продукта позволит заметно улучшить характеристики систем помощи водителю. Ведущие производители этого вида продукции уже давно предлагали компании Xilinx создать расширяемую платформу на базе процессора ARM. Автомобильные компании создадут для нее программу, позволяющую анализировать данные, поступающие от датчиков, установленных по периметру транспортного средства, причем каждый датчик будет выполнять несколько функций одновременно. В интеллектуальной системе управления датчики будут, например, обнаруживать транспорт, двигающийся по соседним полосам, уравнивать скорость автомобиля со скоростью идущего впереди транспорта, а также определять наличие пешеходов и свободных мест между стоящими автомобилями для выбора места стоянки. Система будет немедленно предупреждать водителя при возникновении аварийной ситуации или автоматически тормозить автомобиль во избежание столкновения.
Поскольку все функции такого устройства реализуются программным способом, можно было бы разработать различные модификации этого контроллера для разных марок автомобилей при неизменной конфигурации блока управления. Такой подход обеспечит существенную экономию времени и средств. Кроме того, программируемость всех функций позволит выполнять обслуживание и модернизацию контроллеров на месте их эксплуатации.
В промышленном производстве также можно создать системы, анализирующие поступающую от датчиков информацию и в режиме реального времени выявляющие дефекты продукции. Они будут обнаруживать трещины в оборудовании или отключать электродвигатели при повышении их температуры или отсутствии нагрузки, снижая тем самым эксплуатационные расходы. Их можно также использовать для оптимизации технологических операций или обеспечения безопасной работы производственного персонала.
Новое устройство может найти широкое применение в маршрутизаторах, коммутаторах и мультиплексорах проводной связи, в системах беспроводной связи, в особенности стандарта LTE, а также в приемопередатчиках основной полосы частот и фемтосотах.
Компания Xilinx также надеется, что устройство найдет применение в военно-космической отрасли, особенно при управлении положением пилотируемого аппарата, его вооружением и связным оборудованием, поддерживающим Глобальную Информационную Сеть.
Фирма National Instruments, многолетний потребитель продукции Xilinx и основной заказчик нового устройства, контролировала ход его разработки, внося необходимые коррективы. В настоящее время выпускаемая ею платформа LabVIEW FPGA на одной плате с процессором, работающим в реальном масштабе времени, содержит и ПЛИС FPGA компании Xilinx (http://www.ni.com/fpga/). Используя большое число периферийных входов и выходов платформы, а также содержащийся в ней широкий набор программ, потребители могут разрабатывать уникальные встраиваемые системы для вертикальных рынков. Перенос некоторых функций микропроцессора в FPGA позволяет ускорить их выполнение и тем самым существенно повысить производительность платформы, что важно при ее использовании в измерительных системах или для управления высокоскоростными приложениями.
В фирме National Instruments (NI) ожидают, что встроенные продукты на базе новой архитектуры Xilinx будут работать намного быстрее при существенно меньшем энергопотреблении, как отметил сотрудник фирмы Keith Odom.
“Теперь у NI будет высокопроизводительный процессор, обеспечивающий эффективное управление графической средой проектирования, а также линия связи с большой пропускной способностью, соединяющая процессор с ПЛИС, – сказал K. Odom. – Объем данных, которыми могут обмениваться процессор и ПЛИС, намного больше, чем в FPGA со встроенным процессором или даже в специализированной микросхеме, построенной на базе микроконтроллера. Более высокая пропускная способность позволит перейти от приложений, связанных с обработкой звука, к более скоростным, таким как радиосвязь, телевидение и др., а также использовать намного более сложные алгоритмы обработки данных”.
- K. Odom также отметил, что такое решение, представляющее собой объединение двух устройств, позволит существенно уменьшить потребление энергии при обмене данными. “Так как многие входы и выходы этих устройств связаны между собой, нет необходимости расходовать мощность, которая обычно затрачивается при высокоскоростной передаче данных от одной микросхемы к другой. Имеется также возможность дальнейшего уменьшения потребления путем перевода устройства в режим ожидания”, – сказал он.
Odom также подчеркнул, что основой нового устройства является процессор, а не FPGA. “Потребитель желает в ряде случаев иметь возможность перепрограммировать FPGA в зависимости от выполняемых задач, в то время как в другое время процессор должен работать независимо от FPGA. Предлагаемая архитектура идеально подходит для этого”.
“Будет крайне любопытно увидеть то, как потребители будут использовать новое устройство, – сказал Vin Ratford. – Однако мы должны еще немного поработать, чтобы раскрыть все его потенциальные возможности”.