Синтез легко тестируемых схем с памятью с использованием (1, n) кодирования состояний

Вопросы технической диагностики

125

Вопросы технической диагностики

УДК 004.312.4

Синтез легко тестируемых схем с памятью с использованием (1, п) кодирования состояний

А. Ю. Матросова, Е. В. Митрофанов

Томский государственный университет Кафедра программирования ФПМК ТГУ

mau11@vandex.ru

Аннотация. Предлагается метод синтеза контролепригодных комбинационных составляющих последовательностных схем, получаемых при кодировании состояний синхронного автомата кодовыми словами (1, п) кода. В схемах гарантируется обнаружение неисправности задержки любого пути. При синтезе предполагается выделение однобуквенных факторов в пространстве внутренних переменных. Соответствующие им ДНФ в пространстве входных переменных представляются BDD-графами, вершины которых покрываются специальными подсхемами из вентилей. Показывается, что пути в получаемых схемах существенно короче, чем в схемах, построенных аналогичным покрытием BDD-графов, представляющих функции переходов-выходов последовательностной схемы в пространстве входных и внутренних переменных.

Ключевые слова: комбинационные составляющие последовательностных схем; ROBDD-графы; монотонные ДНФ; неисправности задержек путей.

1 Введение

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

в которых задержка каждого пути обнаруживается независимо от задержек других путей, требуют введения дополнительных входов [1]. Это неприемлемо на практике. В работе [2] предложен метод синтеза комбинационных схем, в том числе комбинационных составляющих последовательностных схем, гарантирующий обнаружение неисправностей задержек каждого пути и не требующий введения дополнительных входов. Метод ориентирован на покрытие вершин системы BDD-графов, описывающей поведение схемы, специальными подсхемами из вентилей. Применение этого метода к комбинационной составляющей последовательностной схемы может привести к появлению в синтезированной схеме длинных путей. Такая ситуация возникает, например, при использовании (1, п) равновесных кодов для кодирования состояний автомата с целью получения для него последовательностной схемы. Такое кодирование используется на практике, когда число состояний автомата невелико.

В данной работе предлагается подход к синтезу последовательностных схем, позволяющий сократить длины путей в них. С этой целью при использовании STG (State Transition Graph) описания поведения автомата его состояния кодируются равновесными (1, п) кодами, где п -длина кодового слова. Далее нулевые значения компонент кодов заменяются не-

126

определенными значениями. В результате из STG описания получаем систему функций в дизъюнктивной нормальной форме (ДНФ). Затем для каждой ДНФ системы выделяем однобуквенные конъюнктивные факторы в пространстве внутренних переменных. Им сопоставляются ДНФ в пространстве входных переменных. Эти ДНФ предлагается представлять ROBDD графами, а затем покрывать вершины графов подсхемами из вентилей [2]. Совместная реализация факторов и ROBDD-графов представляет комбинационную составляющую последовательностной схемы, реализующей STG описание синхронного автомата. Далее обсуждается метод синтеза комбинационной составляющей последовательностной схемы, излагается метод построения тестовых пар для его путей и приводятся оценки длин путей последовательностных схем, получаемых предлагаемым методом.

2 Синтез последовательностной схемы

Задано STG-описание поведения синхронного автомата. Предлагается кодировать его состояния (1, п) кодами. Требуется построить комбинационную составляющую последовательностной схемы, в которой гарантировано обнаружение неисправностей задержек каждого из путей. Метод синтеза будем иллюстрировать примером. STG-описание автомата представлено табл. 1.

Кодируем состояния автомата равновесными (1, п) кодами: 1 (1000), 2 (0100), 3(0010), 4 (0001).

Вопросы технической диагностики

ТАБЛИЦА 1 STG-описание синхронного автомата

X1 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 выбираем ДНФ функции, представляя ее конъюнкциями системы, отмеченными единичным значением компоненты векторов (см. табл. 2) сопоставляемой очередной функции.

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

y = Zj ( x x3 V x x2x3 j V z2 ( x2 x3 V Xj x3 j V Vz3 ^JCj x2x3 V x2x3 jv z4 (x2x3 j.

Реализуем каждое выражение в скобках ROBDD-графом. Объединяем полученные графы в SBDD (Shared BDD)-граф (рис. 1).

ТАБЛИЦА 2 Система булевых функций

X1 X2 X3 Z1 Z2 Z3 Z4 Z1 Z2 Z3 Z4 У1 У2 У3 У4 У5

0 - 1 1 - - - 1 0 0 0 1 0 0 1 0

1 0 - 1 - - - 1 0 0 0 0 0 0 1 0

1 1 1 1 - - - 0 1 0 0 1 0 0 1 0

- 1 0 - 1 - - 0 1 0 0 1 0 1 1 0

0 - 1 - 1 - - 0 0 1 0 1 0 1 1 0

1 0 1 - - 1 - 0 0 1 0 1 1 0 0 0

0 - 0 - - 1 - 0 0 0 1 0 1 0 0 0

- 1 1 - - 1 - 0 0 0 1 1 1 0 0 0

1 - 0 - - - 1 0 0 0 1 0 1 0 0 1

- 1 1 - - - 1 1 0 0 0 1 1 0 0 1

Вопросы технической диагностики

127

Покрываем каждую вершину SBDD-графа подсхемой из вентилей (рис. 2), не обращая внимания на дуги, инцидентные 0-концевой вершине SBDD-графа. Получаем схему (рис. 3).

Рис. 2 Подсхема из вентилей

Рис. 3 Реализация Shared BDD-графа

Соединяем выходы схемы на рис. 3 с соответствующими внутренними переменными через двухвходовые элементы и

объединяем полученные подсхемы с помощью подсхемы из двухвходовых элементов ИЛИ. В результате получаем схему для отдельной функции системы (рис. 4).

У1

Рис. 4. Схема для функции у\

Покажем, что для полученных таким образом схем неисправности задержек всех путей могут быть обнаружены.

3 Обнаружение неисправностей задержек путей

Для путей одновыходной подсхемы последовательностной схемы, начало которых отмечаются входными переменными схемы, тестовая пара получается конкатенацией двух векторов. Первый (троичный) вектор в пространстве входных переменных последовательностной схемы задает тестовую пару для рассматриваемого пути в подсхеме, полученной по ROBDD-графу [2]. Второй (булев) вектор обращает в единицу соответствующую этому графу внутреннюю переменную (фактор) и в ноль остальные внутренние переменные (факторы).

Для путей этой же подсхемы, начало которых отмечаются внутренними переменными последовательностной схемы,

128

Вопросы технической диагностики

тестовая пара есть также конкатенация двух векторов. Первый (булев) вектор в пространстве входных переменных последовательностной схемы обращает в единицу ROBDD-граф, соответствующий внутренней переменной, отмечающей начало рассматриваемого пути. Второй (троичный) вектор в пространстве внутренних переменных представляет тестовую пару для пути в схеме рис. 4. Для обеспечения обнаружения неисправностей задержек всех путей последовательностной схемы требуется соблюдать порядок [2] при поступлении тестовых пар для путей, начало которых отмечено входными переменными. Тестовые пары для путей, начало которых отмечено внутренними переменными, подаются в произвольном порядке.

Во [2] было показано, что неисправности задержек всех путей в схеме, полученной покрытием вершин SBDD-графов специальной подсхемой из вентилей (см. рис. 3), могут быть обнаружены. Заметим, что путь в такой схеме (см. рис. 3) продолжается в схеме, представляющей комбинационную составляющую (см. рис. 4), до выхода последней через соответствующий двухвходовой элемент И и связанные с его выходом двухвходовые элементы ИЛИ. Условием обнаружения задержки этого пути в комбинационной составляющей последовательностной схемы (см. рис. 4) является обращение в единицу внутренней переменной, сопоставляемой ROBDD-графу, которому принадлежит рассматриваемый путь, и обращение в ноль других внутренних переменных. На рис. 4 жирной линией выделен такой путь. Для его отрезка, представленного такой же линией на рис. 3, методом, изложенным в работе [2], построена тестовая пара, заданная троичным вектором в пространстве входных переменных:

X x2 x

0 - 1 .

Однобуквенная конъюнкция K, K = Z2 обращается в единицу на булевом векторе

Z1 z2 z3 z4

0 10 0,

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

x X X3 Zi Z2 Z3 Z4

0 - 10100

представляет тестовую пару для выделенного жирной линией пути схемы на рис. 4. Эта тестовая пара подается только после проверки пути, инверсного выделенному, при отсутствии на инверсном пути задержки [2]. Инверсный путь получается из рассматриваемого отрезка, заканчивающегося левым входом в первый встретившийся на пути элемент XOR, путем замены на отрезок, заканчивающийся правым входом этого элемента.

Далее остается рассмотреть пути, начало которых отмечается внутренними переменными одновыходной подсхемы, реализующей функцию системы, описывающей поведение комбинационной составляющей. Один из таких путей на рис. 4 выделен пунктиром. Путей столько, сколько внутренних переменных. Условием обнаружения задержки каждого такого пути является обеспечение единичного значения на соответствующем внутренней переменной выходе подсхемы, полученной покрытием SBDD-графа (см. рис. 3). Этот выход является входом элемента И. Второй вход этого элемента сопоставляется с внутренней переменной, отмечающей начало рассматриваемого пути. Набор, обеспечивающий единичное значение на выходе подсхемы, построенной по SBDD (см. рис. 3), всегда существует и представляется путем, соединяющим соот-

Вопросы технической диагностики

129

ветствующий корень SBDD-графа с его одноконцевой вершиной. На рис. 1 выделен один из таких путей, которому соответствует булев вектор у:

Х1 х, х,

Y _ 0 1 1 ,

полученный произвольным доопределением переменных, отсутствующих в конъюнкции, порожденной этим путем. Здесь произвольно доопределено значение переменной Х1.

Пусть вектор а, обращает в единицу внутреннюю переменную zu сопоставляемую началу некоторого рассматриваемого пути, и в ноль - все остальные внутренние переменные. Компонента zt этого вектора принимает значение 1, остальные компоненты, сопоставляемые внутренним переменным, - значение 0. Построим вектор в, заменив в нем компоненту zt символом «-».

Утверждение. Вектор у в представляет тестовую пару для пути, начало которого отмечено переменной zi.

В нашем примере тестовая пара представляется в виде:

х Х2 Х3 z Z2 Z3 Z4

0 1 1 0 0 0 - .

4 Оценка длин путей схемы

Оценим максимальную длину путей предлагаемых контролепригодных схем и сравним ее с максимальными длинами путей контролепригодных схем, предложенных в работе [2]. Имея в виду схему покрытия (см. рис. 2), приходим к заключению, что оценка L1 максимальной длины пути в схемах, синтезированных покрытием SBDD-графов, построенных для функций переходов-выходов в пространстве входных и внутренних переменных, определяется выражением:

L1 = 3(m + n),

где m - число входных переменных схемы;

n - число ее состояний.

Предполагается, что состояния закодированы словами (1, n) кода и используются вентили не более чем с двумя входами. Для предлагаемого в данной работе подхода к синтезу контролепригодных схем получаем оценку L2 максимальной длины:

L2 = 3m + (n - 1) + 1 = 3m + n,

где (n - 1) - максимальная длина пути древовидной подсхемы из двухвходовых элементов ИЛИ, реализующей дизъюнкцию от n переменных. Следовательно, оценки длин путей в предлагаемых схемах и оценки длин путей в схемах, рассмотренных в работе [2], отличаются на 2n:

L1 - L2 = 2n

в пользу предлагаемого здесь метода.

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

Предлагаемый подход может быть распространен на последовательностные схемы в условиях кодирования их состояний произвольными равновесными кодами.

5 Заключение

В синтезируемых схемах гарантировано обнаружение задержки каждого пути за счет использования специальной подсхемы из вентилей для покрытия вершин Shared BDD в пространстве входных переменных и реализации подсхемы, представляющей состояния автомата в виде монотонной ДНФ из однобуквенных конъюнкций. Показано, что такой подход к синтезу приводит к существенному сокращению длин путей в последовательностной схеме по сравнению с ее реализацией по Shared BDD-графу, построенному по ПЛМ-описанию в пространстве входных и внутренних переменных. Предложены алгоритмы построения тестовых пар для обнаружения задержек путей схемы.

130

Вопросы технической диагностики

Библиографический список

1. Drechsler R., J. Shi G. EeySynthesis of fully testable circuits from BDDs // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2004. Vol. 23. № 3. - Pp. 1-4.

2. Matrosova A., Nikolaeva E., Kydin D., Singh V. PDF testability of the circuits derived by special Covering ROBDDs with gates // Proceedings of IEEE East-West Design and Test Symposium, Kharkov, Ukraine. - 2012. - Pp. 146-150.

Самый длительный период, когда защиты диссертаций на кафедре «Автоматика и телемеханика на ж. д.» проводились ежегодно, был с 1973 по 1992 год, т. е. 19 лет.