ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2013 Управление, вычислительная техника и информатика № 2(23)
УДК 004.312.4
А.Ю. Матросова, Е.В. Митрофанов СИНТЕЗ ЛЕГКО ТЕСТИРУЕМЫХ ПОСЛЕДОВАТЕЛЬНОСТНЫХ СХЕМ1
Предлагается новый подход к синтезу кошролепригодных комбинационных составляющих последовательностных схем, основанный на совместном использовании графового и аналитического (в виде монотонных ДНФ) описаний поведения комбинационной составляющей. Подход гарантирует обнаружение задержек всех путей схемы и ориентирован на сокращение длин ее путей.
Ключевые слова: комбинационные составляющие последовательностных схем, ROBDD-графы, монотонные ДНФ, неисправности задержек путей.
Построение схем, допускающих их качественное тестирование (контролепригодное проектирование), является актуальной проблемой. Один из подходов к обеспечению контролепригодных свойств основан на построении схем, для которых длина проверяющего теста, обнаруживающего все кратные константные неисправности на полюсах логических элементов схемы, линейно зависит от числа элементов [1]. В современных высокопроизводительных схемах наряду с тестированием константных неисправностей требуется тестировать неисправности задержек путей. Разработаны специальные техники сканирования для тестирования путей в последовательностных схемах [2]. К сожалению, в произвольных логических схемах неисправности задержек большинства путей обнаруживаются только в условиях отсутствия задержек остальных путей, что затрудняет тестирование задержек в схеме в целом. Разработанные за рубежом методы синтеза схем [3], в которых задержка каждого пути обнаруживается независимо от задержек других путей, требуют введения дополнительных входов. Это неприемлемо на практике. В работе [4] предложен метод синтеза комбинационных схем, в том числе комбинационных составляющих последовательностных схем, гарантирующий обнаружение неисправностей задержек каждого пути и не требующий введения дополнительных входов. Метод ориентирован на покрытие вершин системы BDD-графов, описывающей поведение схемы, специальными подсхемами из вентилей. Применение этого метода к комбинационной составляющей последовательностной схемы может привести к появлению в синтезированной схеме длинных путей. Такая ситуация возникает, например, при использовании (1,п)-равновесных кодов для кодирования состояний автомата с целью получения для него последовательностной схемы. В данной работе предлагается подход к синтезу последовательностных схем, позволяющий сократить длины путей в них. С этой целью при использовании STG (State Transition Graph)-описания поведения автомата его состояния кодируются равновесными (т,п)-кодами, где m - число единичных ком-
1 Работа проводилась при финансовой поддержке Минобрнауки РФ в рамках соглашения № 14.В37.21.0622 от16.08.2012г. и в рамках государственного задания Минобрнауки РФ на проведение научных исследований в Томском государственном университете на 2012-2014 годы, задание 8.4055.2011.
понент кода, а n его длина. Далее нулевые значения компонент кодов заменяются неопределенными значениями. В результате из STG-описания получаем систему ДНФ. Затем для каждой ДНФ системы выделяем конъюнктивные факторы, образующие монотонную ДНФ в подпространстве внутренних переменных схемы, задаваемую подмножеством конъюнкций одного и того же ранга m. Конъюнкции монотонной ДНФ синтезируем отдельной подсхемой.
Как известно, условия перехода из предыдущего состояния автомата в последующее в STG-описании представляются в виде списка троичных векторов, задающего ДНФ в пространстве входных переменных. Эти ДНФ предлагается представлять ROBDD-трафами, а затем покрывать вершины графов подсхемами из вентилей [4]. Композиция упомянутых выше подсхем представляет последовательностную схему, реализующую STG описание синхронного автомата. В первом разделе статьи обсуждается метод синтеза комбинационной составляющей последовательностной схемы. Во втором разделе - метод построения тестовых пар для ее путей. В заключении делается вывод о необходимости дальнейших исследований, ориентированных на сокращение аппаратурных затрат рассматриваемых схем.
1. Синтез последовательностной схемы
Задано STG-описание поведения синхронного автомата. Требуется построить комбинационную составляющую последовательностной схемы, в которой гарантировано обнаружение неисправностей задержек каждого из путей. Метод синтеза будем иллюстрировать примером. STG-описание автомата представлено табл. 1.
Таблица 1
STG-описание синхронного автомата
Xi X2 X3 q q У1 У2 У3 У4 У5
0 - 1 1 1 1 0 0 1 0
1 0 - 1 1 0 0 0 1 0
1 1 1 1 2 1 0 0 1 0
- 1 0 2 2 1 0 1 1 0
0 - 1 2 3 1 0 1 1 0
1 0 1 3 3 1 1 0 0 0
0 - 0 3 4 0 1 0 0 0
- 1 1 3 4 1 1 0 0 0
1 - 0 4 4 0 1 0 0 1
- 1 1 4 1 1 1 0 0 1
Кодируем состояния автомата равновесными (т,п)-кодами. В рассматриваемом примере используем (2,4)-код: 1 (1100), 2 (0110), 3(0011), 4 (1001).
Заменяем нулевые значения компонент символом «-». Для рассматриваемого примера получаем табл. 2.
Отметим, что табл. 2 представляет систему частичных булевых функций, которая может быть использована далее для получения оптимизированной системы полностью определенных функций. В данной работе мы не касаемся проблем оп-
тимизации; это тема дальнейших исследований. Из табл. 2 извлекаем полностью определенные функции, представляя их конъюнкциями системы, отмеченными единичным значением компоненты векторов табл. 2 сопоставляемой очередной функции. Каждую конъюнкцию системы в пространстве внутренних переменных реализуем отдельной древовидной подсхемой из двухвходовых элементов И. В нашем примере конъюнкция реализуется одним элементом И.
Т аблица 2
Система частичных булевых функций
Х1 Х2 Хз ^1 Z2 Z3 Z4 Z1 Z2 Z3 Z4 У1 У2 У3 У4 У5
0 - 1 1 1 - - 1 1 0 0 1 0 0 1 0
1 0 - 1 1 - - 1 1 0 0 0 0 0 1 0
1 1 1 1 1 - - 0 1 1 0 1 0 0 1 0
- 1 0 - 1 1 - 0 1 1 0 1 0 1 1 0
0 - 1 - 1 1 - 0 0 1 1 1 0 1 1 0
1 0 1 - - 1 1 0 0 1 1 1 1 0 0 0
0 - 0 - - 1 1 1 0 0 1 0 1 0 0 0
- 1 1 - - 1 1 1 0 0 1 1 1 0 0 0
1 - 0 1 - - 1 1 0 0 1 0 1 0 0 1
- 1 1 1 - - 1 1 1 0 0 1 1 0 0 1
Рассмотрим ДНФ функции у1. Разобьем конъюнкции этой ДНФ на подмножества, состоящие из конъюнкций, не отличающихся по внутренним переменным. Для каждого такого подмножества выделим конъюнктивный фактор в виде монотонной конъюнкции в пространстве внутренних переменных:
У1 = 2122 (Х1Х3 V Xх2х3) V 2223 (х2Х3 V Х1Х3 ) V 2324 (Х1Х2Х3 V Х2Х3 ) V 2124 (х2Х3 ) .
Исключим из подмножеств внутренние переменные. Для нашего примера имеем следующие ДНФ, сопоставляемые конъюнктивным факторам:
3
2
q
1 Xj x3 V Xj x2 x3
2 x2 X3 V x1x3
3 x1 x2 x3 V x2 x3
4 x2 x3
Реализуем каждую из ДНФ ROBDD-графом, объединяем полученные графы в SBDD (Shared BDD)-граф (рис. 1).
Покрываем каждую вершину SBDD-графа подсхемой (рис. 2) из вентилей [1], не обращая внимания на дуги, инцидентные 0-концевой вершине SBDD-графа. Получаем схему рис. 3.
І
Рис. 2. Подсхема из вентилей 14 3 2
Рис. 3. Реализация ЖГЮ-графа
Соединяем выходы схемы (рис. 3) с подсхемами соответствующих конъюнктивных факторов через двухвходовые элементы И. Объединяем полученные подсхемы с помощью подсхемы из элементов ИЛИ. В результате получаем схему для отдельной функции системы (рис. 4).
Рис. 4.Схема для функции у1
Покажем, что для полученных таким образом схем неисправности задержек всех путей обнаружимы.
2. Обнаружение неисправностей задержек путей
Для путей одновыходной подсхемы последовательностной схемы, начала которых отмечаются входными переменными схемы, тестовая пара получается конкатенацией двух векторов. Первый (троичный) вектор в пространстве входных переменных последовательностной схемы задает тестовую пару для рассматриваемого пути в подсхеме, полученной по ЯОВВВ-трафу. Второй (булев) вектор обращает в единицу, соответствующую этому графу, конъюнкцию монотонной ДНФ и в ноль остальные ее конъюнкции. Для путей этой же подсхемы, начала которых отмечаются внутренними переменными последовательностной схемы, тестовая пара есть также конкатенация двух векторов. Первый (булев) вектор в пространстве входных переменных последовательностной схемы обращает в единицу ЯОВВВ-траф, соответствующий конъюнкции, которой принадлежит переменная, отмечающая начало рассматриваемого пути. Второй (троичный) вектор в пространстве внутренних переменных представляет тестовую пару для пути в подсхеме, реализующей конъюнкции монотонной ДНФ. Для обеспечения обнаружения неисправностей задержек всех путей последовательностной схемы требуется соблюдать порядок [4] при поступлении тестовых пар для путей, начала которых отмечены входными переменными. Тестовые пары для путей, начала которых отмечены внутренними переменными, подаются в произвольном порядке.
В [4] было показано, что неисправности задержек всех путей в схеме, полученной покрытием вершин 5ВДО-графов специальной подсхемой из вентилей
(рис. 3), обнаружимы. Заметим, что путь в такой схеме (рис. 3) продолжается в схеме, представляющей комбинационную составляющую (рис. 4), до выхода последней через соответствующий двухвходовой элемент И и связанные с выходом последнего элемента двухвходовые элементы ИЛИ. Условием обнаружения задержки этого пути в комбинационной составляющей последовательностной схемы (рис. 4) является обращение в единицу монотонной конъюнкции, сопоставляемой входу вышеупомянутого элемента И, и обращение в ноль других монотонных конъюнкций ДНФ в пространстве внутренних переменных. Такой набор, как известно [5], всегда существует. На рис. 4 жирной линией выделен такой путь. Для его отрезка, представленного такой же линией на рис. 3, методом, изложенным в работе [4]. построена тестовая пара, заданная троичным вектором в пространстве входных переменных: ^ х2 *3. Конъюнкция К, К = 2223, обращается в
единицу на булевом векторе 0 22 ^ , который обращает в ноль все осталь-
ные конъюнкции монотонной ДНФ в пространстве внутренних переменных схемы, относящиеся к рассматриваемой функции. В дальнейшем будем говорить, что эти конъюнкции представляют состояния автомата, реализуемого рассматриваемой последовательностной схемой. Конкатенация троичного и булева вектора
Х2 *3 ^ 22 23 24 представляет тестовую пару для выделенного жирной линией пути схемы рис. 4. Эта тестовая пара подается только после проверки инверсного пути выделенного фрагмента и отсутствия на нем задержки. Инверсный путь получается из рассматриваемого заменой отрезка, заканчивающегося левым входом в первый встретившийся на пути элемент ХОЯ, на отрезок, заканчивающийся правым входом этого элемента.
Далее остается рассмотреть пути, начала которых отмечаются внутренними переменными одновыходной подсхемы, реализующей функцию системы, описывающей поведение комбинационного эквивалента. Один из таких путей на рис. 4 выделен пунктиром. Путей столько, сколько литер в конъюнкциях монотонной ДНФ, построенной из факторов рассматриваемой функции. (Будем иметь в виду, что эти конъюнкции представляют состояния синхронного автомата.) Условием обнаружения задержки каждого такого пути является, во-первых, обеспечение единичного значения на соответствующем выходе подсхемы, полученной покрытием БВВБ-трафа (рис. 3). Этот выход является входом элемента И. Второй вход этого элемента сопоставляется выходу подсхемы (в общем случае древовидной, состоящей из элементов И), реализующей конъюнкцию (конъюнктивный фактор), содержащую литеру, отмечающую начало рассматриваемого пути. Набор, обеспечивающий единичное значение на выходе подсхемы, построенной по БВББ-графу (рис. 3), всегда существует и представляется путем, соединяющим соответствующий корень £ВДО-графа с его 1-концевой вершиной. На рис. 1 выделен
один из таких путей, ему соответствует булев вектор у, у= ^ ^ , полученный
произвольным доопределением переменных, отсутствующих в конъюнкции, порожденной этим путем:
Пусть вектор а обращает в единицу конъюнкцию К ранга т, содержащую литеру 2, сопоставляемую началу некоторого рассматриваемого пути, и в ноль все остальные конъюнкции того же ранга, представляющие состояния автомата и от-
носящиеся к рассматриваемой функции системы. Компоненты этого вектора, соответствующие литерам конъюнкции K, принимают значение 1, остальные компоненты - значение 0. Построим вектор ß, заменив в нем компоненту zi символом
«-». ß= z1 z2 z3 z4.
K 1 0 0 -
Теорема. Вектор ß пересекается с конъюнкцией K и обращает в ноль остальные конъюнктивные факторы, относящиеся к рассматриваемой функции.
Доказательство. Вектор а обращает в единицу конъюнкцию K и в ноль остальные конъюнктивные факторы за счет своих нулевых компонент. Замена одной единичной компоненты на символ «-» сохраняет ортогональность вектора ß этим конъюнкциям . Теорема доказана.
Следствие. Вектор yß представляет тестовую пару для пути, начало которого отмечено литерой zi конъюнкции K.
В нашем примере тестовая пара представляется в виде
*1 *2 *3 z1 z2 z3 z4
0 1110 0 - '
Заключение
Предложен метод синтеза комбинационной составляющей последовательностной схемы, обеспечивающий обнаружение неисправностей задержек всех ее путей. Метод ориентирован на сокращение длин путей в схеме. Разработан метод построения пар тестовых наборов для обнаружения неисправностей задержек путей. В рамках предлагаемого подхода существуют возможности сокращения числа элементов схемы. Они связаны с оптимизацией системы булевых функций при построении ее из системы частичных булевых функций, с сокращением размеров SBDD-трафов и факторизацией монотонных ДНФ в пространстве внутренних переменных автомата.
ЛИТЕРАТУРА
1. Николаева Е.А. Построение проверяющих тестов для одиночных и кратных константных неисправностей на полюсах элементов схем, синтезированных на базе ПЛИС (ЕРОЛ)-технолотий по системе Free BDD-графов. Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2009. № 1 (6). С. 81-98.
2. MelnikovA.V. Observability estimation of a state variable when the LOS technique is applied // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2012. № 3 (20). С. 139-144.
3. Drechsler R., Shi J., Fey G. Synthesis of fully testable circuits from BDDs // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2004. V. 23. No. 3. P. 1-4.
4. Matrosova A., Nikolaeva E., Kydin D., and Singh V. PDF testability of the circuits derived by special Covering ROBDDs with gates // Proc. IEEE East-West Design and Tes Symposium, Charkov, Ukraine. 2012. P. 146-150.
5. Яблонский С.В. Введение в дискретную математику. М.: Наука, 1979. 279 с.
Матросова Анжела Юрьевна Митрофанов Владимирович Томский государственный университет
E-mail: [email protected];[email protected] Поступила в редакцию 27 февраля 2013 г.
Matrosova Anzhela Y, Mitrofanov Evgeniy V. (Tomsk State University). Delay testable sequential circuit design.
Keywords: combinational equivalents of sequential circuits, ROBDDs (Reduced Ordered Binary Decision Diagrams, monotonous SoPs (Sum of Products), PDFs (Path Delay Faults).
Specific physical defects of high performance circuits manifest themselves as path delay faults (PDFs). A pair (vi, v2) of test patterns is required to detect a PDF. A PDF is robust testable if there exists a test pair on which the fault manifestation does not depend on delays of other circuit paths. A PDF is non robust testable if manifestation of the fault on any test pair is possible only when all other paths of the circuit are fault free. For high quality delay testing it is desirable to detect delay of any path regardless of delays of other paths. Unfortunately providing delay testability is usually connected with injecting additional inputs. But it is not good for practice. In this paper, synthesis of delay testable sequential circuit without additional inputs is suggested. It is based on applying mixed description of sequential circuit behavior. We use ROBDDs for describing fragments of functions depending on input variables and monotonous SoPs for fragments of functions depending on state variables. ROBDD nodes are covered with the original subcircuit from gates. Special decomposition of ROBDDs and monotonous SoP is suggested. Delay testability of such circuit is investigated. It is specified that the PDF of each path of the circuit is detected. Algorithms of deriving test pairs for PDFs are suggested.