Разработка компании XILINX: расширяемая платформа обработки данных на базе процессора ARM

15.03.2024 |

В статье описана разра­ботка компании Xilinx – рас­ширяемая платформа обработки данных, предназначенная как для программистов, так и для систем­ных инженеров.

А. Мельниченко

В течение последних десяти лет производи­тели ПЛИС FPGA не оставляли попыток вклю­чить разработчиков встроенного программного обеспечения в число своих клиентов, которы­ми до настоящего времени были только разра­ботчики аппаратных средств. Число програм­мистов во всем мире примерно на порядок пре­вышает число разработчиков аппаратных средств. В настоящее время компания Xilinx разрабатывает на базе микропроцессора ARM новый продукт: Extensible Processing Plat­form – расширяемую платформу обработки данных, предназначенную для упрощения ре­шения задач, возникающих при проектирова­нии встроенных систем. Ожидается, что эта платформа позволит компании существенно расширить рынки сбыта своей продукции.

Поскольку за последнее десятилетие слож­ность ПЛИС 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 со встроенным процессором или даже в специализированной микросхеме, построен­ной на базе микроконтроллера. Более высо­кая пропускная способность позволит перей­ти от приложений, связанных с обработкой звука, к более скоростным, таким как радио­связь, телевидение и др., а также использо­вать намного более сложные алгоритмы обра­ботки данных”.

  1. K. Odom также отметил, что такое решение, представляющее собой объединение двух устройств, позволит существенно уменьшить потребление энергии при обмене данными. “Так как многие входы и выходы этих устройств связаны между собой, нет необходи­мости расходовать мощность, которая обычно затрачивается при высокоскоростной передаче данных от одной микросхемы к другой. Име­ется также возможность дальнейшего умень­шения потребления путем перевода устройства в режим ожидания”, – сказал он.

Odom также подчеркнул, что основой ново­го устройства является процессор, а не FPGA. “Потребитель желает в ряде случаев иметь воз­можность перепрограммировать FPGA в зави­симости от выполняемых задач, в то время как в другое время процессор должен работать не­зависимо от FPGA. Предлагаемая архитектура идеально подходит для этого”.

“Будет крайне любопытно увидеть то, как потребители будут использовать новое устрой­ство, – сказал Vin Ratford. – Однако мы долж­ны еще немного поработать, чтобы раскрыть все его потенциальные возможности”.