Обнаружение ложных путей в комбинационной схеме

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2011 Управление, вычислительная техника и информатика № 2

УДК 004.312

А.Ю. Матросова, Д.В. Кудин, Е.А. Николаева

ОБНАРУЖЕНИЕ ЛОЖНЫХ ПУТЕЙ В КОМБИНАЦИОННОЙ СХЕМЕ1

Рассматривается одна из задач временной верификации комбинационных схем, а именно задача определения ложных путей (false paths). Возникающие на ложных путях задержки не проявляются в режиме функционирования схемы. Такие пути полезно обнаружить и исключить из рассмотрения при определении максимальной задержки схемы в целом. Предлагается сводить задачу обнаружения ложного пути к поиску тестовых наборов для константных 0,1 неисправностей соответствующего пути литеры эквивалентной нормальной формы (ЭНФ). Поиск тестовых наборов сводится к решению булевых уравнений, представленных И, ИЛИ-деревьями.

Ключевые слова: эквивалентная нормальная форма (ЭНФ), ложный путь, неисправность задержки пути, константная неисправность.

С ростом уровня интеграции схем, работающих на высоких частотах и при низких напряжениях питания, возникает необходимость в тестировании неисправностей задержек путей [1]. Различают робастные и неробастные неисправности задержек путей. Противоположным перепадам значений сигналов на рассматриваемом пути в общем случае сопоставляются различные задержки. Каждая из них обнаруживается специальной парой тестовых наборов. Если для каждого из перепадов пути отсутствует тестовая пара, на которой неисправность проявляется как неробастная, то путь считается ложным, то есть на этом пути отсутствуют условия проявления одиночной неисправности задержки пути. Такие пути желательно исключать из рассмотрения при вычислении задержек сигналов в схеме с целью определения допустимой тестовых пар для неробастных неисправностей рассматриваемого пути. С этой целью используется пятизначный алфавит [2]. В работе [3] неисправности задержек путей сведены к кратковременным неисправностям литер ЭНФ. На основе анализа ЭНФ сформулированы условия, при которых неисправность задержки пути проявляется как неробастная. Одним из таких условий является существование тестового набора для соответствующего пути и перепадам значений сигналов константной неисправности литеры ЭНФ. Это значит, что при отыскании ложных путей можно ограничиться проверкой существования тестовых наборов для константных 0 и 1 неисправностей соответствующего пути литеры ЭНФ и противоположных перепадов значений сигналов пути. Противоположным перепадам значений сигналов пути соответствуют противоположные константные неисправности одной и той же литеры ЭНФ. При таком подходе отпадает необходимость в использовании пятизначного алфавита. Однако использование ЭНФ при решении практических задач, как правило, требует большого объема памяти и потому непригодно. Предлагается компактное представление ЭНФ в виде И, ИЛИ-дерева. Построение тестовых наборов для рассматриваемых неисправностей сводится к решению булевых уравнений на И, ИЛИ-деревьях.

1 Работа выполнена по теме государственного контракта на выполнение научно-исследовательских работ для государственных нужд № П1157.

В разделе 1 выявляется соответствие между неисправностями задержек путей и неисправностями литер ЭНФ. В разделе 2 вводится понятие упрощенной ЭНФ и рассматривается ее представление в виде И, ИЛИ-дерева. В разделе 3 приводятся алгоритмы поиска тестовых наборов для неисправностей литер ЭНФ, основанные на использовании И, ИЛИ-деревьев.

1. Неисправности задержек путей и константные неисправности ЭНФ

Путь в схеме представляет собой цепочку элементов схемы, в которой выход предшествующего элемента является входом последующего элемента. Один из входов первого элемента цепочки является входом схемы и началом пути, а выход последнего элемента цепочки является выходом схемы.

Будем рассматривать ЭНФ Армстронга, полученную из комбинационной схемы описанным в работе [4] способом. В ней переменные отмечены последовательностями индексов, представляющими путь в схеме. Переменная вместе со знаком инверсии и последовательностью индексов называется литерой ЭНФ. Одна и та же литера может присутствовать в различных конъюнкциях ЭНФ. В одной и той же конъюнкции одинаковые переменные могут встречаться лишь с различными последовательностями индексов, то есть в конъюнкции все литеры различны. Литеры, отличающиеся только знаками инверсий над переменными, будем называть инверсными литерами. Переменные, отличающиеся только знаками инверсии без учета приписываемых им последовательностей индексов, будем называть инверсными переменными. В ЭНФ могут встречаться инверсные переменные, но не инверсные литеры. Например, для комбинационной схемы, изображённой на рис. 1, имеем следующую ЭНФ Армстронга:

а1459Ь59е59 V Ь59С23459^3459^59 V а14689Ь789С234689 V а14689С234689^789 V Vа14689Ь789^34689 V а14689^34689^789.

Рис. 1. Комбинационная схема

Распространим отношения поглощения и пересечения конъюнкций ДНФ на конъюнкции ЭНФ естественным образом. Конъюнкцию будем называть пустой, если в ней встречается хотя бы одна пара взаимно инверсных переменных. Таким переменным в одной и той же конъюнкции ЭНФ сопоставляются различные последовательности индексов.

Рассмотрим непустые конъюнкции ЭНФ. Каждая из конъюнкций после удаления из ее литер последовательностей индексов, а затем исключения повторяющихся переменных превращается в элементарную конъюнкцию. Дизъюнкция различных элементарных конъюнкций образует ДНФ функции /. Будем говорить, что

ЭНФ представляет функцию / Непустые конъюнкции ЭНФ являются импликан-тами функции /

Тестовый набор, как известно, обеспечивает распространение смены значения сигнала в присутствии неисправности от места ее возникновения до выхода схемы. В нашем случае - входа схемы вдоль пути, представляемого литерой ЭНФ [4].

Пусть К конъюнкция ЭНФ, она может быть пустой. Будем говорить, что К расширяема по литере ха, если выбрасывание из нее этой литеры приводит к образованию непустой конъюнкции К , являющейся импликантой функции / Иначе она не расширяема по этой литере.

Будем рассматривать К как результат склеивания по литере х,а конъюнкций К и К, в том числе и для пустой конъюнкции К. Здесь К получается из К заменой литеры х,а на инверсную литеру. Будем называть К дополнением К по литере х,а или просто дополнением К.

Рассмотрим сначала неисправность константа 1 литеры ЭНФ. При этой неисправности во всех конъюнкциях, содержащих литеру, сопоставляемую рассматриваемому пути, эта литера заменяется константой 1. В дальнейшем будем называть ее ¿^-неисправностью. Выберем путь а и литеру х,а.

Обозначим через К множество конъюнкций, не содержащих литеру х,а. Разделим конъюнкции, содержащие литеру ха, на конъюнкции с повторяющимися переменными х, (переменными с тем же знаком инверсии, но с отличными от а последовательностями индексов) и конъюнкции без повторяющихся переменных. Конъюнкции первого множества не меняют функции, представляемой ЭНФ, в присутствии ¿/»-неисправности литеры х,а и, следовательно, не могут порождать тестовых наборов. Обозначим конъюнкции первого множества Кгхй. Оставшиеся конъюнкции обозначим Кх. Будем иметь в виду, что множество содержит как

пустые, так и непустые конъюнкции. Пустой конъюнкцией будем называть конъюнкцию, содержащую хотя бы одну пару взаимно инверсных переменных. Множество наборов, на которых она обращается в единицу, пусто.

1. Пусть К - непустая конъюнкция из К^. Если К не расширяемая по литере х,а конъюнкция, то замена в ней этой литеры константой 1 гарантирует существование тестового набора, обнаруживающего рассматриваемую неисправность, так как конъюнкция К. пересекается с областью нулевых значений функции f. Тестовый набор уь обращает в ноль все конъюнкции исправной ЭНФ и в единицу конъюнкцию К и, следовательно, конъюнкцию К , возможно вместе с другими конъюнкциями, полученными при выбрасывании литеры х,а исправной ЭНФ.

Если К из Кх расширяема по ха, то не существует тестового набора, обнаруживающего расширение рассматриваемой конъюнкции. Следовательно, такая конъюнкция не порождает набора уь.

2. Рассмотрим пустую конъюнкцию К из К^. Если она не содержит переменной х\, то замена в ней литеры х,а константой 1 не меняет функции, представляемой ЭНФ (полученная конъюнкция К* остается пустой). Такая конъюнкция не порождает тестового набора для рассматриваемой неисправности.

Если конъюнкция К содержит переменную х , возможно, повторяющуюся, и не имеет пар других взаимно инверсных переменных, тогда ¿^-неисправность превращает К в непустую конъюнкцию К*. Заметим, что в этом случае конъюнкцию К* также можно рассматривать как результат простого склеивания конъюнкций К и К по литере ха, причем К является непустой конъюнкцией.

Если непустая конъюнкция К не есть импликанта функции /, то существует тестовый набор, обнаруживающий рассматриваемую неисправность. На тестовом наборе конъюнкция К обращается в единицу. Тестовый набор обращает исправную ЭНФ в ноль, а неисправную ЭНФ, ее конъюнкцию К*, - в единицу, возможно, вместе с другими конъюнкциями, полученными из исправной ЭНФ выбрасыванием литеры хга.

Итак, в обеих рассматриваемых ситуациях набор обращает в единицу конъ-

юнкцию К* неисправной ЭНФ и в ноль - исправную ЭНФ.

Из приведенных рассуждений следует, что тестовые наборы для ¿/-неисправности могут порождаться либо непустыми конъюнкциями исправной ЭНФ, содержащими рассматриваемую литеру, и не содержащими повторяющихся переменных х, либо пустыми конъюнкциями, содержащими рассматриваемую литеру и инверсную переменную х, при условии, что в конъюнкции присутствует единственная пара взаимно инверсных переменных. Заметим, что в рассматриваемых конъюнкциях, пустых и непустых, переменные, отличные от х, могут повторяться.

Теперь перейдем к рассмотрению ар-неисправности. Она приводит к исчезновению из ЭНФ непустых и пустых конъюнкций, содержащих литеру хга.

Множество конъюнкций К сохраняется в неисправной ЭНФ. Конъюнкции, содержащие литеру хга, разделим на два подмножества: КехГподмножество пустых конъюнкций и Кпех1-подмножество непустых конъюнкций. Конъюнкции первого подмножества не меняют функции / при исчезновении. Нас будут интересовать конъюнкции второго подмножества.

В присутствии рассматриваемой неисправности все конъюнкции, содержащие х,а, исчезают из ЭНФ. Если это приводит к искажению функции / (сокращению области ее единичных значений), то существует тестовый набор уа, обнаруживающий рассматриваемую неисправность. На нем исправная ЭНФ принимает значение единица за счет обращения в единицу некоторого подмножества конъюнкций, содержащих литеру х,а, неисправная - значение ноль. Итак, набор \а обращает в единицу некоторое подмножество КП еХ непустых конъюнкций ЭНФ. Из приведенных рассуждений следует, что тестовые наборы для ар-неисправности могут порождаться непустыми конъюнкциями, содержащими хга .

2. Представление упрощенной ЭНФ И, ИЛИ-деревом

В работе [5] показано, что все пути схемы представляются размеченным И, ИЛИ-деревом, причем каждой концевой вершине дерева сопоставляется единственный путь в схеме. Между размеченным деревом и ЭНФ имеет место взаимно однозначное соответствие. Для отыскания тестовых наборов, обнаруживающих ар(Ьр) неисправность, нет необходимости использовать размеченное дерево, достаточно использовать не размеченное И, ИЛИ-дерево, предложенное в работе [6].

Листья И, ИЛИ-дерева сопоставляются переменным, возможно, со знаком инверсии. Внутренние вершины отмечены символом V(л). Если корень дерева (вершина нулевого яруса) отмечен

символом v(л), то вершины первого яруса отмечены символом

Ь с

л(у), вершины второго яруса символом V (л) и т.д. Пример та-

Рис. 2. И, ИЛИ-

дерево кого дерева приведен на рис. 2.

Неразмеченное дерево представляет формулу над множеством {V, л, —} . В ней все символы инверсии опущены со скобок на переменные. Дерево на рис. 2 представляет формулу а V (Ь V с)^ . Будем иметь в виду, что любая формула булевой алгебры и любая одновыходная комбинационная схема может быть приведена к И, ИЛИ-дереву такого вида. Построим И, ИЛИ-дерево для схемы (рис. 3).

Перечислим все пути схемы: а,1,4; ¿,1,4; а,1,2,3,4; Ь,1,2,3,4; с,3,4. Пронумеруем пути числами от 1 до 5. Заменим в ЭНФ этой схемы последовательности индексов номерами путей, им сопоставляемым. Назовем полученную ЭНФ упрощенной ЭНФ. Заметим, что упрощенная ЭНФ отличается от обычной ЭНФ только тем, что в ней не конкретизируются элементы схемы, через которые проходит тот или иной путь. Для рассматриваемой схемы упрощенная ЭНФ имеет вид

Упрощенная ЭНФ может использоваться так же, как и обычная ЭНФ, для построения тестовых наборов, обнаруживающих ар,Ьр-неисправности. Однако она также оказывается чрезвычайно громоздкой для реальных схем. Поэтому тестовые наборы будем искать по И, ИЛИ-дереву, являющемуся компактным представлением упрощенной ЭНФ.

Покажем, что И, ИЛИ-дерево сохраняет упрощенную ЭНФ. Для построения И, ИЛИ-дерева по схеме выполним следующую последовательность шагов.

1. Исключим все ветвления, двигаясь от выхода схемы к входам, повторяя соответствующие точке ветвления подсхемы столько раз, какова степень ветвления. Эта операция сохраняет упрощенную ЭНФ, поскольку сохраняет пути в схеме. Для нашего примера имеем

2. Исключим каждый элемент НЕ в схеме, заменив выход питающего его элемента или входной символ на инверсный (рис. 5). Опустим инверсии элементов НЕ И, НЕ ИЛИ на входы схемы или на выходы других элементов, двигаясь от выходов к входам схемы, изменяя, если это необходимо, типы элементов (рис. 5).

Рис. 3. Комбинационная схема

ах V Ь2 V а3 Ь4 с5.

Рис. 4. Комбинационная схема без ветвлений

В результате получим схему, состоящую только из элементов И, ИЛИ; причем инверсии останутся лишь над входными переменными схемы. Эта операция сохраняет упрощенную ЭНФ, поскольку сохраняет пути в схеме, при этом на некоторых путях образующие их элементы изменяются.

Рис. 5. Комбинационная схема, не содержащая элементов НЕ, НЕ И, НЕ ИЛИ

А

I

1_

Ь

4

3. Каждую подсхему, состоящую только из элементов ИЛИ (И), заменим единственной вершиной V(а) с числом исходящих ребер, равным числу путей в подсхеме. В результате получим И, ИЛИ-дерево (рис. 6). Эта операция сохраняет упрощенную ЭНФ, поскольку сохраняет пути в схеме.

Итак, далее тестовые наборы будем искать по И, ИЛИ-дереву, являющемуся компактным представлением упрощенной ЭНФ.

Выделим в И, ИЛИ-дереве существенное поддерево [6] следующим образом. Двигаемся от корня дерева к листьям. Корень включаем в существенное поддерево. Если очередная включаемая вершина отмечена символом V(а) , то в поддерево включается одно (все) инцидентное ребро, соединяющее ее с вершиной следующего по порядку яруса вместе с вершинами этого яруса. Действуем таким образом, пока не достигнем концевых вершин (листьев) И, ИЛИ-дерева. В нашем примере одно из существенных поддеревьев отмечено пунктиром, два других являются однореберными деревьями. Будем иметь в виду, что существенным поддеревьям сопоставляются конъюнкции упрощенной ЭНФ, составленные из литер, отмечающих концевые вершины существенного поддерева.

И, ИЛИ-дерево будем называть однородным по переменной х,( X), если ни

одна концевая вершина дерева не отмечена переменной X ,(х). Дерево на рис. 6 является однородным по переменной с.

Рис. 6. И, ИЛИ-дерево

3. Построение тестовых наборов по И, ИЛИ-дереву

Построение тестового набора для ¿^-неисправности. Выбираем лист, соответствующий рассматриваемому пути и отмеченный литерой хп Здесь п - номер пути. Будем перебирать существенные поддеревья, содержащие литеру рассматриваемого пути. В работе [6] предложен алгоритм сокращенного перебора существенных поддеревьев, основанный на построении существенных поддеревьев при движении к корню, начиная от листьев И, ИЛИ-дерева, и выбрасывании совокупностей существенных поддеревьев, порождающих пустые конъюнкции. Вос-

пользуемся этим алгоритмом, выбрасывая совокупности конъюнкций, содержащие наряду с литерой хп литеры хт для т не равно п, и пустые конъюнкции, полученные за счёт переменных, отличных от хи

Выбираем очередную конъюнкцию, не содержащую повторяющихся переменных для литеры х1п.

Для найденной непустой конъюнкции К находим дополнение К , заменив переменную х на инверсную. В пустой конъюнкции вычеркиваем переменную х (в полученной конъюнкции остается хI ), для того чтобы получить дополнение К .

Фиксируем в И, ИЛИ-дереве константами переменные, присутствующие в дополнении К . В полученном в результате фиксирования дереве О требуется найти набор, обращающий его в ноль. Построим И, ИЛИ-дерево О, заменив в О все операции на двойственные, а все переменные на инверсные [6].

Найдем один (любой) корень уравнения О = 1 методом, описанным в [6], используя для сокращения перебора свойство однородности дерева по переменной. Представим корень в виде конъюнкции К'.

Логическое произведение К К' представляет тестовый набор, обнаруживающий ^-неисправность.

Построение тестового набора для ^-неисправности. Перебираем существенные поддеревья, содержащие литеру, сопоставляемую выбранному пути, не порождающие пустых конъюнкций, воспользовавшись уже упомянутым алгоритмом, изложенным в [6]. Найденную конъюнкцию К используем далее для отыскания тестового набора. Мы должны исключить из ЭНФ конъюнкции, содержащие литеру, сопоставляемую выбранному пути. Для этого в И, ИЛИ-дереве достаточно приписать значение ноль концевой вершине, сопоставляемой выбранному пути. Далее фиксируем переменные, присутствующие в К. Получаем дерево О. Строим дерево О и находим корень уравнения. Представляем корень конъюнкцией К'. Тогда логическое произведение КК’ задает тестовый набор для ^-неисправности.

Рассмотрим пример. Вернемся к схеме на рис. 1. Построим для нее И, ИЛИ-дерево (рис. 7).

Рис. 7. Дерево упрощенной ЭНФ

Пронумеруем его концевые вершины слева направо от 1 до 10. Тогда имеем следующую упрощенную ЭНФ:

a3b2e1 v b2 c4d5e1 v a6 bioc7 v a6c7d9 v a6 biod8 v a6d8d9 .

Рассмотрим в ней путь, сопоставляемый литере d8. Эта литера содержится в двух существенных поддеревьях, которым сопоставляются последняя и предпоследняя конъюнкции упрощенной ЭНФ.

Рассмотрим Ьр-неисправность выбранной литеры. Это значит, что обращается в единицу. Эту литеру содержит единственная конъюнкция К = а6Ь10d8 без повторяющихся переменных, представленная соответствующим порождающим деревом на рис.7. Тестовый набор обращает дополнение К , К = а6Ь10d8 в единицу, а конъюнкции исправной ЭНФ - в ноль. Зафиксируем константами, определяемыми конъюнкцией К, переменные в полученном дереве, не обращая внимания на сопоставляемые переменным пути (индексы). Результат фиксирований представлен деревом на рис. 8.

Если выполнить далее преобразования над деревом, введенные в [6], соответствующие элементарным тождествам булевой алгебры, получим дерево О (рис. 9), состоящее из одного ребра; набор 10010 является тестом для рассматриваемой неисправности.

Рис 9 Дерево О юнкции исправной ЭНФ должны обращаться в ноль. Остальные конъюнкции представляются деревом, в котором d8 = 0. Зафиксируем константами, определяемыми конъюнкцией К, переменные в полученном дереве, не обращая внимания на сопоставляемые переменным пути (индексы). Результат всех фиксирований представлен деревом на рис. 10.

V

е

с d

Рис. 8. Фиксирование переменных в дереве для ^-неисправности

с

Рассмотрим ар-неисправность выбранной литеры. Это значит, что d8 обращается в ноль. К = а6 Ьюd8. Тестовый набор обращает К в единицу, возможно, вместе с другими конъюнкциями, содержащими неисправную литеру, а остальные конъ-

V

с d 0

Ъ

1

Рис. 10. Фиксирование переменных в дереве для ар -неисправности

Если выполнить далее преобразования над деревом, введенные в [6], соответствующие элементарным тождествам булевой алгебры, получим дерево G, совпадающее с деревом на рис. 9.

Представляемая деревом булева функция обращается в 0 при с = 0. Следовательно, булев вектор 10000 представляет тестовый набор, обнаруживающий рассматриваемую ap-неисправность.

Итак, если для рассматриваемой литеры не существует тестовых наборов, обнаруживающих bp, ap неисправности, то сопоставляемый литере путь является ложным и не влияет на задержки в схеме.

Заключение

В работе предложен подход к нахождению ложных путей, основанный на поиске тестовых наборов для константных неисправностей литер ЭНФ. Поиск тестовых наборов сводится к отысканию корней булевых уравнений на И, ИЛИ-деревьях и не требует использования пятизначного алфавита, как при традиционном подходе. Если для рассматриваемой литеры не существует тестовых наборов, обнаруживающих неисправности bp, ap, то сопоставляемый литере путь является ложным и не влияет на задержки в схеме. Предлагаемый в работе метод может быть расширен на системы И, ИЛИ-деревьев, описывающих схемы произвольной сложности. Каждое И, ИЛИ-дерево строится до ближайшей точки ветвления. Каждая точка ветвления объявляется корнем следующего И, ИЛИ-дерева и т.д.

ЛИТЕРАТУРА

1. Sivaraman M., Strojwas A.J. Unified Approach for Timing Verification and Delay Fault Testing. Carnegie Mellon University Pitsburg, Pensilvania. Kluwer Academic Publisher, 1998. 155 p.

2. Bushnell M.L. Essentials of Electronic Testing for Digital, Memory, and Mixed-Signal VLSI Circuits. Hingham, MA, USA: Kluwer Academic Publishers, 2000. 432 p.

3. Matrosova A., Lipsky V., Melnikov A, Singh V. Path delay faults and ENF // Proc. EWDTS'10. 2010. P. 164-167.

4. ArmstrongD.B. On finding a nearly minimal set of fault detection tests for combinational logic nets // IEEE Transactions on Electronic Computers. 1966. V. 15. No. 1. P. 66-73.

5. Matrosova A., Andreeva V., Melnikov A., Nikolaeva E. Multiple stuck-at fault and path delay fault testable circuit // Proc. EWDTS’08. 2008. P. 356-364.

6. Матросова А.Ю. Алгоритмические методы синтеза тестов. Томск: Изд-во Том. ун-та, 1990. 206 с.

Матросова Анжела Юрьевна

Николаева Екатерина Александровна

Томский государственный университет

Кудин Дмитрий Владимирович

Горно-Алтайский государственный университет

E-mail: mau11@yandex.ru; ensase@mail.ru; nikolaeve-ea@yandex.ru

Поступила в редакцию 25 января 2011 г.