подграфы - MES conference

advertisement
Автоматизированное
формирование тестов
при характеризации
цифровых ячеек
с использованием веб-доступа
Лялинский Алексей Анатольевич
ИППМ РАН
МЭС-2012
Подмосковье 8-12 октября
1
Область применения
разработанного ПО
Аналоговые
схемы
МЭС-2012
Подмосковье
8-12 октября
2
Постановка задачи
&
00  1
00  1
f=!(a&b)
011
101
011
110
Все возможные переходы
состояний ячейки
NAND2
101
110
Оптимальный набор
переходов для
построения входной
тестовой
последовательности
МЭС-2012
Подмосковье
8-12 октября
3
Введем ограничения на
рассматриваемые переходы
&
a) Выход ячейки при переходе должен переключаться
00  1
011
00  1
101
011
110
101
110
МЭС-2012
Подмосковье
8-12 октября
4
Введем ограничения на
рассматриваемые переходы
&
b) Только один вход ячейки может переключиться
00  1
011
00  1
101
011
110
101
110
Обоснование:
 в противном случае имеем экспоненциальный рост количества
отслеживаемых состояний;
 реально только один сигнал приводит к переключению.
МЭС-2012
Подмосковье
8-12 октября
5
Введем ограничения на
рассматриваемые переходы
c) Ячейка может иметь только один выход
…
…
Что дает:
Существенное упрощение решения поставленной задачи, не изменяя при этом ее сути.
Если все же выходов больше одного (n – число выходов), то:
Разбиваем схему на n подсхем, имеющих одинаковый набор входов и
единственную логическую функцию выхода. Далее здесь возможна оптимизация
полученных тестовых воздействий.
МЭС-2012
Подмосковье
8-12 октября
6
Математическая основа –
граф состояний
Состояние
Выход
011
Входы
Переходы между состояниями
011
101
110
Особенности графа:
Может состоять более чем из одного подграфа.
Ориентированность графа.
Степень любой вершины - четная
МЭС-2012
Подмосковье
8-12 октября
7
Цель –
найти Эйлеров путь графа
Эйлеров путь графа проходит через ВСЕ ребра графа и притом
только по ОДНОМУ разу.
011
101
110
Что это дает:
Обеспечивает проверку всех возможных переходов
входных сигналов.
Гарантирует их минимальное количество в тестовой
последовательности.
МЭС-2012
Подмосковье
8-12 октября
8
Условия построения
Эйлерова графа
Согласно теореме Эйлера граф является Эйлеровым (то есть
содержит Эйлеров цикл) тогда и только тогда, когда он связен, и
все его локальные степени четны.
Связность графа в целом гарантировать нельзя
(пример: f = a&b|c), поэтому разбиваем граф на
локально связанные подграфы.
Четность вытекает из комбинационного
характера схемы – перейдя из одного состояния в
другое мы можем сразу же вернуться обратно.
МЭС-2012
Подмосковье
8-12 октября
9
Последовательность действий
A.
Создание графа (или несвязанных между собой
подграфов) на основе множества состояний,
удовлетворяющих ранее сформулированным условиям.
3
1
2 1
24
7
6
5
B.
Для каждого подграфа:
 выбирается стартовая вершина
 строится Эйлеров путь.
8
C.
Соединяем подграфы между
собой дополнительно
введенными ребрами.
МЭС-2012
Подмосковье
8-12 октября
10
A. Разбиение графа на подграфы
 На основе алгоритма Флойда–Уоршелла строится матрица достижимости
на основе предварительно построенной матрицы инцидентности графа.
 Анализ структуры полученной матрицы достижимости позволяет легко
выделить блоки связанных между собой вершин, составляющих отдельные
подграфы.
 Сложность алгоритма оценивается как O(n3), где n – число вершин графа, в
нашем случае – количество состояний усеченного графа.
 Быстроту вычислений на данном этапе обеспечивает то, что основными
операциями при работе данного алгоритма являются две простейших
логических операции дизъюнкции и конъюнкции.
a
a
b
b
c
f
g
1
1
d
1
e
1
g
e
1
c
f
d
1
1
1
1
1
a
b
c
d
e
f
g
a
1
1
b
1
1
c
1
1
1
1
1
d
1
1
1
1
1
e
1
1
1
1
1
f
1
1
1
1
1
g
1
1
1
1
1
МЭС-2012
Подмосковье
8-12 октября
11
B. Выбор стартовой вершины
Для построения Эйлерова пути это не имеет никакого значения.
Поэтому стартовая вершина выбирается из следующих условий:
 Выходной бит стартовой вершины данного подграфа должен
иметь то же значение, что и выходной бит конечной вершины
предыдущего подграфа.
011
подграф n
111
подграф n+1
 Количество переключений входных битов должно отличаться на 1.
011
подграф n
111
подграф n+1
МЭС-2012
Подмосковье
8-12 октября
12
C. Построение Эйлерова пути
Проверены два алгоритма:
Волновой алгоритм – неудачен, так приходится
хранить огромное количество промежуточных
результатов.
 Алгоритм поиска в глубину – оптимален, так как
неудачные варианты сразу отбрасываются.
МЭС-2012
Подмосковье
8-12 октября
13
Практическая реализация
Алгоритм реализован на скриптовом языке PHP и
размещен на серверной части специально
разработанного сайта.
Пользователь имеет интерактивный доступ к данной
программе.
Клиент
a&b|c
запрос
01101
рез-ты
Программа
на сервере
Сайт
МЭС-2012
Подмосковье
8-12 октября
14
Сайт программы
МЭС-2012
Подмосковье
15
8-12 октября
Тестирование программы
Схема
Выражение
nor2
~(a|b)
2
4
0
and3
a&b&c
3
6
0
and6
a&b&c&d&e&~f
6
12
0
and9
9
18
0
ao211
~((~(a&b&c))|(~(d&e&f))|(~(g
&h&i)))
(a&b)|c|d
4
17
1
ao21i1
(a&b)|~c|~d
4
26
2
ao221
(a&b)|(c&d)|e
5
45
3
exnor2
((a&b)|(~a&~b))
2
4
0
mux2
(d0&~sl0)|(d1&sl0)
3
13
1
6
95
3
8
446
14
3
11
1
3
6
0
mux4
(d0&~sl0&~sl1)|(d1&sl0&~sl1)
|(d2&~sl0&sl1)|(d3&sl0&sl1)
mx4
(sl0&d0)|(sl1&d1)|(sl2&d2)|(sl3
&d3)
half_sum_s a&~b&~ci|~a&b&~ci|~a&~b&c
i|a&b&ci
half_sum_co a&b&~ci|~a&b&ci|a&~b&ci|a&
b&ci
Количество
входных
переменных
Количество
переходов
МЭС-2012
Количество
«холостых»
переходов
Подмосковье 8-12 октября
16
Схема and9
МЭС-2012
Подмосковье
8-12 октября
17
Схема a^~b&c
МЭС-2012
Подмосковье
8-12 октября
18
Схема ao21i1
МЭС-2012
Подмосковье
8-12 октября 19
Выводы
Разработано математическое и программное обеспечение
системы автоматизированного формирования входных
тестовых воздействий, используемых при характеризации
цифровых комбинационных ячеек.
Показана высокая эффективность ее работы.
Веб-доступ к системе можно получить на сайте
http://www.ippm.ru/lftest3/.
МЭС-2012
Подмосковье
8-12 октября
20
Спасибо за внимание!
МЭС-2012
Подмосковье
8-12 октября
21
Download