210 likes | 472 Views
Автоматизированное формирование тестов при характеризации цифровых ячеек с использованием веб-доступа. Лялинский Алексей А натольевич ИППМ РАН. Область применения разработанного ПО. Аналоговые схемы. Постановка задачи. &. 00 1. 00 1. f=!(a&b). 0 1 1. 1 0 1. 0 1 1.
E N D
Автоматизированное формирование тестов при характеризации цифровых ячеек с использованием веб-доступа Лялинский Алексей Анатольевич ИППМ РАН
Область применения разработанного ПО Аналоговые схемы
Постановка задачи & 00 1 00 1 f=!(a&b) 0 11 1 0 1 0 11 1 0 1 1 10 1 10 Оптимальный набор переходов для построения входной тестовой последовательности Все возможные переходы состояний ячейки NAND2
Введем ограничения на рассматриваемые переходы & 00 1 a) Выход ячейки при переходе должен переключаться 0 11 1 0 1 00 1 1 10 0 11 1 0 1 1 10
Введем ограничения на рассматриваемые переходы & b) Только один вход ячейки может переключиться 00 1 00 1 0 11 1 0 1 0 11 1 0 1 1 10 1 10 • Обоснование: • в противном случае имеем экспоненциальный рост количества отслеживаемых состояний; • реально только один сигнал приводит к переключению.
Введем ограничения на рассматриваемые переходы c) Ячейка может иметь только один выход … … Что дает: Существенное упрощение решения поставленной задачи, не изменяя при этом ее сути. • Если все же выходов больше одного (n – число выходов), то: • Разбиваем схему на n подсхем, имеющих одинаковый набор входов и единственную логическую функцию выхода. Далее здесь возможна оптимизация полученных тестовых воздействий.
Математическая основа – граф состояний Выход Состояние Переходы между состояниями 0 11 Входы 0 11 1 0 1 1 10 Особенности графа: • Может состоять более чем из одного подграфа. • Ориентированность графа. • Степень любой вершины - четная
Цель – найти Эйлеров путь графа Эйлеров путь графа проходит через ВСЕ ребра графа и притом только по ОДНОМУ разу. 0 11 1 0 1 1 10 Что это дает: • Обеспечивает проверку всех возможных переходов входных сигналов. • Гарантирует их минимальное количество в тестовой последовательности.
Условия построения Эйлерова графа Согласно теореме Эйлера граф является Эйлеровым (то есть содержит Эйлеров цикл) тогда и только тогда, когда он связен, и все его локальные степени четны. Связность графа в целом гарантировать нельзя (пример: f=a&b|c), поэтому разбиваем граф на локально связанные подграфы. Четность вытекает из комбинационного характера схемы – перейдя из одного состояния в другое мы можем сразу же вернуться обратно.
Последовательность действий Создание графа (или несвязанных между собой подграфов) на основе множества состояний, удовлетворяющих ранее сформулированным условиям. 3 7 • Для каждого подграфа: • выбирается стартовая вершина • строится Эйлеров путь. 1 1 6 4 2 2 5 8 Соединяем подграфы между собой дополнительно введенными ребрами.
A. Разбиение графа на подграфы • На основе алгоритма Флойда–Уоршелла строится матрица достижимости на основе предварительно построенной матрицы инцидентности графа. • Анализ структуры полученной матрицы достижимости позволяет легко выделить блоки связанных между собой вершин, составляющих отдельные подграфы. • Сложность алгоритма оценивается как O(n3), где n – число вершин графа, в нашем случае – количество состояний усеченного графа. • Быстроту вычислений на данном этапе обеспечивает то, что основными операциями при работе данного алгоритма являются две простейших логических операции дизъюнкции и конъюнкции.
B. Выбор стартовой вершины Для построения Эйлерова пути это не имеет никакого значения. Поэтому стартовая вершина выбирается из следующих условий: • Выходной бит стартовой вершины данного подграфа должен иметь то же значение, что и выходной бит конечной вершины предыдущего подграфа. подграф n+1 подграф n+1 0 11 0 11 1 11 подграф n подграф n • Количество переключений входных битов должно отличаться на 1. 1 11
C. Построение Эйлерова пути Проверены два алгоритма: • Волновой алгоритм – неудачен, так приходится хранить огромное количество промежуточных результатов. • Алгоритм поиска в глубину – оптимален, так как неудачные варианты сразу отбрасываются.
Практическая реализация Алгоритм реализован на скриптовом языке PHP и размещен на серверной части специально разработанного сайта. Пользователь имеет интерактивный доступ к данной программе. a&b|c запрос 01101 рез-ты Клиент Программа на сервере Сайт
МЭС-2012 Подмосковье 8-12 октября Тестирование программы