Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 400161.doc
Скачиваний:
12
Добавлен:
30.04.2022
Размер:
1.66 Mб
Скачать

3.5. Методы самотестирования: bilbo

Использование встроенных средств, реализующих процедуру тестирования, —это хорошо зарекомендовавший себя метод, вну­шающий уверенность в правильности функционирования логической схемы. Вероятно, наиболее известным подходом является ис­пользование в процессе функционирования устройства различных кодов, обнаруживающих и исправляющих ошибки, и даже само­проверяющих кодов, например кодов с контролем на четность, Хэмминга, Бергера, m из n кодов и т. д. Свойства этих кодов хо­рошо известны и описаны во многих учебниках. Цель этого раз­дела состоит в обсуждении метода самотестирования, называемо­го сигнатурным анализом (СА), который основан на использова­нии генератора тестовых наборов, встроенного в кристалл или размещенного на печатной плате. Идея не нова, однако в послед­нее время интерес к ней оживился. В первую очередь, этот под­ход рассматривается как путь расширения возможностей эксплу­атационно-технической службы для поиска неисправностей на пе­чатных платах и, следовательно, эффективного пути восстановле­ния работоспособности неисправной платы без помощи центра­лизованных ремонтных служб.

Причина обсуждения сигнатурного анализа состоит в том, что недавно были выполнены интересные исследования возможности сочетания элементов сигнатурного анализа с проектированием на основе методологии сканирования. Этот подход называется мето­дом встроенного поблочного диагностирования логических схем (BILBO—Built-In Logic Block Observation), который также описан в этой главе.

3.5.1. ИСПОЛЬЗОВАНИЕ СИГНАТУРЫ

Стандартный метод поиска источника неисправностей в циф­ровой схеме состоит в использовании ручного управляемого проб­ника для наблюдения за состоянием двоичной информации (ис­правной или неисправной схемы), которая формируется отдель­ным узлом схемы, когда на ее входы подается множество тесто­вых воздействий.

Рис. 3. 14. Сдвиговый регистр с линейной обратной связью цепи обратной связи аналогичны используемым фирмой Hewlett Packard

Общепринято использовать различные способы сжатия данных для представления в компактной форме ожидаемой последова­тельности логических 0 и 1 в каждом узле исправной схемы. На­ибольшее распространение получил метод сжатия двоичных пос­ледовательностей, основанный на циклическом способе формиро­вания сигнатур с помощью сдвигового регистра с линейной об­ратной связью (LFSR—Linear FeedBack Shift Register). Обыч­но используется 16-разрядный сдвиговый регистр, как показано на рис. 3.14.

Рис 3.15 D-триггер типа «ведущий—ведомый» с сигнатурами ис­правной схемы

Таблица 3.1 Текстовые наборы для схемы на рис. 3.15

Состояние ПВх

Состояние узлов

Тактовый сигнал

Состояние триггеров

Примечания

* 0000

1000

*

*

1010

*

*

1110

*

*

1101

*

*

1100

*

*

1001

*

*

0001

*

*

110

110

011

110

101

110

110

110

0

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

11

01 

00 

10 

11 

01 

00 

10 

11 

01 

00 

00 

00 

11 

11 

11 

Начальная установка

Пассивное состояние

Тесты для:

G1 – G4

н-к-1, н-к-0;

PR н-к-0;

CLK н-к-0.

На входе PR

н-к-0

Примечания:

I) состояния ПВx не меняются в интервале времени одной последовательности активного и пассивного уровней тактового сигнала, т. е. пустые строки озна­чают повторение предыдущих состояний,

2) последовательности тактовых импульсов по­даются с некоторой задержкой, определяемой временем установления устойчивых состоя­ний на внутренних узлах в результате изменений сигналов на ПВх,

3) стробирование (для получения сигнатуры) осуществляется на каждое изменение тактового сигнала CLK с задержкой на время установления состояний на выходе Dl (высокий уровень тактового сигнала) и выходе D2 (низкий уровень тактового сигнала). Моменты стробирования в первом столбце отмечены знаком *.

Двоичная последовательность считывается с логической схе­мы за определенное стробируемое время тестирования и синхрон­но с общим тактовым сигналом вводится в сдвиговый регистр, начальное состояние которого равно 0. Информация, содержа­щаяся в сдвиговом регистре, зависит от значения бита информа­ции входной последовательности, структуры цепей обратной свя­зи и текущего состояния регистра. В этом случае любая ошибка в считываемой последовательности, вызванная неисправностью схемы и ее проявлением на проверяемом узле, изменяет опреде­ленным образом содержимое сдвигового регистра. В конце пери­ода выборки последовательности информация, сформировавшаяся в сдвиговом регистре, т. е. сигнатура узла схемы, индицируется (обычно в шестнадцатеричном формате) и сравнивается с эта­лонной сигнатурой исправной схемы. Совпадение сигнатур пока­зывает, что проверяемый узел исправен, несовпадение свидетель­ствует о том, что информация в проверяемом узле содержит не­которую ошибку. Вероятность совпадения сигнатуры двоичной последовательности, содержащей ошибку, с эталонной сигнату­рой исправной схемы чрезвычайно мала и приближается к 1/2n, когда длина сжимаемой последовательности превышает длину n сдвигового регистра. На практике это ограничение не представ­ляется существенным, и во многих тестерах в настоящее время используются управляемые пробники для поиска неисправностей. Принцип действия пробников основан на знании эталонных сиг­натур исправной схемы во всех доступных узлах. Этот метод тес­тирования иллюстрируется на примере схемы D-триггера типа «ведущий—ведомый», рассмотренной ранее на рис. 3.3 (рис.3.15, табл. 3.1).

На рис. 3.15 показана схема, каждый узел которой отмечен сигнатурой, состоящей из четырех шестнадцатеричных цифр. Эти сигнатуры получены для последовательности тестовых наборов, (в табл. 3.1), которая обеспечивает 100%-ное покрытие всех оди­ночных неисправностей типа н-к-1, н-к-0. Используется нестан­дартное обозначение множества шестнадцатеричных цифр—0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, C, F, H, P, U, которые легко можно ото­бразить на семисегментных индикаторах. (Это обозначение пред­ложено фирмой Hewlett — Packard — отсюда следует использо­вание букв Н и P). Для узла G4.8, реакция которого на тестовую последовательность представлена на рис. 3.16, демонстрируется пример преобразования этой двоичной последовательности в 4-значную шестнадцатеричную сигнатуру, формируемую сдвиговым регистром с характеристическими обратными связями, показанными на рис. 3.14. Процесс формирования сигнатуры представлен в табл. 3.2.

Рис. 3.16. Пример ожидаемой двоичной последовательности на выходе G 4.8

Рассмотрим теперь, что произойдет, если предположить, на­пример, что линия соединения элементов G3 и G4 имеет обрыв. Учитывая свойства ТТЛ-логики, можно утверждать, что на G3.6 появится правильная последовательность, а на G4.9 — последовательность из всех единиц. При подаче в схему всех тестовых на­боров эта последовательность из всех единиц вызовет появление искаженных последовательностей, содержащих ошибки, в после­дующих узлах вдоль всего активизированного пути от неисправ­ного узла к первичным выходам (в данном случае — это узлы G4.8, D1.5 я D2.9). На рис. 3.17 показаны сигнатуры, соответст­вующие поведению схемы при наличии в ней неисправности.

Рис. 3.17 D-триггер типа «ведущий—ведомый» с сигнатурами неис­правной схемы

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

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

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

Условие 2. Обнаружено соединение с правильной сигнатурой на одном конце (источник сигнала) и неправильной сигнатурой на другом конце соединения или на одном из других концов при наличии ветвления.

Таблица 3.2 Формирование сигнатуры узла С4.8

Начальные состояния

Состояния сдвигового регистра

В1 В2 ВЗ В4

В5 В6 В7 В8

В9 В10 В11 В12

В13 В14 В15 В16

00000

00000

00000

10001

10001

00000

00000

10001

10001

00000

00011

00011

00111

00111

00011

01100

Сигнатура узла

0000

0000

0000

0000

1000

1100

0110

0011

1001

1100

0110

1011

1101

1110

1111

1111

0111

7

0000

0000

0000

0000

0000

0000

0000

0000

1000

1100

0110

0011

1001

1100

0110

1011

1101

Н

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

1000

1100

0110

0011

1001

9

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

1000

8

Согласно условию 1 диагноз указывает на сам элемент как на вероятный 'источник неисправности. Однако существует вероят­ность того, что неисправным является соединение, идущее от выхода элемента. Согласно условию 2 диагноз определяет неисправ­ность соединения; обычно это обрыв цепи.

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

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

Пока еще подтверждается, что общее решение так называемой проблемы «разрыва петли» получить трудно. Существуют некото­рые частные решения, однако они не гарантируют получение пра­вильного диагноза для каждой схемы. На практике разработчи­ки тестовых программ используют различные приемы для обес­печения либо лучшего управления, либо наблюдения процессов внутри замкнутой петли, что будет описано в гл. 5. Однако, как было уже отмечено, оптимальное для обеспечения тестопригодности решение заключается в том, чтобы на уровне кристалла или платы предусмотреть возможность разрыва цепей обратной свя­зи. Это одна из главных особенностей схем с самотестированием на основе использования сигнатур.

3.5.2. СИГНАТУРНЫЙ АНАЛИЗ

Термин «сигнатурный анализ» используется для описания ме­тода тестового диагностирования, основанного на анализе сигна­тур схемы с помощью управляемого пробника для поиска неис­правностей, которые проявились в функционирующем устройстве. Первоначально этот метод был разработан для того, чтобы об­легчить обслуживающему персоналу выполнение ремонтных ра­бот. Единственное отличие сигнатурного анализа от подхода, рас­смотренного в подразд. 3.5.1, заключается в том, что тестовые воз­действия формируются в самом проверяемом устройстве или на плате, а не тестером, и для сбора двоичных данных в определенные стробируемые моменты времени и индикации сигнатур ис­пользуется дополнительное портативное оборудование.

Основные особенности схемы, которая спроектирована сог­ласно требованиям сигнатурного анализа, отражены на рис. 3.18.

Для этой схемы характерны еще две особенности. Первая состо­ит в том, что источник тестовых воздействий является блоком, встроенным в устройство. Этот блок может быть некоторым ва­риантом счетчика, генерирующего псевдослучайные тестовые на­боры, или ПЗУ, содержащим детерминированные тесты. Вторая особенность структуры — возможность разрыва всех цепей вну­тренней глобальной обратной связи (наличие переключателей, навесных перемычек, буферных элементов с третьим состояни­ем). Эта возможность устраняет проблему обрыва петли.

Рис. 3. 18. Схема, спроектированная под сигнатурный анализ

Методика поиска места неисправности становится теперь до­статочно простой. Обслуживающий инженер переводит подозре­ваемое устройство в режим тестирования. В этом режиме на устройство подаются тестовые наборы и разрываются цепи гло­бальной обратной связи. Как реакция на приложение этих тесто­вых наборов в каждом узле схемы появляются соответствующие последовательности из 0 и 1. В соответствии со специфицирован­ной принципиальной схемой или структурной схемой ее неисправ­ностей инженер проверяет исправность узлов с помощью проб­ника, продвигаясь от выхода схемы до тех пор, пока не будет по­ставлен четкий диагноз (условие 1 или 2, как было описано в подразд. 3.5.1). Таким способом инженер может локализовать неисправность, отремонтировать устройство на месте и вернуть его в рабочее состояние.

Заслуживает внимания применение сигнатурного анализа для устройств с шинной архитектурой, таких, как микропроцессорные и запоминающие устройства, ввиду простоты реализации про­цедуры тестирования.

Тесты могут быть предварительно загру­жены в ЗУПВ системы или записаны в некоторой части ее ПЗУ в качестве резидентных данных. В качестве другого варианта ПЗУ системы может быть заменено тестовым ПЗУ. Если тесты являются резидентной частью устройства, то вместе с встроен­ной светодиодной индикацией (зеленый или красный индикатор) оно действительно может стать самотестируемым. Реализация этой идеи на уровне проектирования печатных плат рассматри­вается в последнем подразделе этой главы.

Возвращаясь к принципам сигнатурного анализа, рассмотрим требования, предъявляемые к генератору тестов. На практике не всегда тестовые воздействия устанавливают активизированный путь к выходам схемы. В упрощенном варианте — это множест­во входных наборов, приложение которых к первичным входам вызывает изменение логических значений на каждом узле схе­мы по меньшей мере один раз. Это свойство называют необходи­мым условием тестирования. Входные наборы, обладающие этим свойством, позволяют найти место неисправности типа н-к-1, н-к-0 с помощью пробника, устанавливаемого вручную на каж­дом узле схемы, и принятия решения на основе анализа причин­но-следственных отношений между узлами схемы. Из этих за­мечаний можно сделать вывод, что применение генератора псев­дослучайных тестовых воздействий предпочтительнее детермини­рованных. Множество детерминированных тестов получают ана­литическим путем и проверяют, чтобы возбуждался определен­ным образом каждый узел схемы. Множество псевдослучайных тестов — это просто повторяющаяся последовательность случай­ных изменений входных сигналов, которые могут распространять­ся до некоторого внутреннего узла, вызывая его возбуждение, что в общем случае не гарантируется. Тесты в табл. 3.1 детер­минированные. Они получены из условий проявления констант­ных неисправностей на всех узлах схемы и транспортировки этих неисправностей через схему к наблюдаемому первичному выходу. Альтернативным вариантом генерации тестов является использование 4-разрядного суммирующего счетчика, выходы ко­торого могут запитывать четыре входа управления и данных — PR, SEL, D и SDI.

Рис. 3.19. Генератор псевдослучайных последовательностей на основе использования сдвиговых регистров с цепями обратной связи

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

Единственная область, где успешно применяются методы псев­дослучайного тестирования, — это чисто комбинационные схемы. Для комбинационных схем большой размерности, где невозмож­но осуществлять исчерпывающее тестирование, приемлемая ме­тодика генерации тестов заключается в первоначальном исполь­зовании небольшого числа псевдослучайных тестов и оценки уров­ня покрытия неисправности этими тестами и последующим при­менением детерминированных методов генерации, таких, как D-алгоритм. На этой методике основана реализация процедур PODEM/RAPS, описанная в гл. 4 и рассмотренная частично здесь. Предварительное упоминание об этом подходе объясня­ется тем, что псевдослучайные последовательности, подаваемые в комбинационные схемы, обладают полезными свойствами: спо­собны обнаруживать неисправности и представлять собой реаль­ные тестовые воздействия. Из этого следует, что псевдослучайные последовательности могут служить полезными сигналами, стиму­лирующими возбуждение узлов схемы. Это означает, что генера­торы псевдослучайных последовательностей могут быть исполь­зованы в качестве встроенных источников тестовых воздействий для схем, разработанных под стандарты сигнатурного анализа. Теперь возникает вопрос о том, как можно генерировать псевдо­случайные последовательности. Существует множество решений, и одно из них — использование сдвигового регистра с линейной обратной связью, которое было рассмотрено ранее при описании способа формирования сигнатур (см. рис. 3.14). На рис. 3.19 представлена более простая схема такого сдвигового регистра и показана псевдослучайная последовательность, генерируемая так­тируемым сдвиговым регистром.

Применительно к сигнатурному анализу генератор, подобный представленному на рис. 3.19, можно использовать как источник тестовых воздействий для схемы на рис. 3.18. При условии на­блюдаемости выходов элементов памяти (Y на рис. 3.18) и воз­можности разрыва цепей обратной связи схема в режиме тести­рования разделяется на комбинационную часть и тактируемые элементы памяти. При выполнении этих условий генератор псев­дослучайных последовательностей может служить эффективным источником тестовых воздействий.

Рис. 3.20. Самотестируемая схема, вариант 1

Рис. 3.21. Самотестируемая схема, вариант 2

Рис. 3.22. Самотестируемая схема, вариант 3

Рассмотрим теперь возможность реализации непосредственно в устройстве процедуры сбора и анализа данных для того, чтобы в нем обеспечивалось свойство полного самотестирования с по­мощью встроенных средств. Это можно осуществить введением в устройство формирователей сигнатур на сдвиговых регистрах с линейной обратной связью. При этом следует решить, где раз­мещать эти регистры и сколько их необходимо иметь. Одно из ре­шений состоит в использовании таких регистров для каждой вто­ричной переменной и соответствующей ей обратной связи (рис. 3.20); другие — в реализации для элементов памяти схемы до­полнительной возможности сканирования данных и в использо­вании только одного сдвигового регистра с обратной связью (рис. 3.21); еще одно решение связано с использованием много­канального сигнатурного анализатора с параллельным вводом с различных контрольных точек данных, какими могут быть, на­пример, вторичные переменные (рис. 3.22).

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

Элемент, который удовлетворяет этим требованиям, — это устройст­во встроенного поблочного диагностирования логических схем (BILBO — Built-in Logic Block Observation). Рассмотрим теперь это устройство.