Динамическая верификация цифровой аппаратуры на основе формальных спецификаций Чупилко Михаил Михайлович Научный руководитель проф., д.ф.-м.н. Петренко.

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



Advertisements
Похожие презентации
Метод автоматизации имитационной верификации цифровой аппаратуры на основе формальных спецификаций разного уровня абстракции Михаил Чупилко Институт системного.
Advertisements

Диагностика ошибочного поведения аппаратуры при динамической верификации на основе моделей Докладчик: Проценко Александр.
Расширение технологии UniTESK средствами генерации структурных тестов Дмитрий Воробьев
Выполнил: Желнин С.В. Научный руководитель: Фельдман В.М.
СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий Петрович СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий.
Построение тестовых программ для проверки подсистем управления памяти микропроцессоров Евгений Корныхин науч.рук-ль: проф. А.К.Петренко.
Автоматическое построение тестов для аппаратного обеспечения с использованием разрешения ограничений проф. А.Петренко, Е.Корныхин.
Динамическая проверка HDL-описаний на основе исполнимых моделей Александр Камкин, Михаил Чупилко Институт системного программирования.
Тема ВКР Автор: ФИО Руководитель: ФИО, уч. степень, уч. звание.
Построение автоматов управления системами со сложным поведением на основе тестов с помощью генетического программирования Федор Николаевич Царев, СПбГУ.
1 Метод сокращенных таблиц для генерации автоматов с большим числом входных воздействий Автор Научный руководитель В. Н. Точилин А. А. Шалыто Санкт-Петербургский.
Автоматическое построение тестов для аппаратного обеспечения с использованием разрешения ограничений проф. А.Петренко, Е.Корныхин.
Верификация автоматных программ Г. А. Корнеев А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механики и оптики.
Исследование и разработка методов генерации тестовых программ для проверки модулей управления памяти микропроцессоров Корныхин Евгений науч.рук-ль: проф.каф.СП,
Разработка программного средства 3Genetic для генерации автоматов управления системами со сложным поведением Государственный контракт «Технология.
Проект п-Ф-192 Научно-исследовательская работа «РАЗРАБОТКА СТРУКТУРЫ И МЕТОДИКИ ФОРМИРОВАНИЯ ЕДИНОГО ФЕДЕРАЛЬНОГО БАНКА ИЗМЕРИТЕЛЬНЫХ МАТЕРИАЛОВ.
Автор : Макаров А.В. Научный руководитель : к.ф.м.н., доцент кафедры Систем Информатики НГУ, с.н.с. Васючкова Татьяна Сергеевна Система поддержки дистанционного.
Автоматное программирование А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механики и оптики 2009 г.
РАЗРАБОТКА И ВНЕДРЕНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ АНАЛИЗА И ПРОГНОЗИРОВАНИЯ ПРОИЗВОДСТВЕННЫХ СИТУАЦИЙ ДОМЕННОГО ЦЕХА С ЦЕЛЬЮ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ УПРАВЛЕНИЯ.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Транксрипт:

Динамическая верификация цифровой аппаратуры на основе формальных спецификаций Чупилко Михаил Михайлович Научный руководитель проф., д.ф.-м.н. Петренко Александр Константинович Федеральное государственное бюджетное учреждение науки Институт системного программирования РАН

Фотошаблоны Эталонная модель на C++ Процесс создания аппаратуры 2/20 Документация HDL-описание (Verilog/VHDL) Микросхема Верификация HDL- симулятор Тестовая система Системный симулятор Системный симулятор

Причины сложности верификации аппаратуры Логическая сложность (параллелизм и асинхронность, большие размеры) Процесс разработки существенно итеративен, поэтому тесты и модели приходится многократно модифицировать Модульность проекта существенно слабее, чем в ПО, и изменения в одной подсистеме часто требуют корректировки в других Документация фрагментарная и часто не актуальная Постоянное увеличение сложности аппаратуры 3/20

Цель работы Разработка метода верификации цифровой аппаратуры на основе использования программных моделей с учетом требований промышленных процессов проектирования HDL-описаний 4/20

Поставленные задачи Проанализировать существующие методы верификации цифровой аппаратуры Разработать метод верификации HDL-описаний аппаратуры на основе использования эталонных программных моделей, поддерживающий: применение при неполноте требований инкрементальный процесс разработки и уточнения формальных спецификаций в процессе проектирования композицию тестовых систем различных HDL-описаний Разработать инструменты, реализующие метод Оценить реализацию метода на практике 5/20

Научная новизна Метод спецификации цифровой аппаратуры, подходящий для использования на разных уровнях абстракции Метод сопоставления реакций цифровой аппаратуры и реакций эталонной модели, позволяющий автоматизировать процедуру проверки цифровой аппаратуры 6/206/20

Существующие методы верификации HDL-описаний Формальная верификация (аналитическая верификация) Динамическая верификация (тестирование) Целевой объект: модуль (unit) / система в целом (core) Фаза генерации теста: в ходе статического анализа / в процессе исполнения Тестовые воздействия: случайные / набор / по ограничениям Оракул: наборы эталонных результатов / вычисление эталонных результатов по модели / ограничение на ожидаемый результат (post-условие) / контроль assertions Метрики полноты: по структуре HDL-описания / эталонной модели 7/20

Место предлагаемого метода Формальная верификация (аналитическая верификация) Динамическая верификация (тестирование) Целевой объект: модуль (unit) / система в целом (core) Фаза генерации теста: в ходе статического анализа / в процессе исполнения Тестовые воздействия: случайные / набор / по ограничениям Оракул: наборы эталонных результатов / вычисление эталонных результатов по модели / ограничение на ожидаемый результат (post-условие) / контроль assertions Метрики полноты: по структуре HDL-описания / эталонной модели 8/20 модуль (unit) в процессе исполнения случайные / набор / по ограничениям вычисление эталонных результатов по модели эталонной модели

Выделенные задачи как средство достижения поставленной цели Для быстрого получения тестов при неполных требованиях, обычных на ранних этапах проектирования аппаратуры: Поддержка эталонных C++ моделей с абстракцией времени и функциональности, отличной от HDL-описания Поддержка автоматизированных генераторов тестовых последовательностей Для экономии времени и затрат на верификацию на каждой следующей итерации проектирования HDL-описания: Средства доработки эталонных моделей до потактовых Использование эталонных моделей, которые дорабатываются в соответствии с каждой новой итерацией проектирования HDL-описания Средства расширения возможностей генераторов тестовой последовательности заданием режима обхода конечных автоматов Для учета декомпозиции как основного пути создания сложных HDL-описаний: Средства объединения тестовых систем различных HDL-описаний 9/209/20

Метод модульной верификации аппаратуры на основе моделей 10/20

Метод модульной верификации аппаратуры на основе моделей 11/20 применение при неполноте требований инкрементальный процесс разработки и уточнения формальных спецификаций в процессе проектирования композицию тестовых систем различных HDL-описаний

Разработанный метод модульной верификации аппаратуры 12/20

Формализация работы тестового оракула 13/20

Реализация метода. Библиотека C++TESK Hardware Edition Средства генерации стимулов Класс генератора тестовой последовательности, создающий случайный поток стимулов (взят из C++TESK) Класс генератора тестовой последовательности, создающий поток стимулов на основе обхода конечных автоматов (взят из C++TESK) Средства задания автоматной модели обобщенного состояния – набор макросов, реализующий класс тестового сценария (взят из C++TESK) Средства создания тестового оракула Классы сопоставителей реакций Класс генератора вердикта Средства описания окружений эталонной модели – набор макросов, реализующий класс описания окружения Подключение к HDL-описанию Средства описания адаптеров HDL-описаний – набор макросов, реализующий класс адаптера 14/20

15/20 Применение метода в реальных проектах Библиотека классов C++TESK Hardware Edition была применена для создания тестовых систем для 9 уже верифицированных модулей микропроцессоров в течение гг., в среднем обнаруживалось по 3-5 серьезных ошибок: Буфер трансляции адресов (НИИСИ) Модуль арифметики с плавающей точкой (НИИСИ) Кэш память второго уровня (НИИСИ) Коммутатор данных (МЦСТ) Системный контроллер прерываний (МЦСТ) Модуль доступа к памяти (МЦСТ) Устройство аппаратного поиска по таблице страниц (МЦСТ) Контроллер банка кэш-памяти второго уровня (МЦСТ) Буфер команд (МЦСТ)

Результаты применения метода в реальных проектах 16/20

Сравнение результатов с традиционным подходом 17/20

Апробация и публикации SYRCoSE: Spring Young Researches Colloquium on Software Engineering, г. Нижний Новгород, 2010 г. и г. Екатеринбург, 2011 г. EWDTS: East-West Design & Test Symposium, г. Санкт-Петербург, 2010 г. и г. Севастополь, 2011 г. Baltic Electronics Conference, г. Таллин, 2010 г. Семинар Института системного программирования РАН, г. Москва, гг. По теме диссертации автором опубликовано 11 работ (из них 3 в изданиях по перечню ВАК) 18/20

Заключение Разработан метод верификации цифровой аппаратуры, на основе формальных спецификаций в виде программных моделей на языке C++, отвечающий требованиям промышленных процессов проектирования HDL-описаний Разработан метод спецификации цифровой аппаратуры, подходящий для использования на разных уровнях абстракции Разработан метод сопоставления реакций цифровой аппаратуры и реакций эталонной модели, позволяющий автоматизировать процедуру проверки цифровой аппаратуры Реализованы инструменты, поддерживающие разработанные методы Реализация методов была применена на практике для тестирования модулей сложных отечественных микропроцессоров 19/20

Спасибо Вопросы?