- •Министерство общего и профессионального образования российской федерации
- •Учебное пособие Воронеж 2000
- •Учебное издание
- •394026 Воронеж, Московский поспект, 14
- •1. Тестовое диагностирование в цифровой технике:
- •1.1. Введение
- •1.2. Тестовое диагностирование в цифровой технике: цепи и терминология
- •1.3. Процедуры и проблемы программного тестирования
- •1.4. Необходимость проектирования тестопригодных схем
- •2. Анализ тестопригодности: система camelot
- •2.1. Количественная оценка тестопригодности
- •2.2 Принципы вычисления управляемости
- •2.3 Принципы вычисления наблюдаемости
- •2.4 Принципы вычисления тестопригодности
- •2.4.1. Тестопригодность как функция управляемости и наблюдаемости
- •2.5. Применение системы camelot на практике.
- •2.5.1. Количественная оценка проектируемых схем.
- •2.5.2. Автоматический выбор контрольных точек.
- •2.5.3 Методика генерации тестов вручную.
- •2.5.4. Методика автоматической генерации тестов
- •2.6. О других системах анализа тестопригодности
- •2.7. Заключительные замечания о методах анализа
- •3. Методы структурного проектирования
- •3.1. Принцип метода сканирования: сканируемый путь
- •3.2. Сканирование с произвольным доступом
- •3.3. Метод сканирования, чувствительного к уровню тактового сигнала
- •3.4. Недостатки и достоинства методов сканирования
- •3.5. Методы самотестирования: bilbo
- •3.5.3. Устройство встроенного поблочного диагностирования логических схем (bilbo)
- •3.6. Заключительные замечания о методах сканирования
- •4. Генерация тестов для схем, реализующих принцип сканирования
- •4.1. Алгоритм podem, условные обозначения, понятия и принципы
- •4.1.5. Вычисление относительных значении управляемости
- •4.2. Процедура podem
- •4.2.1. Пример 1. Основной принцип podem
- •4.2.2. Пример 2. Многомерный d-проход
- •4.2.3. Пример 3. Переопределение состояний первичных входов
- •4.2.4. Заключение относительного алгоритма podem
- •4.3. Процедура raps
- •4.3.1 Пример 4. Процедура raps
- •4.3.2. Заключение о процедуре raps
- •4.4. Методика выполнения процедур raps и podem
- •4.4.1 Использование статического сжатия тестов
- •4.4.2. Использование динамического сжатия тестов
- •4.5. Замечание относительно процедуры моделирования неисправностей
- •4.6. Заключительные замечания о процедурах podem и raps
- •5. Практические рекомендации по проектированию тестопригодных схем
- •5.1. Средства поддержки процедуры генерации тестов
- •5.2. Средства поддержки процедур тестирования и поиска неисправностей
- •Содержание
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). Рассмотрим теперь это устройство.