УДК 519.713:681.326
Э.Н. КУЛАК, М.А. КАМИНСКАЯ, Ю.К.КОНСТАНТИНОВА
МЕТОД АНАЛИЗА ТЕСТОПРИГОДНОСТИ ЦИФРОВЫХ УСТРОЙСТВ ДЛЯ ПСЕВДОСЛУЧАЙНОГО ТЕСТИРОВАНИЯ В СИСТЕМАХ ВСТРОЕННОГО САМОТЕСТИРОВАНИЯ
Предлагается метод анализа тестопригодности для сложных цифровых комбинационных схем. Приводится алгоритм модификации устройства и генерации взвешенного теста для улучшения показателей тестопригодности. Присутствуют результаты моделирования схемы в системе SIGESTEST. Предложенный метод сравнивается с двумя аналогичными методами анализа тестопригодности.
1.Введение
С увеличением интеграции кремниевых структур отношение числа вентилей к числу выводов схемы существенно возрастает, что уменьшает наблюдаемость и управляемость внутренних узлов схемы. Это в свою очередь затрудняет проведение процедуры тестирования, увеличивает время тестирования и объем тестов. Простым решением проблемы повышения качества теста является введение в схему точек контроля и использование стандартов тестопригодного проектирования и технологий встроенного самотестирования [1,2].
Цель работы: существенное уменьшение времени верификации, синтеза тестов и/или повышение степени покрытия неисправностей для заданных входных наборов путем модификации структуры цифрового устройства на основе анализа его тестопригодности и использования генератора взвешенного теста. Задачи: 1) разработка вероятностного метода анализа тестопригодности, ориентированного на взвешенное тестирование; 2) разработка стратегии выбора точек для модификации комбинационных и последовательностных схем,
а также способа их модификации; 3) организация тестирования модифицированных схем, экспериментальное подтверждение его эффективности; 4) реализация метода в рамках системы 8ЮЕТЕ8Т. Объект исследования: комбинационные и последовательностью схемы, представленные на системном (алгоритмическом), регистровом и вентильном уровне, не ограниченные решениями методов ББТ, а также в ББТ-системах для комбинационных схем или их частей, плохо поддающихся псевдослучайному тестированию. В работе предлагается использование генератора взвешенного теста.
2.Анализ тестопригодности схемы
Предлагаемый метод заключается в вычислении значений управляемости и наблюдаемости узлов схемы, формирующих оценку тестопригодности. Предложенный метод может быть использован как на досинтезной структуре цифровых устройств, так и на более детализированных уровнях представления - вентильном уровне и уровне регистровых передач. Метод основан на вероятностном подходе вычисления показателей тестопригод-ности узлов устройства.
Вычисление управляемости. Значения управляемости на первичных входах равны 0.5 (так как первичные входы устройства или его входные порты стопроцентно управляемы). Значения управляемости вычисляются от первичных входов схемы до первичных выходов и изменяются в диапазоне от 1 до 0. Вычисление управляемости для схем вентильного уровня описано в [11].
Для определения управляемости выхода цифрового устройства необходимо, используя аналитическое выражение, описывающее это устройство, составить выражение, в котором управляемость единицы выхода образуется следующим образом: из аналитического выражения вместо инверсии входа подставляется управляемость нуля, а вместо входа без инверсии - управляемость единицы этого входа. Конъюнкция определяет умножение, дизъюнкция - сложение.
Данный метод позволяет вычислять управляемость выходов комбинационных устройств уровня регистровых передач.
Для дешифратора 2 в 4:
У0 = А л Б,У1 = А л Б,У2 = А л В,У3 = А л В, где А, В - входы дешифратора; У0, У1,У2, У3 - выходы дешифратора.
Управляемости выходов:
для выхода У0 : С1(У0) = С0(А) • С0 (В), С1(У0) = 1 - (С0(А) • С0 (В));
для выхода У1: С1 (У]) = С0(А) • С1 (В), С0(У^ = 1 - (С0 (А) • С1 (В));
для выхода У2 : С1 (У2) = С1 (А) • С0 (В), С0(У2) = 1 - (С1 (А) • С0 (В));
для выхода У3: С1(У3) = С1 (А) • С1(В), С0(У3) = 1 - (С1 (А) • С1 (В)).
В общем случае управляемость каждого выхода дешифратора:
С1(Уп) = ±
где п - количество входов дешифратора.
Для одного разряда сумматора:
8 = (А л Р1 л В) V (В л А л Р1) V (А л В л Р1) V (А л В л Р1),
РО = (А л Р1 л В) V (В л А л Р1) V (А л В л Р1) V (А л В л Р1), здесь А, В - операнды; Р1 - вход предыдущего разряда; 8 - полученная сумма; РО -перенос в следующий разряд.
Определим управляемости выхода 8 одного разряда сумматора:
С1 (8) = С0 (А) • С0 (Р1)0 • С1 (В) + С0 (В) • С1 (А) • С0 (Р1) + + С0 (А) • С0 (В) • С1 (Р1) + С1 (А) • С1 (В) • С1 (Р1) .
Для нуля:
С0 (8) = 1 - (С0 (А) • С0 (Р1) • С1 (В) + С0 (В) • С1 (А) • С0 (Р1) +
+ С0 (А) • С0 (В) • С1 (Р1) + С1 (А) • С1 (В) • С1 (Р1)) .
Для выхода РО:
С1 (Р) = С0 (А) • С0 (Р1) • С1 (В) + С0 (В) • С1 (А) • С0 (Р1) + + С0 (А) • С0 (В) • С1 (Р1) + С1 (А) • С1 (В) • С1 (Р1), С0 (Р) = 1 - (С0 (А) • С0 (Р1) • С1 (В) + С0 (В) • С1 (А) • С0 (Р1) +
+ С0 (А) • С0 (В) • С1 (Р1) + С1 (А) • С1 (В) • С1 (Р1)) .
Вычисление наблюдаемости. Наблюдаемость О(Х1) - количественная мера способности устройства транспортировать состояние рассматриваемой линии на внешние выходы схемы. Наблюдаемость может принимать относительное значение, лежащее в промежутке [0;1]. О(х1) = 1 для внешнего выхода. О(х1) = 0, если невозможно обеспечить такие условия, при которых изменение значения в узле приводило бы к изменению значения на первичном выходе. Практически, значения управляемости большинства линий лежат между границами промежутка [0;1]. Наблюдаемость узлов в схеме уменьшается от первичных выходов к первичным входам. Определение наблюдаемости для схем вентильного уровня описано в [11]. Для схем уровня регистровых передач наблюдаемость вычисляется аналогично. Например, для демультиплексора наблюдаемость информационного входа определяется как отношение суммы произведений наблюдаемостей выходов на управляемости адресных входов, обеспечивающих активизацию выхода к количеству выходов.
Если у элементов отсутствуют входы активизации, а следовательно, и 2а, то g = 1. Примером таких элементов являются инвертор и повторитель. У них один вход и один выход, причем наблюдаемость входа равна наблюдаемости выхода. Для таких случаев, как ветвление выхода или сходящиеся разветвления, наблюдаемость вычисляется, как показано в [11].
Определение тестопригодности. Простая мера тестопригодности узла может быть получена перемножением значений его управляемости и наблюдаемости:
Т1 = С0 (У) • О(У), Т0 = С!(У) • О(У), Т(У) = Т!(У) + Т°(У)/ 2, где 0 - тестопригодность (1- тестопригодность) узла У; Т(У) - тестопригодность узла У. Общий показатель тестопригодности всей схемы должен представлять собой меру средней трудоемкости получения теста для узла схемы, следовательно, эта мера может быть представлена как среднее арифметическое значение тестопригодностей всех узлов схемы, т. е.
N
ТЛ = [ £ Т(У;)]/ N,
1=1
где - тестопригодность всей схемы; п - количество узлов схемы. Для удобства интерпретации результатов берется корень восьмой степени значений управляемости, наблюдаемости, тестопригоднгости.
Пример. Рассмотрим схему, представленную на вентильном уровне на языке описания аппаратуры УИБЦрисЛ).
Рис. 1. Пример схемы для анализа
Таблица 1. Показатели тестопригодности по методу
CCOPPoITA
Линия C0 C1 O T0 T1 T
a 0,500 0,500 0,375 0,312 0,312 0,312
b 0,500 0,500 0,375 0,312 0,312 0,312
c 0,500 0,500 0,375 0,312 0,312 0,312
d 0,500 0,500 0,375 0,312 0,312 0,312
x1 0,750 0,250 0,236 0,572 0,190 0,381
x2 0,250 0,750 0,233 0,572 0,190 0,381
x3 0,750 0,250 0,248 0,187 0,563 0,375
x4 0,750 0,250 0,248 0,187 0,563 0,375
x5 0,062 0,937 0,055 0,886 0,059 0,472
x6 0,937 0,062 0,003 0,062 0,934 0,498
x7 0,058 0,941 0,058 0,886 0,055 0,470
x8 0,941 0,058 0,941 0,003 0,055 0,029
y 0,055 0,944 1,000 0,944 0,055 0,500
В табл.1 представлены результаты анализа тестопригодности для схемы на рис.1. 3. Стратегия выбора контрольных точек и тестирования
Проведенные эксперименты показали, что разработанный метод позволяет осуществлять простую процедуру выбора точек для модификации схемы.
Современные технологии позволяют компонировать число вентилей до нескольких миллионов. В связи с этим дополнительные аппаратурные затраты, связанные с использованием генератора взвешенного теста и пути сканирования, не являются критичными. Гораздо важнее пригодность схемы к адекватной проверке. Поэтому вполне достаточно использование избыточных, но простых и регулярных подходов и структур для уменьшения времени разработки и производства изделия.
Используется ряд подходов для получения оптимального для разработчика качества теста. Например, в [5] предлагается использование на первом этапе псевдослучайного теста - генерация теста и процедура тестирования прекращается , когда получено 80-85% покрытия неисправностей. Затем этот тест дополняется детерминированным тестом для получения 100% покрытия. Авторы предлагают реализацию встроенных генераторов теста в каждом ядре, при этом псевдослучайные последовательности генерируются с помощью внешних генераторов, а детерминированные - генерируются с помощью встроенной BIST и хранятся в системе.
В [8] предлагается стандартный подход. 1. На начальном этапе тестирования используется заданный эталон или начальный тест. Проводится тестирование с этим эталоном. 2. Если степень покрытия неисправностей не удовлетворяет разработчика, создаётся новый тест на основе использования полученных в процессе предварительного тестирования ошибок. В данной работе предлагается подход, описанный ниже. 1. Предварительно проводится анализ тестопригодности по предложенному в работе методу. 2. Генерируется псевдослучайный тест для заданной схемы. 3.Проводится анализ неисправностей этим тестом. Если степень покрытия неисправностей не удовлетворяет разработчика, то, на основе полученных показателей тестопригодности, выбираются критические точки в схеме и генерируется новый, взвешенный тест, использующий полученные показатели тестопригодности. Для этого необходимо выбрать 3-5% линий с низким показателем управляемости нулем и единицей наблюдаемости.
На рис. 2 представлена общая схема организации тестирования устройства при наличии пути сканирования.
01
Рис. 2. Общая схема организации тестирования устройства
Способ модификации схемы. Способ модификации схемы состоит в следующем: на каждую выбранную линию схемы ставится ячейка, которая должна обеспечить 100%-ную наблюдаемость и 100%-ную управляемость выбранной линии, при этом она должна быть абсолютно прозрачной для нормального режима работы схемы, а также должна просто тестироваться.
Для уменьшения числа дополнительных входов и выходов эта ячейка должна с остальными ячейками объединяться в сдвиговый регистр, аналогичный пути сканирования в структурных методах тестопригодного проектирования. Ячейка регистра граничного сканирования удовлетворяет перечисленным требованиям, за исключением её размера.
Для уменьшения аппаратурных затрат и обеспечения адекватной проверки ячейки предлагается использовать ячейку, которая состоит из двухступенчатого синхронного D -триггера и мультиплексора. Схема подключения ячеек должна быть такая, как в [9].
Можно организовать также параллельную загрузку тестовых данных в путь сканирования. В этом случае не будет использован регистр выходных значений Output value register.
Использование генератора взвешенного теста. В работе предлагается использование генератора взвешенного теста, построенного таким образом, что выбранные в схеме линии будут непосредственно управляемыми, т. е. на линию с низкой управляемостью нуля (С0) будет подаваться тестовая последовательность, содержащая в себе преимущественно логический ноль. В свою очередь, линии, содержащие низкую управляемость единицы (С1), будут непосредственно управляемы логической единицей. Для внедрения генератора взвешенного теста выбираются внутренние линии с низкими показателями управляемости. При этом линии с низким значением управляемости нуля будут управляемы дополнительным элементом AND (NOR), встроенным в генератор тестовой последовательности. Таким же образом должна будет улучшена управляемость единицы - путем использования дополнительных элементов NAND (OR).
Использование пути сканирования. В качестве дополнительной стратегии предлагается использовать метод модификации, как представлено в [9]. Для этого необходимо выбрать 3-5% линий с низким показателем наблюдаемости.
Для схемы из примера исчерпывающий тест составляет 16 векторов.
Таблица 2. Результаты моделирования неисправностей схемы до модификации
№ Тест-вектор Качество теста, Q% Проверяемые неисправности на тест-векторе
1 0000 3.846 y-1
2 0001 11.538 x5-1, x7-1
3 0010 11.538
4 0011 15.385 x1-1
5 0100 15.385
6 0101 15.385
7 0110 15.385
8 0111 19.231 a-1
9 1000 19.231
10 1001 19.231
11 1010 19.231
12 1011 23.077 b-1
13 1100 26.923 x2-1
14 1101 30.769 c-1
15 1110 34.615 d-1
16 1111 76.923 c-0 a-0 b-0 d-0 x1-0 x6-0 x5-0 x7-0 x8-0 y-0
Схема преднамеренно была выбрана избыточной для более наглядного представления результатов моделирования при использовании АС-НОС технологий на основе предложенного метода.
Из результатов моделирования видно, что линии х3, х4 не проверяются тестом вообще, а на линиях х6, х8 отсутствует проверка неисправности «константа 1».
Для модификации удобно ввести в схему дополнительные наблюдаемые выходы. В общем случае дополнительные выходные линии определяются путем вычисления наблюдаемости 0(Х;). В данной схеме непроверяемыми являются линии x4 и x3. По существующему ограничению на количество дополнительных выводов схемы (5%), зависящее от количества выводов и вентилей схемы и её размера, в схеме из примера наблюдаемой линии можно выбрать только одну из множества внутренних линий {a, b, с, d, x1, x2, x3, x4, x5, x6, x7, x8, y}. Сначала выбирается линия x3 и проводится моделирование неисправностей на заданном тесте (исчерпывающий тест 16 векторов). В табл. 2 представлены результаты моделирования с выбранной линией x3 в качестве дополнительного наблюдаемого выхода. Затем выбирается линия x4 и аналогично проводится моделирование неисправностей.
Моделирование на выбранных линиях не дало ожидаемого результата, дополнительный вход x3 дает качество теста Q=84,769% и 21 проверяемую неисправность из 26. Дополнительный выход x4 дает качество теста Q=80,769% и 21 проверяемую неисправность из 26. Даже обе линии x3, x4 не дают ощутимого улучшения качества теста и повышения процента проверяемых неисправностей. Так, при моделировании схемы с выбранными дополнительными выходами x3 и x4 было получено качество теста Q=92,308% и 24 проверяемые неисправности из 26. На производстве оптимальным является качество теста в диапазоне от 95 до 99%[3]. Таким образом, полученное качество теста не превышает даже минимального порога 95%. В [3] также упоминается, что точками контроля (дополнительные линии) лучше выбирать не те линии, которые не проверяются заданным тестом, а те, которые находятся в схеме сразу за этими линиями (линии, которые ближе к выходу). Предлагаемый метод разработан таким образом, чтобы низкая наблюдаемость указывала на именно такие линии, которые являются оптимальными для выбора их наблюдаемыми. Из табл. 2 видно, что наихудшую наблюдаемость имеет линия x6. Таким образом, линия x6 выбирается как дополнительный наблюдаемый выход. Далее проводится моделирование неисправностей с дополнительным выходом x6. Качество теста в этом случае Q=96,154%, проверяется 25 неисправностей из 26.
Начальное качество теста на схеме до модификации Q=76,923%, при дополнительном выходе x3, выбранном как непроверяемая линия, Q=84,615%, при дополнительном выходе x4 Q=80,796%, при дополнительном выходе x6, выбранном по предлагаемому методу, Q=96,154%. Выбор линий по предлагаемому методу анализа тестопригодности дал на схеме из примера увеличение на 19, 231%.Выбор непроверяемых линий в качестве дополнительных наблюдаемых выходов дал повышение качества теста на 7,692%.
Если разработчик ограничен во введении дополнительных линий наблюдения, предлагается использование генератора взвешенного теста, построенного на основе показателей управляемости.
4. Результаты и выводы
Научная новизна. Предложен метод анализа тестопригодности, а также стратегия поиска контрольных точек и модификации устройства на вентильном уровне и уровне регистровых передач.
Практическая значимость полученных результатов: 1. До внедрения в схему генератора теста система на кристалле должна быть разбита на подсхемы и для каждой подсхемы выбран определенный метод анализа и генерации тестов. Метод может быть использован на схемах, содержащих более 100000 - 1000000 вентилей, что позволит упростить разбиение схемы на подсхемы в случае использования технологий BIST, в то время как ранее представленные методы [4,8] дают недопустимые показатели наблюдаемости и, соответственно, тестопригодности уже на схемах, содержащих 20000 вентилей (TADATPG) и 243 логических вентиля (CAMELOT метод). 2. Метод может быть использован на всех стадиях проектирования - на системном (алгоритмическом) уровне, на уровне регистровых передач (послесинтезное структурное описание), на вентильном уровне описания устройства. 3. Предлагаемый метод имеет более распределенные значения в интервале [0;1], по сравнению с ранее упомянутыми методами, что позволяет более адекватно выбирать точки контроля, по сравнению с ранее разработанными методами. 4. Аппаратурные затраты при использовании взвешеного теста составляют порядка 30-35%
от общего количества вентилей в схеме. В [4,6] описаны аппаратурные затраты на путь сканирования - 60 - 110% (для комбинационных схем) и до 250% для последовательност-ных схем. Анализ можно проводить как на досинтезной структуре, так и на устройстве, обработанном средствами синтеза (устройство может быть разложено до вентильного уровня, для которого и предполагается внедрение генератора взвешенных тестов).
Список литературы: 1. IEEE Std 1149.1-2001, IEEE Standard Test Access Port and Boundary-Scan Architecture. New York. 2001. 208p. 2. IEEE P1500/D11, Draft Standard Testability Method for Embedded Core-based Integrated Circuits, New York. 2005. 138p. 3. StroudC.E. A Designer's Guide to Built-in Self-Test. Kluwer Academic Publishers, 2002. 320 p. 4. KulakE.N., KaminskaM.O., Hassan Kteiman, Wade Ghribi. Heuristic method of testability analysis for digital system testing by deterministic test // Padioelectronics and informatic. № 3. Kharkov. 2005. P. 113-119. 5. БеннеттсР. Дж. Проектирование тестопригодных логических схем: Пер. с англ. М.: Радио и связь; 1990. 176 с. 6. Gert Jervan, Petru Eles, Zebo Peng, Raimund Ubar, Maxim Jenihhin. Hybrid BIST time minimization for Core-Based systems with STUMPS Architecture // Proceedings of the 18th IEEE International Symposium on Defect and Tolerance in VLSI Systems. 2003. 4p. 7. Gert Jervan, Petru Eles, Zebo Peng, Raimund Ubar, Maxim Jenihhin. Test Time minimization for Hybrid BIST of Core-Based Systems //Proceedings of the 12th Asian Test Symposium.-2003. 4p. 8. RichardMundhen. ASIC and FPGA Verification: A guide to Component Modeling// Morgan Kaufmann Publishers is an imprint of Elsevier, United States of America. 9. Кулак Э.Н., КаминскаяМ.А. Модификация цифровых схем с использованием метода анализа тестопригодности TADATPG (часть 2) // Радиоэлектроника и информатика. 2005. № 4. С. 60-68. 10. BennettsR.G., Maunder C. M., and Robinson G. D. CAMELOT: A Computer-Aided Measure for Logic Testability. IEEE Proc., Vol. 128, Part E, No. 5, pp. 177-189,1981. 11. КаминскаяМ.А., КулакЭ.Н. Использование анализа тестопригодности для повышения качества теста и производительности встроенных средств самотестирования // Вестник восточноукраинского национального университета. 2008. №12(130). C. 24-33.
Поступила в редколлегию 11.06.2009 Кулак Эльвира Николаевна, доцент кафедры АПВТ ХНУРЭ. Научные интересы: тестоп-ригодное проектирование цифровых устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.
Каминская Марина Александровна, ассистент кафедры АПВТ ХНУРЭ. Научные интересы: тестопригодное проектирование цифровых устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.
Константинова Юлия Константиновна, студентка группы СКСм-08-1 факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: тестопригодное проектирование цифровых устройств. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.