Возможности использования виртуальных платформ для верификации RTL-моделей сложно-функциональных блоков в составе «Систем на кристалле» И.И. Шагурин, Е.И.

Презентация:



Advertisements
Похожие презентации
Программное обеспечение- совокупность всех программ, предназначенных для выполнения на компьютере. Программа- это описание на формальном языке, «понятном»
Advertisements

Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Архитектура операционных систем Семестр 2, Лекция 1.
Тема 1.3. Сервисное программное обеспечение. 1. Понятие операционного окружения Операцио́нное окруже́ние (англ. operating environment) среда, в которой.
Выполнил: Желнин С.В. Научный руководитель: Фельдман В.М.
Программное обеспечение персонального компьютера.
Программное управление компьютером. Компьютер Аппаратное обеспечениеПрограммное обеспечение Аппаратная часть включает основные и периферийные устройства.
Имитационное моделирование в исследовании и разработке информационных систем Лекция 9 Имитационное моделирование аппаратных и программных средств вычислительных.
Архитектура операционной системы. Ядро и вспомогательные модули операционной системы При функциональной декомпозиции ОС модули разделяются на две группы:
«МЭС 2014»1 Аппаратное ускорение цифрового моделирования Зайцев Виктор Сергеевич Белорусский государственный университет Кафедра математической.
Планирование выполнения инструкций для векторных процессоров с переменной длиной векторов Пантелеев Алексей Юрьевич Национальный исследовательский ядерный.
1 Диаграммы реализации (implementation diagrams).
Пользователь (User) Приложение (Software) Операционная система (ОС, Operating System, OS) Оборудование (Hardware)
П рограммное обеспечение (англ. software) – это совокупность программ, обеспечивающих функционирование компьютеров и решение с их помощью задач предметных.
Подготовила асс. кафедры СМК Воробьева Т.А.. Программное обеспечение (ПО) - комплекс программ, обеспечивающих обработку или передачу данных, а также предназначенных.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА Ключевые слова программа программное обеспечение (ПО) системное ПО прикладное ПО система программирования.
Разработка учебно-лабораторного стенда для проведения тестов на проникновение в типовую корпоративную локально- вычислительную сеть предприятия Научный.
Программное обеспечение компьютера. Совокупность программ, хранящихся в долговременной памяти компьютера, составляют программное обеспечение (ПО) компьютера.
Лабораторный практикум по курсу Принципы построения современных ОС Линёв А.В. – ассистент, кафедра ИИСиГИ ВМК ННГУ Свистунов А.Н. – ассистент, кафедра.
Выполнил: Гусев Данил. Что такое программное обеспечение? Возможности современного ПК столь велики, что все большее число людей находят ему применение.
Транксрипт:

Возможности использования виртуальных платформ для верификации RTL-моделей сложно-функциональных блоков в составе «Систем на кристалле» И.И. Шагурин, Е.И. Литвинов, Г.Ю. Жихарев МЭС-2014 VI Всероссийская научно-техническая конференция Национальный исследовательский ядерный университет «МИФИ» НИЯУ «МИФИ» 2014

Новые инструменты и подходы к разработке цифровых систем Растущая сложность разрабатываемых систем, многопроцессорные/многоядерные системы Необходимость разработки ПО на ранних этапах Необходимость ускорения моделирования Григорий Жихарев - МИФИ 2 Параллельная разработка

Виртуальные платформы Решаемые задачи Симуляция аппаратной реализации проекта Разработка и отладка ПО (драйвера, ОС, приложения) Содержимое ВП Набор моделей, которые используются для представления различных СФ-блоков системы Комплекс правил для создания новых моделей Поведенческие модели, написанные на высокоуровневых языках (С/С++) Григорий Жихарев - МИФИ 3

Виртуальные платформы Simics (Intel) Device Modeling Language Коммерческая Seamless (Mentor Graphics) Использование симуляторов ModelSim, VCS и интегрированных средств разработки программ, например RealView (ARM) Коммерческая Open Virtual Platforms (Imperas) Технология создания моделей CpuManager, OVPSim Open Source* Григорий Жихарев - МИФИ 4 Данные платформы позволяют моделировать выполнение ПО с использованием RTL-моделей СФ-блоков, входящих в состав СнК

Open Virtual Platforms Совокупность моделей отдельных устройств связанных интерфейсами API Стандартизированные интерфейсы написанные на языке С Полная документация Модульность, иерархичность (моделируется не только процессоры но и шины, модель память и периферия) Библиотека открытых моделей и платформ Набор готовых моделей на языке С Модели процессоров ARM, Synopsys ARC, MIPS, OpenRisk OR1K, Xilinx MicroBlaze, PowerPC Модели периферийных устройств (C, C++, SytemC, TLM-2.0) Примеры платформ для встроенного применения OVPSim симулятор, бесплатный для некоммерческого использования С точностью до инструкций ~ 100 MIPS Моделирования многоядерных/многопроцессорных систем в однотактном режиме Григорий Жихарев - МИФИ 5

OVP API Григорий Жихарев - МИФИ 6 Innovative CPU Manager (ICM) Virtual Machine Interface (VMI) Behavioral Hardware Model (BHM) Peripheral Programming Model (PPM) Imperas предоставляет заголовочные файлы.h и документацию на интерфейсы

OVP API Григорий Жихарев - МИФИ 7 Innovative CPU Manager (ICM) Virtual Machine Interface (VMI) Behavioral Hardware Model (BHM) Peripheral Programming Model (PPM) обеспечивает связь модели процессора, с ведущим компьютером формирует общую модель системы, реализуя взаимосвязь и контроль моделей отдельных устройств служат для подключения к модели системы периферии и других устройств, представленных в виде поведенческих моделей

Симулятор OVP Динамически-подключаемая библиотека (so/dll), которая содержит реализации функций интерфейсов Встроенные инструменты отладки и возможность подключить внешний отладчик, если он поддерживает протокол GNU GDB RSP Возможность использования симулятора внутри других окружений, например SystemC Варианты симулятора: CpuManager - коммерческий симулятор с полным набором функциональных возможностей OVPSim – свободно распространяемый симулятор, имеющий относительно небольшую производительность Григорий Жихарев - МИФИ 8

Применение ВП для верификации аппаратуры Предлагается использование гибридной модели СнК: Комплексная модель, состоящая из поведенческого описания на языках С/С++ и RTL-описания СФ-блока Для создания гибридной модели необходимо: Обработать исходные Си файлы платформы и прикладной программы Скомпилировать файлы RTL-модели и тестового окружения Григорий Жихарев - МИФИ 9

Применение ВП для верификации аппаратуры Григорий Жихарев - МИФИ 10 С/С++ компилируется специальными инструментами для запуска на ВП С/С++ компилируется специальными инструментами для запуска на ВП

Обработка всех исходных Си файлов: платформы и прикладной программы Григорий Жихарев - МИФИ 11 ASRC application.c AOBJ application.o AEXE application.OR1K.elf Получение исполняемого файла прикладной программы Исполняемый файл для конкретной платформы GСС и набор утилит cross compilers Создание динамически- подключаемой библиотеки ВП GCC PSRC platform.c platform_help.c POBJ platform.o platform_help.o PSO platform.so

SSRC – исходные файлы тестового окружения, global_inc.sv – включает все файлы UVM компонент, интерфейсов и т.п., ovp_tb_top.sv – модуль верхнего уровня VSRC – исходные файлы RTL-модели СФ-блока, dut.inc.v – файл включает все исходные RTL- файлы. Инструменты: Questasim, VCS Компиляция файлов RTL-модели и тестового окружения Григорий Жихарев - МИФИ 12 VSRC dut.inc.v SVSRС global_inc.sv ovp_tb_top.sv

Процедуры создания гибридной модели СнК Григорий Жихарев - МИФИ 13 Компиляция файлов RTL-модели и тестового окружения Обработка всех исходных Си файлов: платформы и прикладной программы Запуск моделирования (Questasim, VCS)

Схема тестового окружения Григорий Жихарев - МИФИ 14

Взаимодействие ВП и тестового окружения Тестовое окружение взаимодействует с виртуальной платформой посредством вызовов функций, которые осуществляются с помощью стандартного интерфейса Direct Programming Interface (DPI) языка SystemVerilog. Шаблоны функций, написанные на языке SystemVerilog, входят в состав создаваемого тестового окружения, а реализация этих функций обеспечивается библиотекой, имеющейся в составе используемой виртуальной платформы. Григорий Жихарев - МИФИ 15

Заключение Предложенная методика позволяет: Верифицировать RTL-модель разрабатываемых аппаратных средств СнК Использовать мощные средства, доступные для виртуальных платформ, и современные методологии верификации аппаратуры Запускать и отлаживать программное обеспечение Сократить трудоёмкость и время разработки СнК Использование единого тестового комплекса позволяет избежать применения различных моделей и версий тестового окружения для решения задач тестирования Григорий Жихарев - МИФИ 16