Изделия оборонной и авиакосмической промышленности имеют множество конструктивных исполнений и областей применения: портативные, переносные, мобильные, стационарные, морские, бортовые, космические пилотируемые, беспилотные аппараты и т.д.
Тем не менее, у этих изделия много общего – они должны иметь повышенную надежность, сохранять рабочее состояние в жестких условиях эксплуатации и в расширенном температурном диапазоне. Кроме того, нередки случаи, когда изделия должны быть радиационно-стойкими. В ряде приложений встречаются ограничения по размеру изделия или энергопотреблению.
У поставщиков компонентов для таких систем должны быть соответствующие сертификаты, которые имеются не у всех компаний и получить которые не так-то просто. По этим причинам круг поставщиков ограничен и, следовательно, ограничена номенклатура используемых изделий. Не менее актуальным является вопрос об интеллектуальной собственности (IP).
Многие из перечисленных задач решаются за счет использования ПЛИС. Они отлично подходят для высокоскоростной обработки сигналов, аппаратного ускорения, расширения вводы/вывода и других схожих задач. Одно из главных преимуществ ПЛИС состоит в том, что они позволяют использовать конфигурируемые процессорные ядра (soft IP processor cores). В силу своей гибкости и адаптивности к конкретной задаче подобные ядра в ряде приложений имеют очевидные преимущества по сравнению с традиционными жесткими аппаратными решениями в микроконтроллерах.
Конфигурируемые ядра описываются на понятном языке HDL для аппаратного обеспечения, позволяя удостовериться, что в них содержатся все необходимые составляющие и отсутствуют лишние компоненты. Это значит, что ПЛИС можно использовать с максимальной эффективностью и повысить надежность решений. Однако, как известно, у каждой палки есть два конца, и в данном случае преимущества конфигурируемых ядер оборачиваются высокой стоимостью IP-решения.
Новая архитектура RISC-V с открытым набором команд (ISA) предоставляет разработчикам больше возможностей для оптимизации и позволяет установить конфигурацию, максимально отвечающую требованиям проекта. RISC-V представляет собой набор команд, доступный по лицензии Berkeley Software Distribution (BSD). Разработчик волен создавать любые IP, которые можно реализовать с помощью команд RISC-V; при этом не придется платить роялти или приобретать лицензию на эти IP.
Открытый код позволяет дополнять его в соответствии с нуждами конкретного проекта. Другими словами, разработчик может изменять архитектуру процессора с целью увеличить его производительность для решения конкретной задачи или уменьшить энергопотребление. До появления RISC-V подобные модификации программного обеспечения могли осуществлять только держатели лицензии и обходились эти лицензии, как правило, весьма недешево.
Поскольку многие оборонные программы требуют использования только доверенного кода от надежных поставщиков, весьма полезным является доступное для проверки IP в форме HDL, которое позволяет убедиться в отсутствии незадекларированных возможностей. Кроме того, оно гарантирует конечному потребителю безопасность для применения в оборонной промышленности. Возможность проверки кода HDL также полезна для обеспечения безопасности критически важных приложений, например коммерческой авиации, железнодорожного транспорта и аналогичных применений.
Экосистема RISC-V постоянно расширяется. В качестве примера можно привести архитектуру Mi-V компании Microchip (см. рис. 1). Эта архитектура предназначена для расширения использования семейства программных продуктов RISC-V и будущего семейства продуктов СнК PolarFire.

Рис. 1. Архитектура Mi-V
Одним из примеров, демонстрирующих расширение экосистемы RISC-V, служит добавление возможности компиляции языков Ada и SPARK. Они из того же поколения, что и язык С++, но предназначены для обеспечения высокой надежности. По сути, эти языки стали стандартами в оборонной промышленности. За время их существования было разработано множество кодов, которые портировались в архитектуры разных поколений. Теперь и RISC-V дополнила эту цепочку надежных доверенных решений.
В настоящее время язык Ada получил распространение не только в оборонной промышленности. Им заинтересовались разработчики автомобильной электроники и медицинских систем. Так случилось после пересмотра языка Ada (Ada 2012) и введения четвертой версии SPARK 2014. Результатом изменений стало сокращение затрат на 40% по сравнению с С++.
После изменений язык Ada содержит меньше неопределенностей, чем С, что делает более строгим компилирование программного кода и позволяет программисту точнее выразить свои намерения, что, в конечном итоге, уменьшает количество ошибок и упрощает сертификацию ПО.
Дистрибьюторы Ada предоставляют ядро реального времени Ravenscar, которое может работать на «голом железе». Это обстоятельство позволяет демонстрировать безопасность кода, отсутствие зависаний и инверсий приоритетов. Ядро можно использовать для стесненных сред, где нежелательно применение полнофункциональной операционной системы. Комбинация Ada и RISC-V создает хорошую платформу для высоконадежного программного обеспечения в авиакосмической и оборонной промышленности.
Рис. 1. Архитектура Mi-V
Статьи, реклама, подписка: anton.denisov@ecomp.ru