Автоматизированное формирование тестов при характеризации цифровых ячеек с использованием веб-доступа Лялинский Алексей Анатольевич ИППМ РАН МЭС-2012 Подмосковье 8-12 октября 1 Область применения разработанного ПО Аналоговые схемы МЭС-2012 Подмосковье 8-12 октября 2 Постановка задачи & 00 1 00 1 f=!(a&b) 011 101 011 110 Все возможные переходы состояний ячейки NAND2 101 110 Оптимальный набор переходов для построения входной тестовой последовательности МЭС-2012 Подмосковье 8-12 октября 3 Введем ограничения на рассматриваемые переходы & a) Выход ячейки при переходе должен переключаться 00 1 011 00 1 101 011 110 101 110 МЭС-2012 Подмосковье 8-12 октября 4 Введем ограничения на рассматриваемые переходы & b) Только один вход ячейки может переключиться 00 1 011 00 1 101 011 110 101 110 Обоснование: в противном случае имеем экспоненциальный рост количества отслеживаемых состояний; реально только один сигнал приводит к переключению. МЭС-2012 Подмосковье 8-12 октября 5 Введем ограничения на рассматриваемые переходы c) Ячейка может иметь только один выход … … Что дает: Существенное упрощение решения поставленной задачи, не изменяя при этом ее сути. Если все же выходов больше одного (n – число выходов), то: Разбиваем схему на n подсхем, имеющих одинаковый набор входов и единственную логическую функцию выхода. Далее здесь возможна оптимизация полученных тестовых воздействий. МЭС-2012 Подмосковье 8-12 октября 6 Математическая основа – граф состояний Состояние Выход 011 Входы Переходы между состояниями 011 101 110 Особенности графа: Может состоять более чем из одного подграфа. Ориентированность графа. Степень любой вершины - четная МЭС-2012 Подмосковье 8-12 октября 7 Цель – найти Эйлеров путь графа Эйлеров путь графа проходит через ВСЕ ребра графа и притом только по ОДНОМУ разу. 011 101 110 Что это дает: Обеспечивает проверку всех возможных переходов входных сигналов. Гарантирует их минимальное количество в тестовой последовательности. МЭС-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. Выбор стартовой вершины Для построения Эйлерова пути это не имеет никакого значения. Поэтому стартовая вершина выбирается из следующих условий: Выходной бит стартовой вершины данного подграфа должен иметь то же значение, что и выходной бит конечной вершины предыдущего подграфа. 011 подграф n 111 подграф n+1 Количество переключений входных битов должно отличаться на 1. 011 подграф n 111 подграф 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