С.И. Родзин
Введение
Затраты на синтез теста интегральных схем приближенно оцениваются соотношением W=k*Va , где 1.5<а<2.5, V - число вентилей схемы, k - коэффициент, зависящий от структуры проектируемой схемы. В сравнении с началом 70-х годов число вентилей выросло почти на четыре порядка, что означает рост затрат W на синтез теста, примерно, на восемь порядков! Необъяснимым остается вопрос, как вообще тестируется СБИС в ходе эксплуатации? Между тем решение проблемы вытекает непосредственно из приведенного выше соотношения. Поскольку в будущем вряд ли следует ожидать уменьшения степени интеграции СБИС, то сокращение затрат на тестирование можно достигнуть лишь через структуру проектируемой схемы. Это обстоятельство является фундаментом для развития работ в области проектирования самотестируемых СБИС. Причем термин самотестирование здесь употребляется применительно к СБИС, на кристалле которых размещаются средства генерации теста, сигнатурного анализа результатов и управления тестом [1].
1. Постановка задачи
В данной работе предлагается метод функционального проектирования самотестируемых СБИС. Идея метода состоит в том, что для синтеза теста используется внутренняя логика проектируемой схемы, которая управляет генератором теста (ГТ), работая в цепи обратной связи ГТ, что позволяет значительно сократить аппаратные затраты на проектирование ГТ. Эти затраты определяются прежде всего числом используемых в ГТ триггеров. И хотя, как известно, минимальное число состояний не обязательно приводит к уменьшению затрат при реализации схемы, однако предлагаемый метод проектирования ГТ направлен на минимизацию числа состояний и реализацию ГТ с возможно меньшим числом триггеров. Кроме того для синтеза теста при необходимости может привлекаться сигнатурный регистр(СР),что позволяет дополнительно сократить число элементов памяти. В этом случае при проектировании может оказаться, что ГТ либо вообще не содержит триггеров, либо содержит небольшое их число, а это упрощает кодирование состояний. Отметим также, что подобного рода подход к самотестированию позволяет через СР наблюдать состояние элементов памяти проектируемой схемы, при этом не требуется разрывать их обратные связи, что, в свою очередь, приводит к сокращению общей длины теста[2].
Таким образом, цель метода состоит в том, чтобы проектируемая схема тестировалась в своем рабочем состоянии, то есть чтобы функции схемы во время теста не изменялись. Поэтому сокращение числа состояний относится только к ГТ.
Для достижения поставленной цели предлагается решить во взаимосвязи две следующие задачи:
Возможно вы искали - Реферат: Задача выбора стратегии для организации в условиях противодействия внешней среды
Синтез тестовой последовательности входных векторов для обнаружения заданного класса неисправностей проектируемой схемы, имея в виду подходящую реализацию ГТ и, используя для синтеза теста внутреннюю логику проектируемой схемы;
Проектирование ГТ на кристалле.
В качестве заданного класса неисправностей наряду с одиночными константными неисправностями на внешних и внутренних контактах схемы рассматривается также неисправности характерные для КМОП-схем, которые могут приводит к секвенциальным отношениям в проектируемой схеме[3].
Для определения тестовой последовательности проводится трансформация последовательной схемы в виртуальную комбинационную схему. С этой целью триггеры заменяются проводящими элементами, имеющими нулевую задержку и служащими для запоминания информации; обратные связи мысленно обрываются. В качестве метода получения тестовых наборов для виртуальной комбинационной схемы можно, например, применить D-алгоритм либо его модификации. При этом разрешается образовывать не полностью определенные тестовые векторы следующего вида: T={ (x,z)1 ,(x,z)2 ,...,(x,z)q }, где x - входные наборы, z - состояния схемы. Ясно, что для различных начальных состояний могут быть получены различные тестовые последовательности. Возникает вопрос: какая из последовательностей является наиболее подходящей для аппаратной реализации ГТ? Ответ на этот вопрос потребовал проведения дальнейших исследований по установлению взаимосвязи между реализацией ГТ и синтезированным тестом. В частности, удалось доказать, что число внутренних состояний ГТ зависит от числа переходов состояний d (d - это максимальное число всех переходов состояний во время прохода теста из заданного состояния, включая и повторяющиеся переходы), причем минимальное число триггеров для реализации ГТ равно [log2 d]. Требования минимизации длины теста и минимизации числа триггеров ГТ не могут выполняться одновременно. Необходим компромисс. Современные СБИС работают с высокой тактовой частотой, что делает параметр длины теста некритичным и позволяет существенно снижать аппаратные затраты при проектировании ГТ для самотестируемых СБИС.
2. Алгоритм проектирования генератора теста
Проведенное исследование зависимости между реализацией ГТ и синтезируемой тестовой последовательностью позволяет сформулировать следующую процедуру проектирования ГТ:
– синтез тестовой последовательности, которая обеспечивает проверку всех неисправностей заданного класса и для которой величина d является минимальной (если существует несколько таких последовательностей, то выбирается наиболее короткая из них);
Похожий материал - Реферат: Проверка непротиворечивости исходных описаний конечных автоматов
– проектирование ГТ с минимальным числом триггеров таким образом, что СБИС образует вместе с ГТ самотестируемую схему.
Рассмотрим подробнее алгоритм синтеза теста с помощью ГТ. Пусть заданно множество не полностью определенных тестовых векторов T в виде пар входов и состояний. Предлагается следующий алгоритм синтеза оптимальной по отношению к величине d тестовой последовательности для самотестируемой схемы, состоящей из ГТ и проектируемой схемы.
Алгоритм
Начало.
Выбираем начальное состояние в искомой тестовой последовательности {xF , zF }={(x1 ,z1 ), (x2 ,z2 )...}, где функция перехода состояний определяется обычным автоматным отношение zt+1 =Fz (xt ,zt ), t – момент времени. Образуем множество L1 ={z1 }.
Полагаем i:=1.
Очень интересно - Реферат: Пополнение знаний интеллектуальных систем на основе казуально-зависимых рассуждений
Поиск в множестве T не полностью определенных пар(x,z)j таких, которые покрывают все вектора z уже принадлежащие множеству Li . Переход к п. 5. В противном случае , переход к п. 4.
Образуем с помощью функции перехода состояний Fz множество Li +1 , содержащее все те состояния , которые достигаются из состояний zeLi . Полагаем i:=i+1 и переходим к п. 3.
Образуем из Li множество Li +1 , содержащее все состояния установленные в п.3 парами (x,y)j . Состояния, включенные в L1,. ..,Li , описывают часть последовательности (z1 ,...zi +1 )j , z1 eL1 ,...,zi +1 eLi +1 , удовлетворяющей отношению zt +1 =Fz (xt ,zt ), и поэтому они могут прибавляться к искомой последовательности zF .
Подсчитываем частоту вхождения каждого из состояний в последовательность zF и в прибавляемую часть последовательности (z1 ,...,zi +1 )j , а также определяем для каждого состояния величину d.
Прибавляем к последовательности zF те части последовательностей, установленных в п.п.2-5 алгоритма, которые имеют минимальное значение d. Удаляем из zF состояния, которые покрываются парами из исходного множества T. Если существует несколько последовательностей с одинаковой минимальной величиной d, то выбираем любую из них.
Вам будет интересно - Доклад: Принятие решений в экологической геоинформационной системе на основе нечеткой модели классификации
Образуем новое множество L1 , в которое входит последнее из включенных в zF состояний. Если в множестве T остались непомеченные пары, то переход к п.2, в противном случае, переход к п.9.
Конец.
Результирующая последовательность {xF ,zF } является тестом для проектируемой схемы.
Необходимо также отметить, что вместо случайного выбора последовательностей с минимальным d в п.7 алгоритма можно, например, набирать из T вектора с меньшим числом неопределенных состояний.
Исследуем оценку сложности приведенного алгоритма в зависимости от числа q пар, содержащихся в множестве T. Так при поиске пар (x,z) в п.3 алгоритма требуется выполнить q операций сравнения. Если покрытие не получается, то идет перепроверка состояний из множества L2 .
Похожий материал - Реферат: Основы программирования OpenGL в Borland С++Builder и Delphi. Простейшие объекты
Если обозначить мощность множества входных векторов X через M, то L2 содержит максимум M элементов, L3 -M2 и т.д. В общем случае, считаем, что множество Li содержит максимум Mi -1 элементов. Чтобы прибавить вектор z пары (x,z)j eT, требуется выполнить максимум q*Mi -1 операций сравнения, исходя из некоторого начального состояния. Прибавление в дальнейшем потребует не более, чем (q-1)*Mi -1 операций сравнения. Для определения последовательности, содержащей все q векторов из T, необходимо q-раз выполнить цикл п.п.2-7 алгоритма. Следовательно, общая оценка сложности алгоритма имеет порядок O(q2 ). Множество T при этом является исходным для работы алгоритма. Сомножитель Mi -1 зависит от функций, реализуемых проектируемой схемой, и от исходного множества пар тестовых векторов T. Общая оценка Mi -1 в этой связи затруднительна.
Выше отмечалось, что аппаратные затраты на реализацию ГТ можно сокращать и дальше, если использовать для синтеза теста не только внутреннюю логику проектируемой схемы, но и СР. Чтобы решить эту задачу вполне достаточно установленной ранее взаимосвязи между реализацией ГТ и синтезируемым тестом. Там триггер был необходим всегда, если тестовый вектор на входах проектируемой схемы не определялся однозначно различными состояниями. В связи с тем, что нет принципиальной разницы в том находится ли этот триггер в ГТ или же в СР, можно сократить число триггеров в ГТ путем использования СР для синтеза теста. При этом однако возникает вопрос: не приводит ли использование СР для синтеза теста к ограничению его способности выполнять свою основную функцию - сигнатурную оценку результатов тестирования? Чтобы ответить на это вопрос, приведем следующие рассуждения. До тех пор, пока неисправность не приводит к искажению последовательности состояний в СР и проектируемой схеме, самотестируемая СБИС выполняет синтезированную входную последовательность xF . Если некоторая неисправность приводит к искажению xF , то это с большой вероятностью ведет к искажению состояния СР и входной последовательности проектируемой схемы (напомним, что на входы проектируемой схемы подаются выходные сигналы ГТ). Между тем, известно, что вероятность маскирования неисправностей в СР при удачном выборе функций обратной связи СР является величиной независимой от числа этих искажений. В этой связи весьма проблематично ожидать каких-то ограничений в способности СР проводить оценку результатов тестирования.
Практическая реализация метода самотестирования
Ниже приводятся два прикладных примера реализации предлагаемой концепции самотестирования.
Так реализация ГТ для программируемого тактового генератора на три входа тактирующего микропроцессорные устройства была спроектирована в виде программируемой логической матрицы (ПЛМ). Длина теста для обнаружения всех одиночных константных неисправностей оказалась равной 27 наборам. Схема ГТ ( без использования для синтеза теста СР) содержит два триггера и 17 вентилей. Если сравнить затраты на реализацию тактового генератора и ГТ в пересчете на число вентилей и учесть еще затраты на хранение теста в памяти, то получается не совсем удовлетворительное соотношение. Однако затраты на ГТ сокращаются при использовании для генерации теста СР. В этом случае ГТ реализуется в виде чисто комбинационной схемы на 7 вентилей и отношение затрат на ГТ и тактовые генератор равно примерно 13%. Преимущество ПЛМ-реализации ГТ состоит в том, что комбинационные схемы в этом случае проектируются особенно просто, хотя при этом требуется несколько большая по сравнению с обычным проектированием площадь кристалла.