1 ВВЕДЕНИЕ 4
1 Глава 1. Обзор методов функциональной верификации RTL-моделей разрабатываемых микропроцессоров .................................................................. 14
1.1 Направленная генерация тестов на системном уровне ........................ 15
1.2 Применение методов машинного обучения в верификации микропроцессора ................................................................................................ 26
1.2.1 Universal verification methodology ..................................................... 27
1.2.2 Генерация случайных тестов ............................................................ 30
1.2.3 Анализ логов выполнения ................................................................. 38
Выводы по главе 1.............................................................................................. 39
2 Глава 2. Разработанные методы направленной функциональной верификации .......................................................................................................... 41
2.1 Инструмент мониторинга функционального покрытия на уровне инструкций .......................................................................................................... 43
2.2 Разработка через тестирование ............................................................... 47
2.3 Верификация доверенных микропроцессоров ...................................... 48
2.4 Верификация многоядерных микропроцессоров .................................. 58
2.4.1 Особенности тестирования подсистемы памяти ............................ 60
2.4.2 Применимость имеющихся инструментов ...................................... 62
2.4.3 Процесс генерации тестов для многоядерных микропроцессоров 64
2.4.4 Верификация атомарных операций .................................................. 76
Выводы по главе 2.............................................................................................. 91
3 Глава 3. Применение методов машинного обучения для функциональной верификации микропроцессора ........................................................................... 93
3.1 Повышение качества тестов, создаваемых в рамках направленной функциональной верификации ......................................................................... 94
3.2 Имитация поведения набора пользовательских приложений на уровне машинного кода................................................................................................ 102
3.2.1 Структура генератора ...................................................................... 103
3.2.2 Профилирование приложений ........................................................ 104
3.2.3 SFGL .................................................................................................. 108
3.2.4 Максимизация покрытия с помощью нейронных сетей .............. 114
3.2.5 Применение тепловых карт для оценки качества создаваемых экстрактов ...................................................................................................... 119
3.2.6 Ключи компиляции .......................................................................... 124
3.2.7 Дополнение покрытия и исключение многократно покрытых ситуаций ......................................................................................................... 125
3.2.8 Сравнение с существующими подходами ..................................... 126
Выводы по главе 3............................................................................................ 131
ЗАКЛЮЧЕНИЕ ................................................................................................... 133
ЛИТЕРАТУРА ..................................................................................................... 136
Приложение 1 Акт о внедрении......................................................................... 146
Приложение 2 Пример тестового шаблона ...................................................... 148


