Автоматическое построение тестов для аппаратного обеспечения с использованием разрешения ограничений проф. А.Петренко, Е.Корныхин
2 Место задачи в разработке аппаратного обеспечения... output sm_out; reg [1:0] c, next_state; (posedge sm_cl) begin if (reset == 1'b1) c
3 Тестирование designа lui s1, 0x2779 ori s1, s1, 0xc8b9 lui s3, 0x4ee ori s3, s3, 0xf798 add v0, a0, a2 sub t1, t3, t5 add t7, s1, s3 Системное тестированиеМодульное тестирование Тестируется design всего микропроцессора с помощью тестовых программ Тестируется design отдельного модуля через входные и выходные сигналы
4 Системное тестирование Генерация тестов эталонная реализация микропроцессора ( на Си ) Сравнение трасс Возникла ошибка Успешный прогон Симуляция тестовые программы проводится «сравнением с эталоном» ситуации
5 Подход model-based testing модель тестируемой системы элементы модели («ситуации») test caseы тесты оценка достигнутого покрытия надежное полный набор тестов
6 Генерация тестов на основе моделей моделишаблоны тестовтесты структурные: модели внутреннего состояния микропроцессора (кэши, таблицы страниц) функциональные: модели инструкций (варианты исполнения) lui s1, 0x2779 ori s1, s1, 0xc8b9 lui s3, 0x4ee ori s3, s3, 0xf798 add v0, a0, a2 sub t1, t3, t5 add t7, s1, s3 DIV x, y, divbyzero LOAD y, x, l1hit
7 Что это за test caseы «тестовые шаблоны» DIV x, y, divbyzero LOAD y, x, l1hit элементы моделей структура теста
8 Модели шаблоны комбинаторный метод: 1)цепочка инструкций 2)зависимости 3)варианты исполнения инструкций DIV LOAD divbyzero … l1hit … модель ADD norm … DIV LOAD x,y, x, z l1hit тестовый шаблон
9 Шаблоны тесты шаблон уравнения тест «ограничение» – «уравнение» «разрешение» ограничений – в смысле не «allow», а «satisfy» уравнения решает внешний инструмент
10 Пример ADD x, y, norm CMP x, equal ADD norm (a,b,c) : a = b+c CMP equal (a,b) : a = b 0x 0,x 1,y 0,z 0
11 Сложность задачи пространство тестов пространство тестов, соотв. шаблону чем длиннее тест, тем меньше эта область
12 Успешные применения целочисленная арифметика механизмы памяти MIPS-совместимый микропроцессор увеличили допустимый размер тестов (было 2-3, стало 8-10) новое качество (ситуации в буферах и конвейерах размера 8-10)
13 Эксперименты (таблица) количество инструкций, размеры моделей (в кБ текста), количество тестов, количество шаблонов, количество ошибок непонятно, откуда взять данные для таблицы....
14 Эксперименты кол-во инструкций размеры моделей кол-во тестов кол-во шаблонов кол-во обнаружен ных ошибок