Выпуск #4/2018
Л. Каттанео
Решение для компактных и производительных систем – процессоры с открытой архитектурой на ПЛИС
Решение для компактных и производительных систем – процессоры с открытой архитектурой на ПЛИС
Просмотры: 1578
DOI: 10.22184/1992-4178.2018.175.4.88.89
Рассказывает технический директор компании Microsemi
по региону EMEA и России Л. Каттанео
Современная электроника промышленного назначения требует гибких высокопроизводительных решений с широким функционалом. Одним из путей, по которому могут идти разработчики таких систем, чтобы эффективно отвечать этим требованиями, – использование ПЛИС в качестве основы для своих проектов. Компания Microsemi, среди областей деятельности которой важное место занимают ПЛИС малой и средней логической емкости, предлагает не только передовые ПЛИС, способные успешно справляться с этой задачей, но целую экосистему для разработки проектов. О некоторых новых решениях компании на выставке Embedded World 2018 нам рассказал технический директор Microsemi по региону EMEA и России Лука Каттанео (Luca Cattaneo).
В этом году на выставке Embedded World мы показываем новую серию ПЛИС средней логической емкости под названием PolarFire, на базе которой реализованы два демонстрируемых на нашем стенде решения. Одно из них предназначено для обработки видео. Оно демонстрирует расширенные возможности, характерные для серии PolarFire. Второе решение – это система искусственного интеллекта для распознавания образов, построенная на специализированных процессорных ядрах.
С точки зрения логической емкости, ПЛИС новой серии PolarFire перекрывают широкий спектр применений от специальной, аэрокосмической аппаратуры, бортовой электроники гражданских воздушных судов до промышленных встраиваемых систем и решений для Интернета вещей. Во многих из этих областей предъявляются высокие требования к функциональности и производительности, при этом изделия должны быть компактными и малопотребляющими.
Обычно, для создания программного ядра процессора, включая вспомогательные средства, такие как таймеры, контроллер памяти и т. п., требуется около 10 тыс. логических элементов. Серия PolarFire включает ПЛИС с количеством логических элементов от 109 до 481 тыс. Таким образом, заказчик имеет возможность создания сложных высокофункциональных систем, в которых реализовано несколько процессорных подсистем в одной микросхеме. И предоставляемые Microsemi средства разработки и отладки уже поддерживают такие многопроцессорные решения.
Для реализации и поддержки программных процессорных ядер компания Microsemi создала экосистему Mi-V, ориентированную на архитектуру RISC–V. Она содержит различные инструменты для разработки, предназначенные для применения с ПЛИС Microsemi, а также ряд инструментов для работы с другими процессорами RISC–V. Данная архитектура является открытой, а это означает, что любой человек может разработать свой процессор с этой стандартизованной системой команд без необходимости уплаты какой-либо комиссии или лицензионных отчислений. Поэтому наши заказчики могут свободно использовать решения от компании Microsemi и ее партнеров для создания программных ядер с этой архитектурой и создавать свои специализированные процессорные системы на их основе.
В рамках экосистемы Mi-V уже представлен ряд различных программных процессоров, и этот ряд будет расширяться. В процессорах реализованы умножители и делители целых чисел, и, кроме того, имеется вариант ядра с обработкой чисел с плавающей запятой одинарной точности. Также по заказу клиентов в этот список могут добавляться другие процессорные ядра.
С точки зрения производительности программные ядра экосистемы Mi-V, реализованные на ПЛИС PolarFire, обладают высоким показателем MIPS / МГц, превосходящим соответствующую характеристику ряда других RISC-решений. Кроме того, потребление ПЛИС PolarFire ниже, чем у эквивалентных ПЛИС на основе SRAM, на величину до 50%. Высокая удельная производительность и низкая потребляемая мощность особенно важны в тех задачах, в которых существуют ограничения в отношении питания, например в устройствах Интернета вещей. Кроме того, это положительно сказывается на долгосрочной надежности, поскольку чем лучше эти показатели, тем меньше нагревается кристалл и микросхема в целом, а, как известно, при нагреве надежность компонента снижается. Наконец, чем меньше тепла выделяет компонент, тем меньше требуется средств для обеспечения теплоотвода, что позволяет создавать более компактные системы.
Экосистема Mi-V содержит не только программные процессорные ядра, но также инструменты для разработки, среди которых интегрированная среда разработки Microsemi SoftConsole на основе Eclipse, каталог микропрограммного обеспечения, а также САПР устройств на ПЛИС Libero SoC. В экосистеме представлены все необходимые драйверы для периферийных устройств, доступных в качестве IP-блоков в каталоге микропрограмм, и другие программные средства, которые необходимы для того, чтобы заказчик мог создать процессорную систему на базе наших ПЛИС под свои конкретные задачи.
То, что мы бесплатно предоставляем исходный код для наших процессоров, важно не только с точки зрения удобства разработки систем, но и для их сертификации, потому что органы сертификации часто требуют обеспечить возможность проверки исходного кода.
Кроме того, в экосистему Mi-V входят такие полезные средства, как отладочные платы и комплекты разработки, а также различные примеры проектов.
Мы расширяем эту экосистему поддержкой различных операционных систем реального времени. Сейчас ведется работа над тем, чтобы обеспечить поддержку процессоров на ПЛИС Microsemi такими системами, как FreeRTOS, SiLabs Micrium μC / OS-II и Express Logic ThreadX. Также мы планируем добавить к нашим решениям симулятор для отладки ПО без загрузки в реальное устройство.
Отладка – крайне важный аспект при разработке систем на ПЛИС. Если система не работает, определить, в чем заключается проблема, бывает непросто. Некоторые компании предлагают следующее решение. Если проект работает неправильно, они предлагают изменить его, добавить в него некий «прибор», например блок логического анализатора. И часто встречается такая ситуация, что измененный таким образом проект волшебным образом начинает работать. В результате ошибка так и остается нелокализованной.
Мы подошли к этой проблеме по-другому. У нас есть инструмент под названием SmartDebug, в котором используются специализированные контрольные точки, имеющиеся в структуре ПЛИС Microsemi. Заказчик подключает программатор к порту JTAG устройства и выбирает одну или две цепи из имеющихся в списке цепей данной части проекта. Сигналы этих цепей выводятся на внешние контакты. После этого можно произвести необходимые измерения, проверить, как ведут себя эти сигналы. Это происходит практически так же, как при проверке сигналов в различных точках платы с помощью осциллографа, но внутри самой микросхемы без вмешательства в структуру проекта. Как и при использовании пробников осциллографа, SmartDebug позволяет непосредственно в процессе поиска ошибки менять точки, в которых выполняется измерение.
При этом можно выбрать любой сигнал в качестве сигнала запуска, задать количество периодов тактового генератора, в течение которых будет захватываться сигнал и т. п. Данные записываются в файл VCD, который впоследствии можно открыть с помощью симулятора и сверить с результатами симуляции.
Этот подход значительно упрощает процесс поиска ошибок в проекте без необходимости внесения в него каких-либо изменений.
Материал подготовлен Ю. Ковалевским
по региону EMEA и России Л. Каттанео
Современная электроника промышленного назначения требует гибких высокопроизводительных решений с широким функционалом. Одним из путей, по которому могут идти разработчики таких систем, чтобы эффективно отвечать этим требованиями, – использование ПЛИС в качестве основы для своих проектов. Компания Microsemi, среди областей деятельности которой важное место занимают ПЛИС малой и средней логической емкости, предлагает не только передовые ПЛИС, способные успешно справляться с этой задачей, но целую экосистему для разработки проектов. О некоторых новых решениях компании на выставке Embedded World 2018 нам рассказал технический директор Microsemi по региону EMEA и России Лука Каттанео (Luca Cattaneo).
В этом году на выставке Embedded World мы показываем новую серию ПЛИС средней логической емкости под названием PolarFire, на базе которой реализованы два демонстрируемых на нашем стенде решения. Одно из них предназначено для обработки видео. Оно демонстрирует расширенные возможности, характерные для серии PolarFire. Второе решение – это система искусственного интеллекта для распознавания образов, построенная на специализированных процессорных ядрах.
С точки зрения логической емкости, ПЛИС новой серии PolarFire перекрывают широкий спектр применений от специальной, аэрокосмической аппаратуры, бортовой электроники гражданских воздушных судов до промышленных встраиваемых систем и решений для Интернета вещей. Во многих из этих областей предъявляются высокие требования к функциональности и производительности, при этом изделия должны быть компактными и малопотребляющими.
Обычно, для создания программного ядра процессора, включая вспомогательные средства, такие как таймеры, контроллер памяти и т. п., требуется около 10 тыс. логических элементов. Серия PolarFire включает ПЛИС с количеством логических элементов от 109 до 481 тыс. Таким образом, заказчик имеет возможность создания сложных высокофункциональных систем, в которых реализовано несколько процессорных подсистем в одной микросхеме. И предоставляемые Microsemi средства разработки и отладки уже поддерживают такие многопроцессорные решения.
Для реализации и поддержки программных процессорных ядер компания Microsemi создала экосистему Mi-V, ориентированную на архитектуру RISC–V. Она содержит различные инструменты для разработки, предназначенные для применения с ПЛИС Microsemi, а также ряд инструментов для работы с другими процессорами RISC–V. Данная архитектура является открытой, а это означает, что любой человек может разработать свой процессор с этой стандартизованной системой команд без необходимости уплаты какой-либо комиссии или лицензионных отчислений. Поэтому наши заказчики могут свободно использовать решения от компании Microsemi и ее партнеров для создания программных ядер с этой архитектурой и создавать свои специализированные процессорные системы на их основе.
В рамках экосистемы Mi-V уже представлен ряд различных программных процессоров, и этот ряд будет расширяться. В процессорах реализованы умножители и делители целых чисел, и, кроме того, имеется вариант ядра с обработкой чисел с плавающей запятой одинарной точности. Также по заказу клиентов в этот список могут добавляться другие процессорные ядра.
С точки зрения производительности программные ядра экосистемы Mi-V, реализованные на ПЛИС PolarFire, обладают высоким показателем MIPS / МГц, превосходящим соответствующую характеристику ряда других RISC-решений. Кроме того, потребление ПЛИС PolarFire ниже, чем у эквивалентных ПЛИС на основе SRAM, на величину до 50%. Высокая удельная производительность и низкая потребляемая мощность особенно важны в тех задачах, в которых существуют ограничения в отношении питания, например в устройствах Интернета вещей. Кроме того, это положительно сказывается на долгосрочной надежности, поскольку чем лучше эти показатели, тем меньше нагревается кристалл и микросхема в целом, а, как известно, при нагреве надежность компонента снижается. Наконец, чем меньше тепла выделяет компонент, тем меньше требуется средств для обеспечения теплоотвода, что позволяет создавать более компактные системы.
Экосистема Mi-V содержит не только программные процессорные ядра, но также инструменты для разработки, среди которых интегрированная среда разработки Microsemi SoftConsole на основе Eclipse, каталог микропрограммного обеспечения, а также САПР устройств на ПЛИС Libero SoC. В экосистеме представлены все необходимые драйверы для периферийных устройств, доступных в качестве IP-блоков в каталоге микропрограмм, и другие программные средства, которые необходимы для того, чтобы заказчик мог создать процессорную систему на базе наших ПЛИС под свои конкретные задачи.
То, что мы бесплатно предоставляем исходный код для наших процессоров, важно не только с точки зрения удобства разработки систем, но и для их сертификации, потому что органы сертификации часто требуют обеспечить возможность проверки исходного кода.
Кроме того, в экосистему Mi-V входят такие полезные средства, как отладочные платы и комплекты разработки, а также различные примеры проектов.
Мы расширяем эту экосистему поддержкой различных операционных систем реального времени. Сейчас ведется работа над тем, чтобы обеспечить поддержку процессоров на ПЛИС Microsemi такими системами, как FreeRTOS, SiLabs Micrium μC / OS-II и Express Logic ThreadX. Также мы планируем добавить к нашим решениям симулятор для отладки ПО без загрузки в реальное устройство.
Отладка – крайне важный аспект при разработке систем на ПЛИС. Если система не работает, определить, в чем заключается проблема, бывает непросто. Некоторые компании предлагают следующее решение. Если проект работает неправильно, они предлагают изменить его, добавить в него некий «прибор», например блок логического анализатора. И часто встречается такая ситуация, что измененный таким образом проект волшебным образом начинает работать. В результате ошибка так и остается нелокализованной.
Мы подошли к этой проблеме по-другому. У нас есть инструмент под названием SmartDebug, в котором используются специализированные контрольные точки, имеющиеся в структуре ПЛИС Microsemi. Заказчик подключает программатор к порту JTAG устройства и выбирает одну или две цепи из имеющихся в списке цепей данной части проекта. Сигналы этих цепей выводятся на внешние контакты. После этого можно произвести необходимые измерения, проверить, как ведут себя эти сигналы. Это происходит практически так же, как при проверке сигналов в различных точках платы с помощью осциллографа, но внутри самой микросхемы без вмешательства в структуру проекта. Как и при использовании пробников осциллографа, SmartDebug позволяет непосредственно в процессе поиска ошибки менять точки, в которых выполняется измерение.
При этом можно выбрать любой сигнал в качестве сигнала запуска, задать количество периодов тактового генератора, в течение которых будет захватываться сигнал и т. п. Данные записываются в файл VCD, который впоследствии можно открыть с помощью симулятора и сверить с результатами симуляции.
Этот подход значительно упрощает процесс поиска ошибок в проекте без необходимости внесения в него каких-либо изменений.
Материал подготовлен Ю. Ковалевским
Отзывы читателей