OVPsim

редактировать

OVPsim
Разработчик (и)
Стабильный выпуск 20200630.0 / 30 июня 2020 г.; 4 месяца назад (30.06.2020)
Операционная система Windows, Linux
Тип Эмулятор
Лицензия Собственный, Лицензия Apache версия 2.0 для моделей
Веб-сайтwww.ovpworld.org

OVPsim - это мультипроцессорная платформа эмулятор (часто называемый симулятором всей системы ), используемый для запуска неизменных производственных двоичных файлов целевого оборудования. Он имеет общедоступные API, позволяющие пользователям создавать свои собственные процессоры, периферийные устройства и модели платформ. Различные модели доступны с открытым исходным кодом. OVPsim - ключевой компонент инициативы Open Virtual Platforms (OVP), организации, созданной для продвижения использования открытых виртуальных платформ для разработки встроенного программного обеспечения. OVPSim требует регистрации OVP для загрузки.

Содержание
  • 1 Лицензирование
  • 2 Подробности
  • 3 Модели с открытым исходным кодом
  • 4 Симулятор OVPsim
  • 5 API моделирования
    • 5.1 OP
    • 5.2 VMI
    • 5.3 PPM BHM
  • 6 Кто использует OVPsim
  • 7 Ссылки
  • 8 Внешние ссылки
Лицензирование

OVPsim разрабатывается и поддерживается. Основная платформа моделирования - проприетарное программное обеспечение ; он доступен бесплатно для некоммерческого использования. Для коммерческого использования требуется недорогая лицензия от Imperas на обслуживание. Различные модели процессоров, периферийных устройств и платформ доступны в виде бесплатного программного обеспечения по лицензии Apache License версии 2.0.

Подробности

OVP состоит из трех основных компонентов : модели с открытым исходным кодом, быстрый симулятор OVPsim и моделирование API. Эти компоненты предназначены для упрощения сборки многоядерных разнородных или однородных платформ со сложной иерархией памяти, системами кэширования и уровнями встроенного программного обеспечения, которые могут работать со скоростью сотни операций в секунду на стандартных настольных ПК. OVPSim считается с точностью до инструкции, но не с точностью до цикла. Существует множество примеров компонентов и полных виртуальных платформ, которые могут загружать ядро ​​Linux менее чем за 5 секунд на домашней странице OVP.

Модели с открытым исходным кодом

В рамках OVP существует несколько различных категорий моделей. Эти модели предоставляются как в виде предварительно скомпилированного объектного кода, так и в некоторых случаях в виде исходных файлов. OVPsim больше не предоставляет исходный код для моделей процессоров ARM и MIPS. В настоящее время существуют модели процессоров от ARM (процессоры, использующие наборы инструкций ARMv4, ARMv5, ARMv6, ARMv7, ARMv8) до ARM Cortex-A72MPx4 (включая мультикластерные модели ARMv8 с GICv3), Imagination MIPS (процессоры, использующие наборы инструкций MIPS32, MIPS64, microMIPS, nanoMIPS и MIPS R6) до microAptiv, interAptiv, proAptiv и Ядра Warrior, Synopsys Virage ARC600 / ARC700 и ARC EM series, Renesas v850, RH850, RL78 и m16c, PowerPC, Altera Nios II, Xilinx MicroBlaze, RISC-V (модели, использующие 32-битные RV32I, RV32M, RV32IM, RV32A, RV32IMA, RV32IMAC, RV32F, RV32D, RV32E, RV32EC, RV32C, RV32G, RV32GC, RV32GCN, RV32IMAFD и 64-битные RV64I, RV64M, RV64IMAC, RV64F, RV64D, RV64C, RV64G, RV64GC, RV64GCN, RV64IMAFD, подмножества технологий NX25 / AX25 / NX25 / AFD / NX25 / AX25 / Andes AX25F, Microsemi CoreRISCV / MiV-RV32IMA, SiFive E31, E51, U54, U54-MC, Freedom U54 0 и OpenRisc семейств. OpenHW Group использует OVPsim как золотой эталон для своих ядер RISC-V CV32E40 с открытым исходным кодом. Существуют также модели различных типов системных компонентов, включая RAM, ROM, кэш и мост. Существуют периферийные модели, такие как Ethernet MAC, USB, DMA, UART и FIFO. Доступно несколько различных готовых платформ, включая наиболее распространенные операционные системы ucLinux, Linux, Android, FreeRTOS, . Nucleus, Micrium.

Одно из основных применений инфраструктуры моделирования OVP - это возможность создавать и моделировать созданные пользователем модели - либо с нуля, либо с использованием одной из моделей с открытым исходным кодом в качестве отправной точки. API-интерфейсы OVP адаптированы к различным типам моделей: процессорам, поведенческим моделям периферийных устройств и платформ. Для загрузки доступно более 100 вариантов исходных моделей.

Симулятор OVPsim

Симулятор OVPsim доступен как справочник по OVP и бесплатен для некоммерческого использования. В симуляторе используется технология динамического двоичного преобразования для достижения очень высокой скорости моделирования. Возможно выполнение более миллиарда смоделированных инструкций в секунду, в некоторых случаях на обычных настольных компьютерах. OVPsim доступен для хостов x86 Windows и Linux.

OVPsim поставляется с интерфейсом GDB RSP (Remote Serial Protocol), позволяющим отлаживать приложения, работающие на моделируемых процессорах, с помощью любого стандартного отладчика, поддерживающего этот интерфейс GDB RSP. OVPsim поставляется с графическим отладчиком Imperas iGui, а также с Eclipse IDE и интерфейсом CDT.

OVPsim может быть инкапсулирован и вызван из других сред моделирования и поставляется в стандартной комплектации с интерфейсными файлами для C, C ++ и SystemC. OVPsim включает собственные файлы интерфейса SystemC TLM 2.0. Также возможно инкапсулировать устаревшие модели процессоров и поведенческие модели, чтобы они могли использоваться OVPsim.

API моделирования

Модели OVP создаются с использованием C /C++ API. Существует три основных API: OP, VMI, BHM / PPM.

OP

OP API разработан для управления, подключения и наблюдения за платформами. Этот API можно вызывать из C, C ++ или SystemC. Платформа обеспечивает базовую структуру проекта и создает, соединяет и настраивает компоненты. Платформа также определяет отображение адресов и программное обеспечение, загружаемое на процессоры. С OP очень легко определять очень сложные и полные платформы множества различных процессоров, локальной и общей памяти, кэшей, шинных мостов, периферийных устройств и всех их сложных карт адресов, прерываний, операционных систем и прикладного программного обеспечения.

OP API заменил ICM API в 2016 году. ICM API все еще можно использовать для старых платформ.

VMI

Моделирование процессора обеспечивается VMI API. Эти функции API предоставляют возможность легко описывать поведение процессора. Модель процессора, написанная на C с использованием VMI, декодирует целевую инструкцию, которая должна быть смоделирована, и преобразует ее в собственные инструкции x86, которые затем выполняются на ПК. VMI можно использовать для моделирования 8-, 16-, 32- и 64-разрядных архитектур. Существует механизм перехвата, позволяющий эмулировать вызовы функций в библиотеках времени выполнения приложения (таких как запись, fstat и т. Д.), Не требуя модификации модели процессора или моделируемого приложения.

PPM BHM

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

Кто использует OVPsim

OVPsim используется несколькими образовательными учреждениями для обеспечения инфраструктуры моделирования для исследования платформ параллельных вычислений, совместного проектирования аппаратного и программного обеспечения, анализа производительности встроенных систем, и в качестве основы для других разработок встроенных инструментов. Он также используется в учебных курсах, чтобы студенты могли разрабатывать и отлаживать прикладное программное обеспечение, а также создавать виртуальные платформы и новые модели.

Ряд ведущих коммерческих организаций также используют OVPSim в качестве основы для своих продуктовых предложений. Технология была лицензирована MIPS Technologies для обеспечения поддержки моделирования для их линейки встроенных процессоров с архитектурой MIPS, функции в партнерстве с ведущим поставщиком процессоров ARM и являются частью линейки продуктов Europractice для общего доступа к европейским университетам. Версия OVPsim используется рабочей группой по соответствию RISC-V Foundation в качестве эталонного симулятора. Ведущие компании-производители полупроводников, такие как Renesas, использовали симулятор для разработки своих процессоров, о чем сообщалось в ведущих публикациях электронной промышленности. Он был выбран NEPHRON +, исследовательским проектом ЕС, для среды разработки программного обеспечения и тестов. VinChip Systems Inc. из Ченнаи, Индия, использовала OpenOCD и OVPsim для разработки, возможно, первого 32-битного процессора, разработанного в Индии. Модели OVP и виртуальные платформы формируют основу для других мероприятий, предпринимаемых Imperas.

Ссылки
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Внешние ссылки
Последняя правка сделана 2021-06-01 06:43:36
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте