УДК 681.32-181.48.06
Родэин С.И.
Функциональное проектирование самотестируемых СБИС
Введение
Затраты на синтез теста интегральных схем приближенно оцениваются соотношением ^=к*У*, где 1.5<а<2.5, V - число вентилей схемы, к - коэффициент, зависящий от структуры проектируемой схемы. В сравнении с началом 70-х годов число вентилей выросло почти на четыре порядка, что означает рост затрат на синтез теста, примерно, на восемь порядков! Необъяснимым остается вопрос, как вообще тестируется СБИС в ходе эксплуатации? Между Тем решение проблемы вытекает непосредственно из приведенного выше соотношения. Поскольку в будущем вряд ли следует ожидать уменьшения степени интеграции СБИС, то сокращение затрат на тестирование можно достигнуть лишь через структуру проектируемой схемы. Это обстоятельство является фундаментом для развития работ в области проектирования самотестируемых СБИС. Причем термин самотестирование здесь Употребляется применительно к СБИС, на кристалле которых размещаются средства Генерации теста, сигнатурного анализа результатов и управления тестом [1].
1. Постановка задачи
В данной работе предлагается метод функционального проектирования самотестируемых СБИС. Идея метода состоит в том, что для синтеза теста используется внутренняя логика проектируемой схемы, которая управляет генератором теста (ГТ), работая в Цепи обратной связи ГТ, что позволяет значительно сократить аппаратные затраты на Проектирование ГТ. Эти затраты определяются прежде всего числом используемых в ГТ Триггеров. И хотя, как известно, минимальное число состояний не обязательно приводит к Уменьшению затрат при реализации схемы, однако предлагаемый метод проектирования ГТ Направлен на минимизацию числа состояний и реализацию ГТ с возможно меньшим числом триггеров. Кроме того для синтеза теста при необходимости может привлекаться сигнатурный Регистр(СР),что позволяет дополнительно сократить число элементов памяти. В этом случае При проектировании может оказаться, что ГТ либо вообще не содержит триггеров, либо с°Держит небольшое их число, а это упрощает кодирование состояний. Отметим также, что Подобного рода подход к самотестированию позволяет через СР наблюдать состояние Цементов памяти проектируемой схемы, при этом не требуется разрывать их обратные связи, Чт°, в свою очередь, приводит к сокращению общей длины теста[2].
Таким образом, цель метода состоит в том, чтобы проектируемая схема тестировалась в Своем рабочем состоянии, то есть чтобы функции схемы во время теста не изменялись. Поэтому сокращение числа состояний относится только к ГТ.
Для достижения поставленной цели предлагается решить во взаимосвязи две следующие Задачи:
1. Синтез тестовой последовательности входных векторов для обнаружения заданного класса неисправностей проектируемой схемы, имея в виду подходящую реализацию ГТ и, используя для синтеза теста внутреннюю логику проектируемой схемы;
2. Проектирование ГТ на кристалле.
В качестве заданного класса неисправностей наряду с одиночными константными ^Исправностями на внешних и внутренних контактах схемы рассматривается также ^Исправности характерные для КМОП-схем, которые могут приводит к секвенциальным °ТНощениям в проектируемой схеме[3].
Для определения тестовой последовательности проводится трансформация *1°следовательной схемы в виртуальную комбинационную схему. С этой целью триггеры
заменяются проводящими элементами, имеющими нулевую задержку и служащими для
запоминания информации; обратные связи мысленно обрываются В качестве метода
получения тестовых наборов для виртуальной комбинационной схемы можно, например,
применить О-алгоритм либо его модификации. При этом разрешается образовывать не
полностью определенные тестовые векторы следующего вида: Т={ (х г)1 (х г)7 (х г) } е х
- входные наборы, г - состояния схемы. Ясно, что для различных начальных состояний мТт
быть получены различные тестовые последовательности. Возникает вопрос какая из
последовательностей является наиболее подходящей для аппаратной реализации ГР Ответ на
этот вопрос потребовал проведения дальнейших исследований по установлению взаимосвязи
между реализацией ГТ и синтезированным тестом. В частности vлЯт,nл^
ности> УДалось доказать, что число внутренних состояний ГТ зависит от числа переходов состояний „
_ ИИ а (а - это максимальное число
всех переходов состояний во время прохода теста из заданного состояния включая и
повторяющиеся переходы), причем минимальное число триггеров ди реализации ГГ равно
[1о82<1]. Требования минимизации длины теста и минимизации числа триггеоов ГГ не могут
выполняться одновременно. Необходим компромисс. Современные СБИС оаботают с
высокой тактовой частотой, что делает параметр длины тегтя
г у МНП11Ы геста некритичным и позволяет существенно снижать аппаратные затраты при проектировании гт
н нии 1 т для самотестируемых
2. Алгоритм проектирования генератора теста
Проведенное исследование зависимости между реализацией ГТ и синтезируемой тестовой последовательностью позволяет сАоРМУЛИпппят^ ^
проектирования ГТ: Ф Р У ровать следующую процедуру
. синтез тестовой последовательности которая обеспечивает проверку веек неисправностей заданного класса и для которой величина А яппа проверку все*.
существует несколько таких последовательностей то ВЫбып'к»- СТСЯ МИНИМаЛЬН°Й (если них); ’ “ьюирается наиболее короткая из
• проектирование ГТ с минимальным числом тоиг™-,г.п СБИС образует вместе с ГТ самотестируемую схему. таким образом, что
Рассмотрим подробнее алгоритм синтеза теста с помощью ГТ Пусть заданно
множество не ПОЛНОСТЬЮ определенных тестовых векторов Т В имп ' ладанни
Предлагается следующий алгоритм синтеза оптимальной по отнотои.ПЗР ВХОДОВ И С0СТ0ЯНИЙ последовательности для самотестируемой схемы, состоящей И1 ГТ К величине ^ тестов°й
1 и проектируемой схемы.
Алгоритм
1. Начало.
2. Выбираем начальное состояние в искомой тестовой , и
2р}={(х„г|), (х2,г2)...}, где функция перехода состоянийП°“еДОВательнос™ <х ’ автоматным отношение г,+1=Рг(хУ), е - момент времени пределяется обычным
н ни. Образуем множество Ь ={2)}.
4. Поиск в множестве 'Г не полностью определенных наЫ*
все вектора г уже принадлежащие множеству V Пеоехо’п I п к!“’К0Т0Рые покрывают переход к п. 4. ' Р Д К п-1 В противном случае ,
5. Образуем с помощью функции перехода состояний множество 1_'*' «шегшашее „се те состояния , которые достигаются из состояний к Ц- Полагаем Ы+', Л!””... *
6. Образуем ИЗ !_' множество 1-1+1, содержащее все СОСТОЯНип
(Х.У),. Состояния, включенные в 1\.,и, оГ„Г^УХ0“е'П'3"а,’а""
(г.Л’..........гнА'*’, удовлетворяющей отношена 2' “р ,,"л г"‘'В0СТ^
могут прибавляться к искомой последовательности ■£ И П0ЭТ0МУ °
7. Подсчитываем частоту вхождения каждого из состояний в последовательность и в прибавляемую часть последовательности ,3+1)4, а также определяем для каждого состояния величину с1.
8. Прибавляем к последовательности 2Р те части последовательностей, установленных в п.п.2-5 алгоритма, которые имеют минимальное значение с!. Удаляем из 2Р состояния, которые покрываются нарами из исходного множества Т. Если существует несколько последовательностей с одинаковой минимальной величиной (1, то выбираем любую из них.
9. Образуем новое множество I.1, в которое входит последнее из включенных В Ъ состояний. Если в множестве Т остались непомеченные пары, то переход к п.2, в противном случае, переход к п.9.
10. Конец.
Результирующая последовательность {хР,гР} является тестом для проектируемой
схемы.
Необходимо также отметить, что вместо случайного выбора последовательностей с минимальным с1 в п.7 алгоритма можно, например, набирать из Т вектора с меньшим числом неопределенных состояний.
Исследуем оценку сложности приведенного алгоритма в зависимости от числа Я пар, содержащихся в множестве Т. Так при поиске пар (х,г) в п.З алгоритма требуется выполнить я операций сравнения. Если покрытие не получается, то идет перепроверка состояний из множества С.г
л
Если обозначить мощность множества входных векторов X через М, то I. содержит максимум М элементов, 1_Э-М2 и т.д. В общем случае, считаем, что множество Ь' содержит Максимум Ми элементов. Чтобы прибавить вектор г пары (х,г)(еТ, требуется выполнить максимум я+М1"1 операций сравнения, исходя из некоторого начального состояния. Прибавление в дальнейшем потребует не более, чем (я-1)*Ми операций сравнения. Для определения последовательности, содержащей все я векторов из Т, необходимо Ч-раз выполнить цикл п.п.2-7 алгоритма. Следовательно, общая оценка сложности алгоритма имеет порядок 0(я2). Множество Т при этом является исходным для работы алгоритма. Сомножитель Ми зависит от функций, реализуемых проектируемой схемой, и от исходного множества пар тестовых векторов Т. Общая оценка Ми в этой связи затруднительна.
Выше отмечалось, что аппаратные затраты на реализацию ГТ можно сокращать и Дальше, если использовать для синтеза теста не только внутреннюю логику проектируемой схемы, но и СР. Чтобы решить эту задачу вполне достаточно установленной ранее взаимосвязи между реализацией ГТ и синтезируемым тестом. Там триггер был необходим всегда, если тестовый вектор на входах проектируемой схемы не определялся однозначно Различными состояниями. В связи с тем, что нет принципиальной разницы в том находится ли этот триггер в ГТ или же в СР, можно сократить число триггеров в ГТ путем использования СР Для синтеза теста. При этом однако возникает вопрос: не приводит ли использование СР для синтеза теста к ограничению его способности выполнять свою основную функцию сигнатурную оценку результатов тестирования? Чтобы ответить на это вопрос, приведем следующие рассуждения. До тех пор, пока неисправность не приводит к искажению последовательности состояний в СР и проектируемой схеме, самотестируемая СБИС выполняет синтезированную входную последовательность хР Если некоторая неисправность приводит к искажению хР, то это с большой вероятностью ведет к искажению состояния СР и входной последовательности проектируемой схемы (напомним, что на входы проектируемой с*емы подаются выходные сигналы ГТ). Между тем, известно, что вероятность маскирования Неисправностей в СР при удачном выборе функций обратной связи СР является величиной ^зависимой от числа этих искажений. В этой связи весьма проблематично ожидать каких-то 0граничений в способности СР проводить оценку результатов тестирования.
З.Практическая реализация метода самотестирования
Ни*е приводятся ди прикладных примера реализации предлагаемой концепции самотестирования. «ипщиции
Так реализация ГТ для профаммируемого тактового генератора на гои вхола тактирующего микропроцессорные устройства была спроектирована в вит>« логической матриць, (ПЛМ). Длина теста для
неисправностей оказалась равной 27 наборам. Схема ГТ (без использования для синтеза^еста СР) содержит два триггера и 17 вентилей. Если сравнить затраты на реализацию такого генератора и ГТ в пересчете на число вентилей и учесть еще затраты на хранение теста в памяти, то получается не совсем удовлетворительное соотношение. Однако затпятт.г ня ГТ сокращаются при использовании для генерации теста СР. В этом случае ГТ чисто комбинационной схемы на 7 вентилей и отношение затоат на гт РеализУется в виде
равно примерно 13%. Преимуществ ПЛМ-реализации ГТ состоит ■ т<шДтоЗб|мш?ниые
схемы в этом случае проектируются особенно просто, хотя пои vrnJ имиинационные
большая по сравнению с обычным проектированием площадь кристалла несколько
Другим примером является реализация ГТ для 32-разрядного секционного
й имеет 13 управляющих входов, 32 входа данных, 32 выхода и 28 то
последовательность была определена упрощенным способом путем п
построения тестов для отдельных секций и последующей их склей™ °парно'паРаллельного
равной 39. Соответствующая ПЛМ-реализация ГТ содержит опии теста оказалась
-- ~ — «держит один триггер, а общее число
который имеет 13 управляющих входов, 32 входа данных, 32 выхода и °Г° пр0‘№СС0ра>
__________________ г-____________________ ’ “ылода и /8 триггеров. Тестовая
парно-параллельного
тина теста оказалась
термо» ра.но 55. Для упрашгени. ГГ используются да, триггера'\ ™и““'"и! разрядного СР, так как большинство секций тестируются попаоно-пяп фиггеров jz
содержат одинаковую информацию. Затраты на ГТ составили около ]0%ЛСЛЬНО ** Триггеры СР Выше отмечалось, что при реализации СБИС по КМОП ° неисправностями константного типа имеют место характерные т®хнологии, наРяДУ с неисправности, приводящие в некоторых случаях к секвенциальны * Схем ®1'°Реп
этом случае вместо одного тестового вектора для каждой j й* <?.Тноше,,иям к схеме- В необходимо синтезировать целый блок тестовых пар (x,z), причем п '°Реп неиспРавности для инициализации, а остальные - для очувствления неисправности^^* ПЗра °6ыЧН0 СЛУЖИТ синтеза тестовой последовательности для ГТ, то он является расши Т° Касается ^ори™3 алгоритма. В частности, отличие состоит в том, что в п.п.4 и ^СНИем Ранее приведенного содержит все те состояния, которые достигаются из состояния zeL1 аЛГОритма множество L несколько переходов, а в п.8 необходимо также учесть это обсто ^ Т0ЛЬК0 33 один> но и за нового множества L1. Общая оценка сложности алгоритма станови ЯТельство пРи3°бразовании и длина теста. Так, например, длина теста для упомянутого ™Яравной ^ ), возрастает становится равной 66 наборам, а ГТ для него содержит 17 вентил^ 3?КТ0В0Г0 генеРат0Ра наблюдается и для самотестируемой КМОП-схемы 32-разрядного * охожи^ Р°ст затрат хотя сам метод самотестирования не зависит от технологии что Секционного процессора, преимуществом. ’ является его несомненным
Литература.
1.Электроника СБИС. Проектирование микроструктуо-Айнспрука,- М.: Мир, 1989. — 25бс.ил. р’ с анг-^ Под ред. Н.
2.Мелихов А.Н., Родзин С.И. Проектирование генератопа тег
СБИС. В трудах 12-й международной конференции- о™ ^ сам°тестируемых диагностика.-ЧСФР, Прага, 1989. ' 'Л1ЯЭ0Уетойчивые системы и
3.Курейчик В.М., Родзин С.И. Котролепригодное проектиоовяии»
СБИС : проблемы и перспективы. - М.: Радио и связь, 1994 - 176с ■ ил самотестирование