Анализ графовых структур для моделирования цифровых систем

Для разрешения последнего конфликта применяется также операция сдвига точек излома трасс. В этом случае точки линии излома для первой трассы сдвигаются вверх, адля второй трассы—вниз. В результате такихдействий устанавливаем истинность соотношения: L^(Nj > N2).

Следует заметить, что предложенная топологическая модель печатной платы в виде совокупности четырех подмножеств, отображающих взаимное расположение трасс на границах дискрета КД РП, и двух массивов для хранения информации об изломах трасс в вертикальном и горизонтальном направлениях в совокупности с условиями возникновения конфликтных ситуаций позволяет организовать параллельный процесс макро- и микротрассировки.

Литература: 1. Алипов Н.В. Трассировка соединений в многослойных печатных платах (МПП) // АСУ и приборы автоматики. 1982. Вып.63. С. 24-31. 2. Алипов

H. В., Шумейко Н.А. Об одной модели печатной платы

УДК 519.713:681.326

АНАЛИЗ ГРАФОВЫХ СТРУКТУР ДЛЯ МОДЕЛИРОВАНИЯ ЦИФРОВЫХ СИСТЕМ

ХАХАНОВ В.И., ЧУМАЧЕНКО С.В, КОЛЕСНИКОВ К.В, ХАХАЛОВА А.В.______________

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

I. Введение

Актуальность данной темы определяется необходимостью значительного повышения быстродействия средств моделирования неисправностей и генерации тестов для структурно — и функционально — сложных цифровых систем, имплементированных в кристаллы программируемой логики. Автоматические системы тестирования известных фирм: Cadence, MentorGraphics, Synopsys, Logic Vision [www.cadence.com, www.lqgicvision.com,www.simucad.com,www.syntest.com, www.synopsys.com, www.mentqrgIapЫcs.com], ориентированные на обработку кристаллов размерностью до 100 тыс. вентилей, затрачивают несколько часов только на моделирование неисправностей. Время анализа становится неприемлемым, если в качестве объекта выступает устройство, имеющее миллионы вентилей. Актуальным представляется решение проблемы повышения на порядок быстродействия анализа сложной цифровой системы на стадии ее проектирования в целях построения тестов верифи -кации и анализа их качества. В рамках решения упомянутой проблемы предлагается структурный анализ цифровых проектов, позволяющий повысить быстродействие средств автоматической гене-

на этапе трассировки соединений // Электронное моделирование. 1984. № 1. С. 81-86. 3. Алипов Н.В., Литвинова Е.И. Трассировка многослойных печатных плат на основе крупнодискретной модели // Труды УНИИРТ, Одесса. 1995. № 3. С. 72-76 .

Поступила в редколлегию 12.03.2002

Рецензент: д-р техн. наук, проф. Петров Э.Г.

Алипов Николай Васильевич, д-р техн. наук, профессор кафедры проектирования и эксплуатации электронных аппаратов ХНУРЭ. Научные интересы: алгоритмизация задач автоматизированного проектирования электронно-вычислительных средств, защита информации. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-94-94.

Литвинова Евгения Ивановна, канд. техн. наук, доцент кафедры технологии и автоматизации производства РЭС и ЭВС ХНУРЭ. Научные интересы: алгоритмизация задач автоматизированного проектирования электронных вычислительных средств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-94-94, 40-94-85.

рации тестов и моделирования неисправностей путем предварительного определения сходящихся разветвлений (СР) и использования данной информации при решении задач тестирования.

Объект тестирования — цифровой проект, представленный в форме структуры булевых уравнений, реализуемых в кристаллах программируемой логики.

Цель исследования—разработка алгоритмов структурного анализа цифровых проектов для идентификации СР в комбинационных и последовательностных схемах.

Задачи исследования:

1. Создание структурной модели цифровой схемы для синтеза тестов и моделирования путем использования процедуры обратной суперпозиции. 2. Разработка алгоритмов структурно-функционального анализа для комбинационных и последовательностных цифровых систем в целях определения множества сходящихся разветвлений и реконфигурации структуры схемы для реализации процедуры суперпозиции. 3. Программная реализация алгоритмов структурного анализа цифровых систем и сравнение их эффективности на представительной выборке комбинационных и последовательностных схем.

Исходная информация для разработки алгоритмов структурного анализа представлена публикациями: BDP-метод (Backtraced Deductive-Parallel) моделирования неисправностей [1,2], дедуктивные модели транспортирования дефектов [4-7], параллельный метод обработки списков неисправностей функционального элемента [6] и алгоритм обратного прослеживания примитивов [8] при обработке цифрового устройства.

2. Формулировка проблемы структурного анализа

Дедуктивно-параллельный метод обратного моделирования неисправностей ориентирован на обработку комбинационных и последовательностных схем, которые содержат незначительный процент (<20%) сходящихся разветвлений.

92

РИ, 2002, № 4

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

Стратегия ОДП-метода [2] моделирования неисправностей цифрового устройства с предварительным структурным анализом включает следующие шаги:

1. Идентификация линий сходящихся разветвлений, инвариантных по отношению к тест-векторам. Вычислительная сложность данной процедуры

2

Qr = n , но она выполняется на стадии предварительного анализа и только один раз, поэтому практически не влияет на быстродействие моделирования тест-векторов.

2. Моделирование неисправностей линий СР на тест-векторе. Модификация схемной структуры путем преобразования сходящихся разветвлений в псевдовыходы цифрового устройства.

3. Вычисление линий подграфов схемы, моделирование неисправностей которых на тест-векторе не должно проводиться вследствие существования формального доказательства их непроверяемости.

4. Определение древовидных фрагментов графа цифрового устройства, корректных для выполнения суперпозиции кубов неисправностей элементов на тест-векторе.

5. Выполнение процедуры суперпозиции векторов проверяемых неисправностей примитивов на скорректированной модели цифрового устройства.

Итак, необходимым условием эффективного применения ОДП-метода [2] являлется определение множества сходящихся разветвлений VRC на фоне несходящихся VN, а также линий, охваченных глобальными обратными связями VO. Поэтому структурная модель цифровой схемы представлена в виде следующих уравнений:

V = {VRC,VN,V°,VC};

{VRC,VN,V°}u VC = V;

{VRC, VN, V°}n VC =0;

VRC n VN =0;VRC и VN = VR;

V° n VRC * 0,

где Vе—линии, дополняющие {VRC,VN,VO} до полного множества; VR—множество линий разветвления.

Наличие подмножества VO, делающего схему последовательностной, значительно усложняет алгоритмы поиска СР. Поэтому их необходимо рассматривать раздельно для двух типов объектов — комбинационных и последовательностных схем.

3. Метод структурного моделирования

Рассматривается алгоритм определения сходящихся разветвлений на основе анализа графовой структуры комбинационного цифрового устройства. Предельная сложность выполнения алгоритма равна квадрату числа линий в схеме. Для комбинационных устройств, которые не имеют контуров — глобальных обратных связей, основные шаги представлены пунктами:

РИ, 2002, № 4

1. Разбиение всех линий V (1) цифрового устройства на подмножества:

V =

где Y — идентификатор линии, относящейся к внешним выходам; S — обозначение линии, имеющей одного преемника, соединенной с одним элементом; R — идентификатор линии разветвления, имеющей более одного элемента-преемника.

Определение множества преемников для каждой линии схемы путем формирования вектора числа преемников:

V = (Vi,V2,...,V1,...,Vn),

Vi =]

0 ^ V1 є VY;

1 ^ Vi є Vs;

> 2 ^ Vi є VR

R

2. Выбор очередной линии Vi є V для определения ее принадлежности к множеству сходящихся разветвлений є VRC. Данная процедура выпол-

няется путем логического моделирования (прямой

импликации) графовой структуры от линии VR є V

R i

на множестве всех ее преемников f (Vi ) с V до

внешних выходов схемы. Первоначально все линии n

обнуляются V Vi = 0 . i=1

3. Присвоение рассматриваемой линии разветвле-R

ния значения 1: V = 1. После этого реализуется

i R

последовательность операций Vj = Vj +1<—Vj = f(V ), (j = 1, n; j Ф i) для всех линий Vj, являющихся преемниками для Vi: Vj = f (VR). Если на некотором шаге будет зафиксирован результат Vj = Vj +1 = 2 , являющийся критерием сходимости для разветвле -ния VR , то оно заносится в список VR є VRC и осуществляется переход к пункту 2.

Повторение пунктов 2 и 3 выполняется для всех линий разветвления.

В качестве примера применения структурного анализа выступает схема, представленная на рис. 1, где линии 15, 17, 19 есть сходящиеся разветвления.

В результате выполнения структурного моделирования по описанному алгоритму схема реконфигурируется в четыре древовидные структуры, определяемые подграфами с корневыми вершинами, являющимися выходами или псевдовыходами устройства (рис. 2).

93

Рис. 2. Древовидные фрагменты схемы

Ее описание представляется в виде матрицы смежностей M = [M;j](i, j = 1, n):

Mij 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

4 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

5 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0

6 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

7 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0

8 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0

9 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0

10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

где n — число вершин графа, а элемент или координата матрицы определяется так:

Моделирование неисправностей такой схемы с помощью обратной суперпозиции требует уже линейных затрат памяти и времени в функции от числа эквипотенциальных лин ий и квадратичных затрат для обработки СР: Q = (r2 / W) + nr + np + (n - r- r0), где (r2 /W) — время моделирования неисправностей r сходящихся разветвлений, число которых определяется как r = 0.2 х n ; nr = n — время реконфигурирования примитивов схемы на входном наборе; np = n — время поиска подграфов линий, соостветствующих непроверяемым сходящимся разветвлениям; (n - r - r0) = n - 0.2 x n - 0.4 x n = 0.4 x n — время выполнения процедуры суперпозиции на множестве линий схемы без СР и предшественников для непроверяемых сходящихся разветвлений. Учитывая фактические значения указанных параметров в функции от числа линий схемы, можно получить следующую оценку быстродействия BDP-метода:

Q = [(0.2 X n)2/W] + n + n + (n - 0.2 x n - 0.4 x n) =

= [(0.2 x n)2 / W] + 2.4 x n).

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

4. Метод анализа матрицы смежностей

Основан на использовании матрицы смежностей, описывающей граф цифрового устройства. Пусть имеется ориентированная структура, представленная на рис. 3.

Рис. 3. Граф со сходящимися разветвлениями

Mij =

1 ^3 U 0 ^3 U

ij

ij-

Здесь Uij — ориентированная дуга, соединяющая смежные вершины Vi и Vj. Метод выявления СР основывается на анализе матрицы смежностей, которая имеет существенную для предлагаемого ниже алгоритма информацию, расположенную над главной диагональю, что являлется следствием ориентированности графа. Алгоритмическая реализация метода анализа матрицы смежностей представлена на рис. 4.

В целях уточнения функций блоков ниже представлено описание особенностей алгоритмической реализации метода выявления СР:

1 -2. Цикл по строкам матрицы в целях ее анализа: i = 1, n . После его окончания — конец алгоритма.

3. Присвоение начальных значений: S — вектору идентификации разветвлений, K — параметру количества единичных координат в вектор -строке.

4. Анализ элементов текущей строки путем выполнения цикла j = i +1, n . После завершения цикла (j>n) осуществляется переход к п. 7.

5. Проверка условия равенства текущего элемента строки Mjj единице:

5.1. Если Му =1, то выполняется п.6.

5.2. Иначе — переход к п. 2.

6. Инкрементрй координаты вектора идентификации разветвлений ( Sj =Sj + 1) и подсчет количества единичных координат в вектор-строке S: K:=K+Mj Переход к п. 2.

7. Проверка условия К> 1: если количество единичных координат К вектор-строки S больше единицы (К>1), выполняется п. 8. Иначе — переход к п. 2.

8. Сообщение: в вершине i имеется разветвление. Считывание меток столбцовых координат j i, j2,..., jk из массива S и организация цикла по ним.

9. Присвоение начальных значений: вектор-строке R идентификации схождений (R:=0) и его j-м координатам (Rj:=0).

94

РИ, 2002, № 4

Рис. 4. Структурная схема алгоритма

13. Добавление в j-ю координату вектор-строки идентификации схождений R единицы: Rj:=Rj+1. Возврат к п. 11.

14. Определение схождений в вершине j, просмотр координат вектора R:

14.1. Если j-й компонент вектор-строки идентификации схождений R больше единицы (Rj>1), то в вершине j имеется схождение. Сообщение: разветвление из вершины i сходится в вершинеj. Возврат к п.2.

14.2. Иначе — схождения отсутствуют. Возврат к п.2.

Выполнение основных шагов алгоритма на примере приведенного выше графа (см. рис. 3) дает следующий результат: имеются 4 разветвления из вершин {2,5,7,8} , которые сходятся в {10,14,15,15} .

Вычислительная сложность алгоритма включает количество шагов, необходимых для просмотра верхнедиагональной части элементов матрицы (n2 /2), а также количество обращений циклов, которое определяется суммой полустепеней исходов вершин графа.

5. Дедуктивный метод структурного анализа

Рассматривается некоторая текущая вершина Vj є V в ориентированном графе G эквипотенциальных линий. По отношению к смежным вершинам-предшественникам, которые являются прообразами f_1 (Vj), упомянутая вершина Vj є V является образом, а их отношения регулируются выражением

Vі = f “1

где Vі с V — подмножество непосредственных предшественников для Vj.

Модель вершины рассматривается как логический элемент ИЛИ, число входов у которого равно количеству входящих в него дуг или смежных вершин-предшественников. Например, граф, содержащий 9 вершин (рис. 5), имеет такое же количество логических элементов, где дуги отождествляются с соединительными линиями.

Рис. 5. Граф со сходящимися разветвлениями

10. Просмотр строк с номерами, соответствующими считанным меткам, — цикл по строке l= ji, j2,..,jk . После завершения цикла переход к п. 14.

11. Просмотр элементов строки с текущим индексом l — цикл по столбцу j=l+1,... ,n. После завершения (j>n) — переход к п. 10.

Утверждение 1. Каждая вершина бесконтурного

ее образа и j, которое

называется экстраобразом.

Утверждение 2. Все вершины, входящие в контур, имеют одинаковые экстраобразы.

графа имеет уникальное объединение суперпозиции прообразов: [Г iVj) u V

12. Проверка условия равенства текущего элемента строки единице:

12.1. Если Mij=1, то выполняется п. 13.

12.2. Иначе — возврат к п. 10.

Это является следствием того факта,что существует одинаковая достижимость каждой вершины, принадлежащей контуру, из множества вершин предшественников.

РИ, 2002, № 4

95

Сходящемуся разветвлению могут предшествовать вершины (линии), которые не являются таковыми, но проявляются на вершине-схождении как СР. Примером таких линий есть вершины, составляющие путь без ветвлений, заканчивающийся на линии СР.

Утверждение 3. Для того чтобы устранить всех предшественников сходящегося разветвления, входящих в множество Vj для вершины Vj , но не являющихся СР, необходимо и достаточно вычесть из множества Vj объединение пересечений всех

пар сочетаний С 2 .

nj

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

P=i___

q=i+1,nj

1) Vj = и [fp_1(Vj) fq_1(Vj)];

C2 i=Uj -1

nj

P=i____

q=i+1,mj

2) Vj = Vj\ U [VP П V?];

C2 j i=1j j

mj 2j

3) Vj = [U fi“1(Vj)u Vj]\Vj,

i=1

где fi_1(Vj) — элемент прообраза f _1(Vj), число которого для вершины Vj равно nj.

Первое уравнение предназначено для определения СР путем выполнения операции объединения пересечений всех пар прообразов анализируемой вершины, число которых равно количеству сочетаний —

C2 . Второе — для исключения из списка СР вершин,

не являющихся сходящимися разветвлениями в соответствии с утверждением 3. Третье — для формирования списка предшественников каждой вершины.

Для примера графа (см. рис. 5) последовательная обработка всех вершин по правилам (5) представлена результатами вычислений:

V1 =0; V1 = {1};

V2 =0;V2 = {2};

V3 =0;V3 = {3};

V4 = (V1 n V2) = 0; V4 = {1,2,4};

V5 = (V1 n V2) u (V1 n V3) u (V2 n V3) = 0;V5 = {1,2,3,5}; V6 = (V2 n V3) = 0; V6 = {2,3,6};

V7 = (V4 n V5) = {1,2}; V7 = {1,2,3,4,5,7} \ {1,2} = {3,4,5,7}; V8 = (V4 n V6) = {2};V8 = {1,2,3,4,6,8}\{2} = {1,3,4,6,8};

V9 =0;V9 = {2,3,6,9}.

n

Объединение всех подмножеств VRC = U Vj дает

полное множество сходящихся развтвлjений VRC графа цифровой структуры. Для данного примера

VR = V1 u V2 u V3 u V4 u V5 u V6 u V7 u V8 и V9 = = 0u0u0u0u0u0u{1,2} и {2} и0 = 1,2}.

Учитывая тот факт, что линии, уже определенные как сходящиеся разветвления, являются избыточными для дальнейшего анализа структуры, их можно исключать из списков при обработке каждой вершины. Однако множество СР, определяемое в процесе обработки, необходимо накапливать в составе отдельного подмножества VRC. С учетом сказанного возникает необходимость модифици-кации уравнения (1) в (5). В этом случае выражение процедуры дедуктивного анализа вершин графа цифровой схемы модифицируется к виду

1)Vj

и fVj)

C2

p=i_____

q=i+1,nj

n

i=1>nj -1

1

(Vj)];

p=i____

q=i+1,mj

2) Vj = Vj\ U [Vp П Vq];

C2 j i=1,mj -1 j

mj

3) VRC = VRC U Vj;

nj

4)Vj = [U fi“1(Vj)u Vj]\VRC i=1

Отличие процедуры (6) от (5) заключается в накоплении множества СР и его вычитании из списков предшественников для каждой вершины. Выражение (6) следует использовать для уменьшения списков прообразов обрабатываемой вершины, которое будет тем существенней, чем выше коэффициенты разветвления у линий предшественников, уже отнесенных к множеству VRC.

6. Метод параллельного структурного моделирования графов на дедуктивной модели вершин

В качестве идентификатора вершины Vj выступает уже вектор Vj є V, имеющий в j-й позиции значение 1. Тогда совокупность векторов, обозначающих все множество вершин в графе, будет представлена единичной матрицей

V = Vj — ;Vij =

I ijl(i,j=1,n) ij

1 ^ i = j;

0 ^ i ф j.

Учитывая изомор физм булевой алгебры и алгебры множеств, выполним преобразование выражения (5) к алгебро-логическому виду:

p=i____

q=i+1,nj

1) Vj = V [fp”1 (Vj) fq-1 (Vj)];

C2 i=1,n; -1

nj

p=i_____

q =i+1,mj

2) Vj = Vj A —1[ V (Vp .A Vq)];

Cmj i=1,mj -1

nj _.

3) Vj = [Vfi-1(Vj) V Vj] A Vj,

где операции конъюнкции и дизъюнкции выполняются над соответствующими векторами матрицы V.

Аналогичные преобразования над (6) дают результат:

96

РИ, 2002, № 4

p=i_____

q=i+1,nj

1)Vj =\/[fp-1(Vj) Л_

C2 J i=1,n; -1

nj

fq"‘(Vj)]-.

p=l_____

q=i+1,mj

2) Vj = Vj Л—1[ U (VP Л V,q)];

c2 j i=1,mj -1 j

mj

3) VRC = VRC V Vj;

nj -1 4) Vj = [f

(Vj)v Vj] л VRC.

Преимущества использования формул (7) и (8) заключаются в следующем: 1) Параллельность выполнения операций над вершинами графа позво -ляет в десятки и сотни раз повысить быстродействие процедуры анализа для вершин, имеющих большое число предшественников, путём увеличения памяти, необходимой для хранения матрицы идентификаторов вершин. 2) Повышение быстродействия формирования списка СР, благодаря исключению операций над элементами множества, которые заменяются параллельными операциями над векторами — идентификаторами вершин.

В качестве примера применения формул (8) приводится последовательность вычислений для нахождения множества СР графа (см. рис. 5):

1. Первоначальное задание матрицы V0:

V0 1 2 3 4 5 6 7 8 9

1 1 0 0 0 0 0 0 0 0

2 0 1 0 0 0 0 0 0 0

3 0 0 1 0 0 0 0 0 0

4 0 0 0 1 0 0 0 0 0

5 0 0 0 0 1 0 0 0 0

6 0 0 0 0 0 1 0 0 0

7 0 0 0 0 0 0 1 0 0

8 0 0 0 0 0 0 0 1 0

9 0 0 0 0 0 0 0 0 1

и иницализация вектора сходящихся разветвлений:

VRC

1 2 3 4 5 6 7 8 9

0 0 0 0 0 0 0 0 0

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

V1 1 2 3 4

1 1 0 0 0

2 0 1 0 0

3 0 0 1 0

4 1 1 0 1

5 1 1 1 0

6 0 1 1 0

7 0 0 1 1

8 1 0 1 1

9 0 1 1 0

5 6 7 8 9

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

1 0 0 0 0

0 1 0 0 0

1 0 1 0 0

0 1 0 1 0

0 1 0 0 1

3. Накопление СР в процессе обработки вершин приводит к окончательному результату в виде

вектора VRC:

VRC

1 2 3 4 5 6 7 8 9

1 1 0 0 0 0 0 0 0

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

7. Структурный анализ последовательностных схем

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

Здесь прежде всего речь идет о синхронных устройствах, основное отличие которых от асинхронных заключается в отсутствии глобальных обратных связей, которые практически не применяются при проектировании сложных цифровых систем ввиду наличия в таких схемах состязаний сигналов. Поэтому далее рассматриваются схемы, имеющие локальные обратные связи, являющиеся непременным атрибутом любого триггера, который может превратить комбинационную схему в элемент памяти. Примером описания триггера может служить система уравнений, представленная в формате BNF (Boolean Normal Form):

S2_tmp0=C_tmp0 * Q 3_tmp0(t-1);

Q2_tmp0(t)=!S2_tmp0+(D_tmp0*Q2_tmp0(t-1));

R3_tmp0=!(D_tmp0*Q2_tmp0(t-1));

Q3_tmp0(t)=!C_tmp0+(R3_tmp0*Q3_tmp0(t-1));

Q(t,0)=!Q3_tmp0(t)+(Q2_tmp0(t)*Q(t-1)).

Данному описанию ставится в соответствие логическая схема триггера, имеющая три обратные связи (рис. 6).

Рис. 6. Пример триггерной структуры

Графовая модель триггерной структуры, представленная на рис. 7, содержит 8 линий, среди которых — 3 сходящихся разветвления (C, Q3, Q2 ) и 6 линий, охваченных обратными связями (Q3,Q3, Q2,Q2,Q,Q).

Рис. 7. Граф триггерной структуры: 1 — С, 2 — D, 3_-S2, 4 - Q3, 5 - Q3 , 6 - Q2, 7 - Q2,8 - Q, 9 - Q

В соответствии с утверждениями 1 и 2 критерием отличия линии, входящей в контур, от сходящегося разветвления является наличие идентичных экст-

РИ, 2002, № 4

97

раобразов для более, чем одной вершины графа цифрового устройства.

Однако проблема заключается в том, что контурные вершины могут быть сходящимися разветвлениями. Как в этом случае рассматривать задачу определения СР? Существует два возможных варианта ее решения:

1) Относить все контурные вершины к множеству СР.

2) Считать контурную вершину сходящимся разветвлением, если она имеет не менее двух исходящих дуг.

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

Определение. Для синхронных схем, имеющих обратные связи благодаря наличию триггеров, контурная линия является СР, если она имеет более одной исходящей дуги, а также схождение на линии, не принадлежащей к данному контуру.

Для структуры, представленной на рис. 8, сходящимися разветвлениями являются линии (3,4), входящие в контур и имеющие схождение на линиях 5 и 6, не принадлежащих к контуру, образованному линиями 3 и 4.

Что касается ранее рассмотренного графа (см. рис. 6), то здесь в качестве СР выступают вершины C,Q3,Q2 , которые удовлетворяют всем требованиям определения.

8. Заключение

Предложены методы структурного анализа цифро -вых систем, которые используются на стадии предварительной обработки схем в целях повышения быстродействия методов моделирования неисправностей по стратегии обратного прослеживания дефектов. Главные методы анализа основаны на дедуктивном подходе к структурному моделированию графа, который позволяет определять все сходящиеся разветвления в цифровых схемах за один проход. Программная реализация структурного анализа позволяет в десятки раз повысить быстродействие нахождения СР по сравнению с классическими методами и тем самым в несколько раз улучшить количественные показатели быстродействия программных средств моделирования неисправностей.

Дальнейшее развитие структурного анализа для моделирования неисправностей цифровых схем должно охватывать вопросы, связанные с:

98

1) исследованием компенсации и возникновения ложных дефектов для всех промышленно используемых типов триггеров;

2) теоретическим доказательством корректности выполнения обратной суперпозиции неисправностей для триггерных структур;

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

Литература: 1. Хаханов В.И., Сысенко И.Ю., Колесников К.В. Дедуктивно-параллельный метод моделирования неисправностей на реконфигурируемых моделях цифровых систем // Радиоэлектроника и информатика. 2002. №1. С. 98-105. 2. Хаханов В.И., Колесников К.В., Хаханова А.В. BDP-метод моделирования неисправностей для синтеза тестов цифровых проектов // Радиоэлектроника и информатика. 2002. №2. С. 60-66. 3. Hahanov V.I., Babich А. V., Hyduke S.M. Test Generation and Fault Simulation Methods on the Basis of Cubic Algebra for Digital Devices. Proceedings of the Euromicro Symposium on Digital Systems Design DSD2001. Warsaw, Poland. September, 4-6, 2001. P. 228-235. 4. Хаханов В.И., Хак Х.М. Джахирул, Масуд М.Д. Мехеди. Модели анализа неисправностей цифровых систем на основе FPGA, CPLD // Технология и конструирование в электронной аппаратуре. 2001. № 2. С. 3-11. 5. Хаханов В.И., Сысенко И.Ю., Хак Х.М. Джахирул, Масуд М.Д. Мехеди. Кубическое моделирование неисправностей цифровых проектов на основе FPGA, CPLD // Радиоэлектороника, информатика, управление. 2001. № 1. С. 123-129. 6. Abramovici M, Breuer M.A. and Friedman AD, Digital System Testing and Testable Design, Computer Science Press, 1998. 652 p. 7. Хаханов В.И. Техническая диагностика элементов и узлов персональных компьютеров. К.: I3MH. 1997.308с. 8. Убар Р.Р. Анализ диагностических тестов для комбинационных цифровых схем методом обратного прослеживания неисправностей // Автоматика и телемеханика. 1977. №8. C. 168-176.

Поступила в редколлегию 16.05.2002 Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.

Хаханов Владимир Иванович, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail: hahanov@kture.kharkov.ua

Чумаченко Светлана Викторовна, канд. физ.-мат. наук, доцент кафедры АПВТ ХНУРЭ. Научные интересы: методы математической физики и дискретной математики в автоматизации проектирования радиоэлектронных устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26. E-mail: ri@kture.kharkov.ua

Колесников Константин Васильевич, ст. преподаватель кафедры КС Черкасского государственного технологического университета. Научные интересы: тестирование цифровых систем и сетей. Увлечения: живопись — постимпрессионизм, поэзия — серебряный век, символизм. Адрес: Украина, 18006, Черкассы, бульв. Шевченко, 460, тел. 43-74-28, e-mail: kvvk601@mail.ru

Хаханова Анна Владимировна, магистрант кафедры АПВТ ХНУРЭ. Научные интересы: моделирование и диагностика цифровых устройств. Увлечения: аэробика, литература. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26.

РИ, 2002, № 4