Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Встроенный

Уменьшение продолжительности цикла проектирования в совместно разработанных SoC с помощью Renode

В этой статье мы объясняем, как использование функциональных симуляторов с открытым исходным кодом, таких как Antmicro Renode, может быть неотъемлемой частью совместных усилий по разработке программного и аппаратного обеспечения. .

В этой статье мы объясняем, как использование функциональных симуляторов с открытым исходным кодом, таких как Renode от Antmicro, может быть неотъемлемой частью усилий по совместному проектированию аппаратного и программного обеспечения.

По данным Semico Research, по мере того, как рынки требуют большего от своих встроенных систем, SoC следующего поколения становятся все более сложными, что приводит к увеличению продолжительности циклов проектирования и увеличению затрат.

Разочаровывающая реальность для производителей устройств заключается в том, что единственный способ предоставить новые и инновационные функции, большую безопасность и лучшую производительность, о которых просят их клиенты, - это участие в совместном проектировании «всего стека», развитии аппаратного обеспечения, микропрограмм и среды выполнения. (ОС) и инструментарий разработки в тандеме. Это позволяет командам разработчиков аппаратного и программного обеспечения решать сложные вопросы относительно того, где в стеке реализовывать функциональные возможности и оптимизацию.

К сожалению, совместное проектирование часто является ключевым фактором увеличения продолжительности циклов проектирования и, следовательно, затрат, когда отсутствуют надлежащие инструменты моделирования.

В этой статье мы объясняем, как использование функциональных симуляторов с открытым исходным кодом, таких как Renode от Antmicro, может быть неотъемлемой частью усилий по совместному проектированию аппаратного и программного обеспечения. Кроме того, мы покажем вам пример того, как пользователи Renode могут использовать этот инструмент, чтобы резко сократить продолжительность своих циклов проектирования, предоставить клиентам простые и эффективные средства для оценки своих решений и начать параллельную адаптацию программного обеспечения. с усилиями по интеграции оборудования.

Где программные симуляторы могут потерпеть неудачу

Важность выбора правильного инструмента моделирования лучше всего проиллюстрирована на примере Dover Microsystems.

Технология Dover CoreGuard® - единственное решение, которое предотвращает использование уязвимостей программного обеспечения и позволяет процессорам защищаться от сетевых атак. Dover смог добиться этого за восемь лет исследований и разработок - сначала в качестве крупнейшего исполнителя в программе сбоев DARPA, а затем в Draper Labs, что привело к созданию уникального гибридного аппаратно-программного решения для встроенных систем.

Это гибридное решение требует тесной интеграции как аппаратных, так и программных компонентов. CoreGuard Silicon IP - это сторожевой процессор, который действует как телохранитель, защищая встроенные системы от кибератак. Он отслеживает каждую инструкцию, выполняемую главным процессором, чтобы гарантировать, что она соответствует определенному набору правил безопасности, защиты и конфиденциальности, называемым микрополитиками - программным компонентом CoreGuard. Если инструкция нарушает существующее правило, CoreGuard останавливает ее выполнение до того, как будет нанесен какой-либо ущерб.

Для этого CoreGuard необходимо успевать за работой хост-процессора. То есть в среднем он должен иметь возможность выводить из обращения (утверждать с помощью микрополитиков) инструкции с той же скоростью, что и защищаемый хост-процессор. Также желательно, чтобы CoreGuard минимизировал объем памяти, необходимый для управления метаданными.

Следовательно, удовлетворение требований к производительности, мощности и площади требует сложного взаимодействия оптимизаций как на аппаратном, так и на программном уровнях.

Команда разработчиков оборудования в Dover использует стандартный процесс и набор инструментов на основе SystemVerilog. Первоначальные прототипы системы CoreGuard построены на SoC на основе RISC-V. Поскольку CoreGuard имеет существенный программный компонент в дополнение к аппаратному IP, было важно, чтобы команда разработчиков программного обеспечения могла начать работу задолго до того, как будут доступны какие-либо прототипы оборудования.

Команда разработчиков программного обеспечения в Dover первоначально использовала программный симулятор Spike RISC-V ISA, который доступен в репозиториях RISC-V на GitHub. При коммерческой разработке CoreGuard на основе Spike они столкнулись с двумя проблемами:

  1. Spike не предоставляет реалистичных периферийных устройств; то есть Spike - это симулятор ISA, а не симулятор SoC. Команда Dover начала добавлять в Spike периферийные устройства, такие как UART и постоянное хранилище, и это потребовало огромных усилий.
  2. Spike, по определению, специфичен для RISC-V, но первоначальными клиентами Dover Microsystems являются как RISC-V, так и Arm.

Эти недостатки подчеркнули потребность Dover в гибком мультиархитектурном симуляторе с концепцией периферийных моделей, которые будут использоваться вместо Spike.

Как Renode решает важные задачи совместного проектирования

Столкновение с аналогичными неоднородными проблемами совместного проектирования аппаратного и программного обеспечения, возникающими из-за работы с программными ядрами с открытым исходным кодом, ранним программным обеспечением для передовых вычислительных платформ, SoC FPGA и новыми архитектурами ЦП, такими как RISC-V, Antmicro - ориентированная на открытый исходный код поставщик технологий и услуг - разработал гибкую платформу моделирования под названием Renode.

Renode - это иерархическая модульная среда моделирования, предназначенная для запуска реального производственного (т.е. немодифицированного) микропрограммного обеспечения в различных сложных системах, включая взаимосвязанные многоузловые, многоархитектурные, гетерогенные системы уровня MCU и системы с поддержкой Linux.

Чтобы справиться с этими различными уровнями сложности, Renode построен на сильном понятии абстракции и использует объектно-ориентированный модульный подход к моделированию системы. Ядра и периферийные устройства рассматриваются как строительные блоки, которые можно соединять через интерфейсы в различных конфигурациях, что отражает то, как построены настоящие SoC.

Рисунок 1. Пример смоделированной RISC-V SoC.

На рисунке 1 показан пример смоделированной RISC-V SoC. Каждый строительный блок, включая ЦП, имеет набор свойств и API, которые можно использовать для построения имитационной модели всей SoC. Точно так же отдельные узлы могут быть дополнительно объединены в многоузловую систему с использованием виртуализированных беспроводных и проводных соединений (6LoWPAN, UART, Ethernet и т. Д.). Все это не требует изменений в кодовой базе Renode, но выполняется с помощью конфигурации и сценариев, что сокращает время обучения и ограничивает фрагментацию кодовой базы.

Гибкая природа среды Renode, ее доступность с открытым исходным кодом и наличие коммерческой поддержки, предоставляемой ее авторами, позволили Dover сначала создать прототип реализации желаемого рабочего процесса, а затем заключить договор с Antmicro для реализации (и выпуска в открытый доступ). исходный домен), которые сделали Renode еще лучше подходящим для их случая использования, например выполнение каждой инструкции.

В частности, с помощью Renode инженеры Dover теперь могут:

Смоделируйте спецификацию аппаратной архитектуры из группы аппаратного обеспечения Dover, затем напишите и протестируйте прошивку для этих моделей, пока оборудование находится в стадии разработки.

Как Renode значительно сократил цикл проектирования Dover

Технология Dover CoreGuard - это гибридный продукт для обеспечения кибербезопасности, в котором развиваются как аппаратное, так и программное обеспечение. Поэтому важно, чтобы процесс разработки Dover позволял параллельно разрабатывать и тестировать как аппаратное, так и программное обеспечение.

Рисунок 2. Процесс разработки, используемый Dover.

Dover использует процесс разработки, показанный на Рисунке 2. Команды, занимающиеся аппаратным и программным обеспечением, совместно работают над аппаратным интерфейсом (который, конечно, будет продолжать развиваться). Когда группа разработчиков оборудования начинает реализацию блоков в SystemVerilog, группа разработчиков программного обеспечения создает модели новых блоков на C #, родном языке, лежащем в основе Renode. Затем команда разработчиков программного обеспечения может написать прошивку, которая взаимодействует с новыми аппаратными интерфейсами, и протестировать это программное обеспечение с помощью моделирования Renode. В конечном итоге программное обеспечение запускается на эмуляторе FPGA.

Этот процесс разработки, ставший возможным благодаря Renode, помог Dover оптимизировать моделирование как с «низкой точностью», так и с «высокой точностью».

Хотя это моделирование «низкой точности» абстрагируется от всей аппаратной логики CoreGuard, Dover по-прежнему считает эту настройку полезной в следующих контекстах:

В моделировании «высокой точности», которое воспроизводит более точную модель оборудования, инженерная группа Dover смогла выявить ряд преимуществ Renode, в том числе:

Как указывалось ранее, существуют некоторые сложные ограничения производительности и площади, которые решения следующего поколения, такие как CoreGuard, накладывают на группы разработчиков SoC во время реализации.

Чтобы повысить производительность и уменьшить использование памяти, необходимо выполнить широкий спектр оптимизаций, которые часто выходят за рамки аппаратного / программного обеспечения.

Очень важно, чтобы проектные группы могли исследовать широкий спектр возможных методов совместной оптимизации аппаратного и программного обеспечения и компромиссов без большого последовательного процесса разработки «сначала аппаратное обеспечение, затем программное обеспечение». Гибкий программный функциональный симулятор, такой как Renode, позволяет инженерам Dover сотрудничать, преодолевая разрыв между аппаратным и программным обеспечением, чтобы находить оптимальные компромиссы между сложностью аппаратного и программного обеспечения, что делает его неотъемлемой частью их усилий.

Чтобы узнать больше о том, как Renode может оптимизировать совместные проекты, посетите renode.io. Чтобы узнать больше о том, как CoreGuard может защитить встроенные системы от сетевых атак, запросите демонстрацию, чтобы увидеть CoreGuard в действии.

Соавтором этой статьи является Майкл Гильда, вице-президент по развитию бизнеса и соучредитель Antmicro.

Отраслевые статьи - это форма контента, позволяющая отраслевым партнерам делиться полезными новостями, сообщениями и технологиями с читателями All About Circuits, что не подходит для редакционного контента. Все отраслевые статьи подлежат строгим редакционным правилам с целью предлагать читателям полезные новости, технические знания или истории. Точки зрения и мнения, выраженные в отраслевых статьях, принадлежат партнеру, а не обязательно All About Circuits или ее авторам.


Встроенный

  1. Что такое дизайн встроенной системы:этапы процесса проектирования
  2. 4 задачи аддитивного производства, которые можно решить с помощью программного обеспечения
  3. Интервью с экспертом:генеральный директор nTopology о расширении потенциала AM с помощью программного обеспечени…
  4. Разработка будущего с помощью робототехники
  5. Оптимизация RF-фидера при проектировании печатной платы
  6. Как выбрать лучшее САПР для дизайна ювелирных изделий
  7. Производство гендерно-чувствительных и индивидуализированных товаров с помощью предохранителя 1
  8. Переход на программное обеспечение CMMS с помощью Стива Рикарда (PODCAST)
  9. Как освоить управление оптовыми заказами с помощью правильного программного обеспечения
  10. Поиск оптимальной технологии программного обеспечения для облачного производства