Разработка тестов для цифровых устройств требует особого внимания к проверке комбинационных логических схем — компонентов, не обладающих памятью. Ключевым аспектом является моделирование и обнаружение типовых отказов элементов.
Типы отказов и принцип обнаружения
В таких схемах обычно рассматривают два основных типа неисправностей: "постоянная единица" (когда вход или выход замыкается на высокий потенциал) и "постоянный нуль" (замыкание на низкий потенциал). Например, обрыв входа в логике ТТЛ (как в микросхеме К155ЛА3) часто интерпретируется как логическая «1», что требует учёта специфики используемой технологии. Отказ считается обнаруженным на определённом входном наборе данных X = {x} только в том случае, если выходные сигналы Y исправной и неисправной схем различаются.
Задача построения тестов
Таким образом, цель создания проверяющих тестов сводится к формированию такого множества входных наборов X = {x}, которое позволяет выявить все рассматриваемые дефекты в контролируемой логической схеме. Обычно анализ начинается с предположения об одиночных неисправностях, что не ограничивает общность подхода для схем с любым количеством выходов.
Алгоритм логического анализа
Для каждого элемента схемы сначала записывается реализуемая им булева функция. Затем, путём исключения промежуточных переменных и применения преобразований (например, формул де Моргана), эти функции приводятся к эквивалентной дизъюнктивной нормальной форме (ЭДНФ) или конъюнктивной нормальной форме (ЭКНФ). Это позволяет формализовать поведение схемы и систематически выявлять тестовые наборы, чувствительные к конкретным дефектам.
Пример схемы для анализа
В качестве иллюстрации рассмотрим конкретную схему комбинационного логического устройства, представленную на рисунках ниже.

