- •3. Типы неисправностей цифровых схем.
- •Глава1.
- •1. Существующие методы компактной диагностики цифровых схем (цс).
- •3. Сигнатурный анализ.
- •4. Замкнутые системы диагностики.
- •2. Принципы генерирования случайных и псевдослучайных последовательностей.
- •Глава 2.
- •3.2. Применение многоканальных анализаторов для диагностики неисправностей.
- •Глава3. Кольцевое тестирование.
- •3.1 Основные принципы построения систем тестирования.
- •3.2 Линейные системы кольцевого тестирования.
- •3.3 Алгоритм построения системы кольцевого тестирования для комбинационных схем.
- •3.4 Применение кольцевого тестирования для диагностики последовательностных схем.
- •Глава4.
Глава 2.
Сигнатурный анализ
Одним из наиболее эффективных путей поиска неисправностей в цифровых устройствах является применение сигнатурного анализа, методика проведения которого и соответствующие приборы, называемые сигнатурными анализаторами, разработаны сравнительно недавно. Название сигнатурный анализ происходит от слова сигнатура – это число, состоящее из четырех знаков (цифр или букв) шестнадцатеричного кода и условно, но однозначно характеризующее определенный узел контролируемого устройства. Сигнатурный анализ сводится к сопоставлению реальной сигнатуры конкретного узла, отображаемой дисплеем анализатора, с эталонной сигнатурой этого узла, указанной на схеме или в таблице руководства по обслуживанию испытуемого устройства. Несовпадение сигнатур свидетельствует о неисправности; ненормальном функционировании устройства.
Одноканальный сигнатурный анализатор.
Построить сигнатурный анализатор можно двумя способами:
метод свёртки;
метод деления полиномов.
Структурная типовая схема сигнатурного анализатора, использующая метод свертки, состоит из регистра сдвига RG и сумматора по модулю 2 M2, на входы которого подключены выходы разрядов регистра сдвига в соответствии с порождающим полиномом φ(x) (рис.2.1).
Рис.2.1
Управляющими сигналами сигнатурного анализатора являются СТАРТ, СТОП и СДВИГ. Сигналы СТАРТ и СТОП формируют временной интервал, в течение которого осуществляется процедура сжатия информации на анализаторе. Под действием сигнала СТАРТ элементы памяти регистра сдвига устанавливаются в исходное состояние, как правило, нулевое, а сам регистр начинает выполнять функцию сдвига на один разряд вправо под действием синхронизирующих сигналов СДВИГ. По приходу каждого синхронизирующего импульса в первый разряд регистра сдвига записывается информация, соответствующая выражению:
(2.1)
В этом выражении
- k-й
символ сжимаемой последовательности
{y(k)},
,
где l-длина
сжимаемой последовательности,
-
коэффициенты порождающего полинома
- содержимое i-го
элемента памяти регистра сдвига в k-1-й
такт. Процедура сдвига информации в
регистре описывается отношением
,
.
Таким образом, полное математическое описание функционирования сигнатурного анализатора имеет следующий вид:
,
,
,
,
(2.2)
причем
l-длина сжимаемой
последовательности, как правило,
принимается равной или меньше величины
2m-1. По истечении l
тактов функционирования сигнатурного
анализатора на его элементах памяти
фиксируется двоичный код, который
представляет собой сигнатуру.
Главная
идея сигнатурного анализа при использовании
метода деления полинома на полином
основывается на выполнении операции
деления многочленов. В качестве делимого
используется поток данных, формируемых
на выходе анализируемого цифрового
узла, который может быть представлен
как многочлен
степени
,
где
-
длина потока. Делителем служит примитивный
неприводимый полином
,
в результате деления на который получается
частное
и остаток
,
связанные соотношением:
,
(2.3)
где
остаток, представляющий собой полином
степени
,
называется сигнатурой.
Пример формирования
сигнатуры
для потока
данных 11110101, описываемого
полиномом
,
и делителя
приведен
на рис.2.2.
Аппаратурная реализация сигнатурного анализатора приведена на рис.2.2
Рис.2.2
Здесь а1, а2 , а3 элементы памяти (D-триггеры),
Пример формирования сигнатуры для потока данных 11110101, описываемого полиномом χ(х)=х7+х6+x5+х4+x2+1, и делителя φ(х)=х3+x2+1 приведен на рис.2.3.
q(x)-частное от деления |
№ такта |
а3 |
а2 |
а1 |
χ(x)-сжимаемый поток |
|
0 |
0 |
0 |
0 |
1 1 1 1 0 1 0 1 |
|
1 |
0 |
0 |
1 |
1 1 1 0 10 1 |
|
2 |
0 |
1 |
1 |
1 1 0 101 |
|
3 |
1 |
1 |
1 |
1 0 1 0 1 |
1 |
4 |
0 |
1 |
0 |
0 10 1 |
0 1 |
5 |
1 |
0 |
0 |
1 0 1 |
1 0 1 |
6 |
1 |
0 |
0 |
0 1 |
1 0 1 1 |
7 |
1 |
0 |
1 |
1 |
1 0 1 1 1 |
8 |
1 |
1 |
0 |
|
q(x)= (10111)2 =x4+x2+x+1 S(x)=(110)=x2+x
Рис 2.3
Таким
образом, показано, что остаток
от деления χ(х)
на φ(х)
есть
сигнатура, полученная
на анализаторе в результате
сжатия последовательности
χ(х),
;
Для реализации
сигнатурного
анализатора,
описываемого полиномом
φ(х)=х3+x2+1
(рис.2.2), существует
альтернативная
структура, которая является более
предпочтительной с точки зрения
аппаратурного
построения и называется методом свертки.
При реализации метода свертки используются
внешние сумматоры по модулю два. Для
построения сигнатурного анализатора
используется обратный полином
В нашем случае
.
Аппаратурная
реализация такого анализатора представлена
на рис. 2.4.
Рис.2.4
Однако,
результат с(х),
получаемый
при свертке последовательности р(х)
на
сигнатурном анализаторе с внешними
сумматорами по модулю два не совпадает
с остатком от деления, т. е. с(х)
≠s(х).
В нашем случае С(х)=(100)2
. В
то же время между с(х)
и s(x)
существует
однозначная связь, которая в
общем
случае определяется выражением
S(x)=
(2.4)
Здесь с(х) - результат свертки на сигнатурном анализаторе, описываемом полиномом ψ(х); s(x) остаток от деления многочлена χ(х) на полином φ(х), коэффициенты α принадлежат полиному φ(х). Для частного случая, представленного на рис.2.2 и 2.4
S(x)=
, S(x)=(110)2
(2.5)
Таким образом, путём формирования тестовой последовательности на входах анализируемого цифрового устройства для каждого его полюса находим эталонные значения сигнатур, множество которых запоминается и в дальнейшем используется для сравнения со значениями сигнатур, снимаемых с проверяемых устройств. Любое отличие реально полученной сигнатуры от эталонной свидетельствует о том, что полюс схемы функционирует отлично от случая исправного состояния устройства. Причина, вызвавшая отличие сигнатур на данном полюсе, может быть установлена последовательным анализом сигнатур от указанного полюса к входам устройства.
Эффективность использования такого сигнатурного анализатора ограничивается наличием в нём только одного информационного входа, в то время как количество выходов сложных цифровых узлов достигает значительных величин. Исследование подобных узлов осуществляется с использованием нескольких сигнатурных анализаторов, путём свёртки по модулю два выходных последовательностей или с применением некоторых других схемных решений. Применение таких подходов для анализа многовыходных цифровых схем приводит или к существенному увеличению аппаратурных затрат, или к уменьшению величины вероятности P обнаружения ошибки. Поэтому для многовыходных цифровых узлов создание высокоэффективных цифровых анализаторов весьма актуально.
Оценка достоверности сигнатурного анализатора.
Полнота необнаружения неисправностей цифровой схемы в первую очередь зависит от качества тестовых воздействий. Если определённая неисправность не проявляется в виде искажения их символов, то она не может быть обнаружена в результате применения сигнатурного анализа, который является не более чем эффективным методом сжатия потока данных. Поэтому если этот поток не несёт информации о неисправности, то она и не появится после его сжатия.
Таким образом, под достоверностью сигнатурного анализа будем понимать его эффективность обнаружения ошибки в потоке сжимаемых данных. Для оценки этой характеристики сигнатурного анализа могут использоваться разные подходы и методы. Наиболее широко применяемым является вероятностный подход, сущность которого заключается в определении вероятности Pn необнаружения ошибок в анализируемой последовательности данных. Причём в рассматриваемом случае оценивается вероятность, зависящая только от метода сжатия, и не учитываются другие факторы.
Величина
Pn рассчитывается
для общего случая, приближённо
соответствующего реальным примерам.
Предполагается, что эталонная
последовательность данных может
равновероятно принимать разное значение,
а любая конфигурация ошибочных бит
может быть равновероятным событием.
Далее, используя алгоритм деления
полиномов как математический аппарат
формирования сигнатуры, показываем,
что для
разрядного
делимого вычисляются n-m
разрядное частное и m-разрядный
остаток (сигнатура). При этом соответствие
реальной последовательности, состоящей
из n бит, эталонной
оценивается только по равенству их m
разрядных сигнатур. Для
различных частных будет формироваться
одинаковая сигнатура. Это свидетельствует
о том, что
-1
ошибочных n-разрядных
последовательностей будут считаться
соответствующими одной
эталонной. Учитывая равновероятность
ошибочных последовательностей данных,
можно заключить, что
-1
ошибочных последовательностей,
инициирующих эталонную сигнатуру,
необнаруживаемы. Таким образом,
вероятность Pn
необнаружения ошибок в анализируемой
последовательности данных будет
вычисляться как отношение:
, (2.6)
где
равняется общему числу ошибочных
последовательностей.
Выражение
(2.6) для условия
преобразуется к более простому виду
,
(2.7)
которое может служить основным аргументом для обоснования высокой эффективности сигнатурного анализа.
В
сигнатурных анализаторах, выпускаемых
различными фирмами, обычно
.
В
качестве более точной меры оценки
достоинств сигнатурного анализатора
рассмотрим распределение вероятности
необнаружения ошибки в зависимости от
её кратности
,
т.е. определим значения
,
где
.
Можно
показать, что количество
необнаруживаемых ошибок определяется
следующим образом:
;
;
,
а
количество возможных ошибок из
бит определяется как
.
И тогда выражение для вероятности необнаружения ошибки принимает вид:
,
,
(2.8)
,
.
(2.9)
Для
сигнатурного анализатора, построенного
на основе полинома
,
вероятности необнаружения ошибок
различных кратностей выглядит так:
(2.10)
где Vi=CLi. Для i=3, 4, 5, 6, 7 на основе (2.8) получим
Анализируя полученные значения Рni, а также выражение (3.1.8), можно заметить, что для достаточно больших величин m Рni≈1/2m. Таким образом, ошибки кратности i, i Є {3, 4, 5, ..., L—1}, возникающие в последовательности данных длиной L, обнаруживаются сигнатурным анализатором с одинаковой вероятностью, равной 1—1/2m, которая при m>8 практически равна единице 1. Важным следствием выражения (3.1.8) является то, что вероятность необнаружения ошибок не зависит от вида примитивного и неприводимого полинома φ(x), a определяется только величиной m=degφ(x).
Методы повышения достоверности сигнатурного анализатора.
Наиболее полной характеристикой, описывающей свойства сигнатурного анализатора, является распределение вероятностей необнаружения ошибок в зависимости от их кратности. Поэтому одним из методов повышения достоверности может быть метод, основанный на увеличении старшей степени порождающего полинома m. Как показывают проведенные расчеты при m>8, вероятность необнаружения ошибки не зависит от кратности ошибки и близка к нулю, и дальнейшее возрастание m не приводит к сколь-нибудь заметному повышению достоверности сигнатурного анализатора. С другой стороны, увеличение значения m приводит к нежелательному расширению разрядности сигнатуры.
Имеются другие методы повышения достоверности сигнатурного анализатора, направленные количественное изменение .Достаточно хорошие результаты можно получить при использовании m сигнатурных анализаторов, описываемых одним и тем же полиномом φ(х). При этом каждый анализатор обрабатывает только определенное множество символов анализируемой последовательности. За счет этого ошибка, возникшая в исходной последовательности, представляется в виде ошибок различной конфигурации для каждого из m анализаторов. Таким образом, реальная ошибочная последовательность имеет вид множества искусственно образованных последовательностей, каждая из которых может содержать некоторое отличное от других множество ошибочных бит. Причем. Если хотя бы для одной последовательности ошибочные биты представляют собой обнаруживаемую конфигурацию анализатором, описываемым полиномом φ(х), то возникшая ошибка будет обнаруживаемой на основании всех m сигнатур. Простейшим примером разбиения исходной последовательности является использование символов кодов, определяющих номера элементов анализируемой последовательности. Пример подобного разбиения (m=4) для последовательности длиной l=24 -1 приведен в таблице1.
Анализируемая
последовательность представляется в
виде четырех последовательностей,
состоящих из нулевых символов и символов
.
При этом для каждой из образованных
последовательностей используется
сигнатурный анализатор, описываемый
полиномом φ(х),
имеющим старшую степень, равную m=4.
Каждый сигнатурный анализатор обнаруживает
ошибки в зависимости от их кратности в
соответствии с выражениями (10) и (11).
Возникшая ошибка в исходной
последовательности, предположим,
состоящая из пяти неверных символов
y(4),
y(6),
y(11),
y(12)
и y(13),
отображается в виде искажения трех,
четырех, двух и двух символов соответственно
во вновь образованных четырех
последовательностей. Следовательно,
данная ошибка всегда будет обнаруживаемой,
так как она представляется в виде
двукратных ошибок для третьей и четвертой
последовательностей, которые также
обнаруживаемы. В общем случае любая
ошибка, возникшая в исходной
последовательности, отображается в
виде некоторого множества ошибок меньшей
кратности, мощность М1
которого
оценивается соотношением
где μ-кратность возникшей ошибки. Отсюда следует, что любая трехкратная ошибка будет обнаруживаемой, так как она представляется по меньшей мере двумя ошибками кратности 2 или 1.Аналогичным образом можно доказать возможность обнаружения всех ошибок кратности 4, 5 и т. д. Причем максимальная кратность μ обнаруживаемых ошибок в общем случае зависит от величины m.
Таблица 1.
№ элемента последовательности |
Анализируемая последовательность
|
Искусственно образованная последовательность |
|||
1 |
2 |
3 |
4 |
||
1 |
y1 |
0 |
|
0 |
y1 |
2 |
y2 |
0 |
|
y2 |
0 |
3 |
y3 |
0 |
0 |
y3 |
y3 |
4 |
y4 |
0 |
y4 |
0 |
0 |
5 |
y5 |
0 |
y5 |
0 |
y5 |
6 |
y6 |
0 |
y6 |
y6 |
0 |
7 |
y7 |
0 |
y7 |
y7 |
y7 |
8 |
y8 |
y8 |
0 |
0 |
0 |
9 |
y9 |
y9 |
0 |
0 |
y9 |
10 |
y10 |
y10 |
0 |
y10 |
0 |
11 |
y11 |
y11 |
0 |
y11 |
y11 |
12 |
y12 |
y12 |
y12 |
0 |
0 |
13 |
y13 |
y13 |
y13 |
0 |
y13 |
14 |
y14 |
y14 |
y14 |
y14 |
0 |
15 |
y15 |
y15 |
y15 |
y15 |
y15 |
Кратность ошибки |
μ =5 |
μ=2 |
μ =4 |
μ =2 |
μ =2 |
Многоканальные сигнатурные анализаторы.
Проблема анализа многовыходных цифровых схем и процесс их тестирования заключается в определении возникновения неисправности схемы по её выходным реакциям. Отличительной особенностью подобного анализа является необходимость исследования достаточно большого количества выходных реакций схемы (число их может достигать нескольких сотен). Поэтому использование традиционных методов компактного тестирования, применяемых для одновыходных цифровых схем, в данном случае не позволяет получить желаемого эффекта. Действительно, попытка провести анализ n - выходной цифровой схемы одноканальным СА приводит к увеличению в n раз времени, необходимого для анализа схемы, или оборудования, требуемого для реализации n сигнатурных анализаторов. При этом остаётся открытым вопрос о разрядности сигнатуры, которая также может увеличиться в n раз. Поэтому на практике чаще всего используют многоканальные сигнатурные анализаторы.
Методы построения многоканального сигнатурного анализатора.
Для построения МСА используются следующие методы:
1). Синтез МСА, основанный на двойном сжатии данных в пространстве и во времени.
2). Синтез МСА, основанный на использовании матрицы состояний.
3). Синтез МСА, основанный на системе логических уравнений.
1. Синтез многоканального сигнатурного анализатора, основанный на двойном сжатии данных в пространстве или во времени.
Этот метод основан на преобразовании n выходных последовательностей
,
,
длиной l в одну
последовательность
по
выражению:
;
(2.11)
Далее сформированная таким образом последовательность сжимается в m-разрядное ключевое слово.
Практическая реализация этого метода может быть выполнена как процедура сжатия в пространстве или времени. В этом случае реализуется идея получения компактных оценок, характерная для методов компактного тестирования.
Таким
образом, первоначальные n
последовательностей с тестируемой
схемы
преобразуются в последовательность
согласно (2.11). Далее сформированная
таким образом последовательность
сжимается в m – разрядную
сигнатуру.
Рис.2.5: Двойное сжатие данных в пространстве и во времени
Наиболее распространенная структура многоканального сигнатурного анализатора для исследования многовыходных цифровых схем, построенная по методу двойного сжатия выходных данных, выглядит следующим образом:
Рис.2.6: Четырехканальный сигнатурный анализатор.
Здесь
в качестве примера использован полином
.
Он используется для анализа выходных
реакций четырехвыходных цифровых схем.
При этом конечное значение кода
является результирующим значением
сигнатуры S(y),
представляющей собой компактную оценку
сжатия четырех последовательностей
.
Можно показать, что схема, приведённая на рисунке, эквивалентна относительно конечного результата схеме двухступенчатого сжатия информации. Оба подхода получения сигнатур отличаются неравномерностью закона распределения вероятностей необнаружения ошибки кратности m, а, следовательно, невысокой эффективностью. Кроме того, сигнатура многоканального сигнатурного анализатора, а также размерность сигнатуры S(y) однозначно определяется количеством выходов n исследуемой схемы. Поэтому с увеличением n сложность устройства сжатия и количество бит, используемых для представления сигнатуры S(y), принимает практически недопустимые размеры. Попытка использовать идею каскадирования многоканальных сигнатурных анализаторов позволяет уменьшить размерность результирующей сигнатуры, однако в этом случае оказывается сложным оценить достоверность такого анализатора, которая будет зависеть от организации взаимосвязи МСА и их конкретной реализации. Также сложно оценить достоверность МСА.
2. Синтез многоканального сигнатурного анализатора, основанный на использовании матрицы состояния.
Работа такого многоканального сигнатурного анализатора будет описываться формулой:
(2.13)
где A(k+s) и A(k) – m-мерные векторы состояний сигнатурного анализатора,
.
Соответственно, (k+s)- состояние сигнатурного анализатора будет описываться выражением (2.13). Отсюда следует, что функциональные связи между регистрами сдвига МСА будут описываться матрицей вида:
где
S -
число входов многоканального сигнатурного
анализатора, а
коэффициенты порождающего полинома
φ(x).
Сигнатурный анализатор, построенный по данной методике, выглядит следующим образом:
Рис.2.7: Восьмиканальный сигнатурный анализатор.
Недостатком
этого метода является то, что количество
входов n сигнатурного
анализатора зависит от старшей степени
порождающего полинома φ(x).
Этот метод может быть использован лишь
при условии:
[1].
3. Синтез многоканального сигнатурного анализатора, основанный на системе логических уравнений.
Наиболее предпочтительным методом синтеза МСА является метод, позволяющий синтезировать МСА с произвольным числом входов и не зависящим от него множеством элементов памяти, определяемым только старшей степенью порождающего полинома φ(x). Также старшая степень полинома определяет разрядность сигнатур и достоверность тестирования.
Для произвольного φ(x) функционирование одноканального сигнатурного анализатора описывается системой уравнений:
,
;
(2.14)
;
(2.15)
,
,
; (2.16)
где - k-й символ сжимаемой последовательности {y(k)}, , где l-длина сжимаемой последовательности, - коэффициенты порождающего полинома φ(x), - содержимое i-го элемента памяти регистра сдвига в k-1-й такт.
Из выражения (2.2) следует, что содержимое первого элемента памяти анализатора в (k+2)-й такт работы равно:
;
а в (k+3)-й такт:
В общем случае для некоторого (k + l)-го такта можно записать:
;
(2.17)
где
, коэффициенты,
позволяющие формировать сдвинутую на
l
тактов копию М-последовательности,
описываемой полиномом φ(x).
Значения δi(l)
определяются из системы уравнений:
;
(2.18)
;
;
Коэффициенты
определяются
как:
(2.19)
Предположим, что одноканальный анализатор используется для контроля цифрового узла, имеющего l выходов, причем l его выходных последовательностей преобразуются в одну вида:
,
(2.20)
где
— значение двоичного символа на υ-м
выходе ЦУ в k-й такт
работы ЦС. Таким образом, в каждый такт
работы анализатора на его вход
последовательно, начиная с первого
выхода ЦУ, поступают значения yυ(k).
При этом в соответствии
с (2.1) и (2.2) функционирование одноканального
анализатора в
l-канальном режиме
описывается системой:
(2.21))
Основываясь на (2.8), оказывается возможным построение многоканального анализатора, выполняющего за один такт те же преобразования с последовательностью (2.7), что и одноканальный за l тактов.
Алгоритм построения многоканального сигнатурного анализатора состоит из следующих этапов.
1. Для заданной вероятности Рd обнаружения ошибки определяется количество m элементов памяти сигнатурного анализатора с учетом неравенства
(2.22)
2.
Выбирается порождающий полипом φ(х)
и находятся численные значения
коэффициентов
,
причем deg
φ(x)
= m.
3. Задается количество l входов анализатора.
4. С использованием (2.5.5) вычисляются постоянные коэффициенты δi(l+1-j), i=(1, 2, 3, … ,m), j=(1, 2, … c) где с = min(l, m).
5. Определяются коэффициенты βi, (l+1-j) Є {0, 1}, i=(1, 2, … l), j=(1, 2, … с), из системы
(2.23)
получаемой на основе (2.6).
6. Строится функциональная схема многоканального сигнатурного анализатора с помощью системы логических уравнений
