Анализ тестопригодности цифровых схем на уровне регистровых передач

УДК 651.326

Э.Н. КУЛАК, канд. техн. наук, ХНУРЭ (г. Харьков),

М.А. КАМИНСКАЯ, ХНУРЭ (г. Харьков),

О.Б. СКВОРЦОВА, канд. техн. наук, ХНУРЭ

АНАЛИЗ ТЕСТОПРИГОДНОСТИ ЦИФРОВЫХ СХЕМ НА УРОВНЕ РЕГИСТРОВЫХ ПЕРЕДАЧ

Запропоновано метод аналізу тестопридатності цифрових схем для детермінованого тестування більш адекватний порівняно з відомими класичними методами. Він орієнтований на комбінаційні та послідовностні схеми і базується на топологічному аналізі їх представлення на вентильному рівні та RTL. Отримані показники дозволяють легко модифікувати схему для мінімізації числа несправностей.

It is proposed more suitable method of the testability analysis of the digital systems in comparison with known classical algorithmic and probabilistic methods. It is oriented on the complex combinational and sequential asynchronous logic circuits. Estimation of the testability is based on the topological analysis of the circuit. The new method and above mentioned methods were approved on the circuits of different complexity, including circuits from ISCAS’85, ‘89 Libraries. Proposed method can be used on gate-level and RT-level circuit description.

Постановка проблемы. Современные системы генерации тестов должны носить все более интеллектуальный характер. Такой задумана система SIGETEST [1], разрабатываемая исследовательской группой ХНУРЭ под руководством компании ALDEC (США). Это привело к необходимости создания системы анализа тестопригодности, отражающей различные аспекты развивающейся методологии тестирования. Одной из многочисленных задач, стоящих перед разработчиками, является реализация анализа тестопригодности в системах автоматизированной генерации тестов детерминированным способом (deterministic ATPG (Automatic Test Pattern Generation)). Несмотря на значительные успехи в области проектирования интегральных схем, проблема поиска дефектов и повышения тестопригодности устройств остается актуальной. Тестопригодность - это один из наиболее важных показателей, который должен учитываться при проектировании цифровых устройств наряду с такими показателями, как быстродействие и стоимость устройства. Низкий уровень тестопригодности изделия приводит к увеличению времени и ухудшению качества тестирования изделия, как на стадии производства, так и на стадии эксплуатации, что может подорвать шансы производителя на успех при выходе изделия на рынок. Существует множество методов анализа тестопригодности цифровых схем, в том числе ориентированных на детерминированное тестирование. В процессе проектирования тестопригодного электронного устройства учитываются такие моменты как анализ тестопригодности (на всех этапах проектирования) и внедрение в устройство прозрачной по отношению к нормальному функционированию устройства DFT логики (использование стандартов

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

Объект исследования: комбинационные и последовательностные схемы, представленные на вентильном уровне и уровне регистровых передач, не ограниченные решениями методов DFT, а также в DFT-системах для комбинационных схем или их частей, плохо поддающихся псевдослучайному тестированию.

Цель исследования: разработка и программная реализация в рамках системы SIGETEST нового метода анализа тестопригодности, предваряющего построение теста.

Для решения поставленной цели решались следующие задачи:

1) анализ существующих методов анализа тестопригодности, ориентированных на детерминированное тестирование; 2) реализация основных методов для получения сравнительной характеристики их возможностей и пределов использования; 3) разработка метода расчета показателей управляемости, наблюдаемости и тестопригодности, выявляющих проблемные участки схем, которые необходимо модифицировать, с целью увеличения их тестопригодности; 4) программная реализация метода в рамках системы SIGETEST, экспериментальное подтверждение его эффективности.

Сравнительный анализ существующих методов. Первые работы в этой области принадлежат Рутману [2] и независимо от него Стефенсону и Грасону [3 - 4]. Эти работы были ориентированы на детерминированное тестирование. Работа Рутмана была усовершенствована и расширена Брейером [5]. Его результаты были обнародованы в публикациях, описывающих программу анализа управляемости и наблюдаемости SCOAP (Sandia Controllability/Observability Analysis Program) [6 - 7]. Эти разработки легли в основу для других систем, которые вычисляли значения наблюдаемости и управляемости для детерминированных ATPG, таких как TESTSCREEN [В], [9], CAMELOT (Computer-Aided Measure for Logic Testability) [10], и VICTOR (VLSI Identifier of Controllability, Testability, Observability, and Redundancy) [11], а также [12 - 14]. Перечисленные системы вычисляли множества значений для каждой линии в схеме. Эти значения предназначены для определения относительной степени сложности решения следующих задач: установки линии X в 1(0) (управляемость); распространение ошибки с линии X на первичный выход (наблюдаемость).

Существуют две проблемы [15]. Во-первых, не была достигнута корреляция между значениями тестопригодности и числом проверяемых неисправностей (качеством теста). Во-вторых, осталось невыясненным как модифицировать схему, чтобы повысить тестопригодность. Тривиальное решение, состоящее в добавлении дополнительных контрольных точек на линии с плохой наблюдаемостью, а также схем, повышающих управляемость на линии с плохой управляемостью не всегда эффективно. В [12] был предложен более сложный подход, но его вычислительная сложность слишком высока, чтобы он мог быть использованным на практике. В целом, большинство существующих методов предполагают очень сложные вычисления, применимые только для небольших схем, и трудно поддаются анализу [15 - 16]. Анализируемые методы оказались неприемлемыми даже для относительно небольших схем уже на первом этапе - подсчете основных показателей.

В [18] описывается вероятностный метод анализа тестопригодности на уровне регистровых передач. Он основан на методе Паркера-МакКласки [19] и используется при анализе двоичных диаграмм решений (Binary Decision Diagrams). Результаты по покрытию неисправностей существенно не отличаются от результатов, полученных на более точном уровне представления - вентильном уровне описания. Разработанные методы и алгоритмы основаны на распространении сигналов в схеме, представленной диаграммой решений. Главная цель этой работы - повысить тестопригодность устройства и соответственно повысить качество теста на вентильном уровне и уровне регистровых передач. В работе для сравнительного анализа были использованы такие известные методы как SCOAP, CAMELOT, VICTOR.

Разработанный метод, представленный ниже, не содержит вышеописанных недостатков. Рассчитываемые показатели могут быть использованы для построения взвешенного теста.

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

Вычисление управляемости. Управляемость С - количественная мера способности устройства устанавливать на рассматриваемой линии значение 0 (С0) или значение 1 (С1). Она зависит от логической функции вентиля и уменьшается по мере отдаления линии от внешних входов схемы. Управляемость может принимать относительное значение, лежащее в интервале [0; 1].

С = 1 - имеется внешний вход схемы, через который можно легко

установить логические "0" и "1". С = 0 - имеется линия, которую нельзя

установить ни в одно из логических состояний. Практически значения управляемости большинства линий лежат между границами интервале [0; 1]. Для «-входного вентиля «ИЛИ»:

С 0

П

С1

I =1

Для п-входного вентиля «И»:

С1

П

С 0

1=1

Значения С°(Хг) и С1(Хг) выбираются по таблице истинности примитива.

Пример.

С 0(х1) = С 0(х2) = С 0(х3) = 0,5 ; С1(х1) = С1(х2) = С1(х3) = 0,5 ;

С 0(а) = 1 - С0 (х1) • С0 (х2) = 1 - 0,5 • 0,5 = 0,75;

С1 (а) = 1 - С0 (а) = 1 - 0,75 = 0,25 ;

С0(Ь) = 1 - С0 (х1) • С0(х3) = 1 - 0,5 • 0,5 = 0,75;

С1(у) = 1 - С1(а) • С1(Ь) = 1 - 0,25 • 0,25 = 0,9375 ;

С0(у) = 1 - С1(у) = 1 - 0,9375 = 0,0625 .

Вычисление наблюдаемости. Наблюдаемость О - количественная мера способности устройства транспортировать состояние рассматриваемой линии на внешние выходы схемы. Наблюдаемость может принимать относительное значение, лежащее в интервале [0; 1].

О = 1 для внешнего выхода.

О = 0, если невозможно обеспечить такие условия, при которых изменение значения в узле приводило бы к изменению значения на первичном выходе. Практически значения управляемости большинства линий лежат между границами интервала [0;1].

Наблюдаемость узлов в схеме уменьшается от первичных выходов к первичным входам.

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

Рис. 2.

Поэтому наблюдаемость определяется по формуле:

О

где РпшоШ: - первичный выход устройства;

X - У - РпшоШ: - путь активизации;

g - среднее арифметическое значений управляемостей входов,

обеспечивающих прохождение активизации с входа X на выход У.

С (ХО + С (Х2) +... + Ск (Х„-!) ^

g =-------------------------------,

п -1

где п - число входов элемента; (Хъ Х2, Хп-1) - набор входных значений (га),

обеспечивающих активизацию путиХп - У, 1,},..., к е {0,1} и равны 0, еслиХь Х2, ..., Хп-1 на наборе га принимают нулевые значения, и равны 1, если Хь Х2, ..., Хп-1 на наборе га принимают единичные значения.

Например, для трехвходового вентиля «И»

О(Х - Рг1шоиг) = О(У - Рг1шоиг)[С1(Х2)+С1(Хз) ]/2.

Выбираются С1(Х2) и С'(Хз), потому что Х2 = Хз = 1 обеспечивают активизацию пути с входа Х1 на выход У вентиля.

Если у элементов отсутствуют входы активизации, а, следовательно, и га, то g = 1. Примером таких элементов являются инвертор и повторитель. У них один вход и один выход, причем наблюдаемость входа равна наблюдаемости выхода.

В случае сходящихся ветвлений (рис. 3) наблюдаемость линии ветвления определяется как среднее арифметическое наблюдаемостей этой линии по каждому из путей (формула 9).

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

Рис. 3. Случай сходящихся ветвлений

г

О

г=1

Наличие ветвления на выходе устройства (рис. 4) позволяет наблюдать его состояние на нескольких первичных выходах схемы. Состояние узла У может наблюдаться на первичном выходе РпшоШ 1 и на первичном выходе РпшоШ 2. Можно вычислить оба значения наблюдаемости: О(У - РпшоиИ) и О(У - РпшоШ:2).

Рис. 4. Случай ветвления выхода

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

R(S) = 1 - Q(S) = 1 - П[Q(каждого пути)] = 1 - П[1 - R(каждого пути)],

где R - функция надежности процесса, Q - функция ненадежности процесса.

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

О

Для случая ветвления выхода, изображенного на рис. 4, наблюдаемость линии ветвления определяется по формуле (11).

О

Вычисление значений наблюдаемости узлов схемы начинается с первичных выходов и продвигается далее через всю схему к первичным входам.

Определение тестопригодности. Простая мера тестопригодности узла может быть получена перемножением значений его управляемости и наблюдаемости:

Т 0

Т 1

Т

где Т0(У), (Т 1(У)) - 0-тестопригодность (1-тестопригодность) узла У; Т(У) -тестопригодность узла У.

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

ь

Тсхемы = [ЕТ

/=1

Тсхемы - тестопригодность всей схемы, Ь - количество узлов схемы.

Для удобства интерпретации результатов берется корень восьмой степени значений управляемости, наблюдаемости, тестопригодности.

Сложность (быстродействие) метода расчета показателей тестопригодности линейная. Для расчета управляемости необходим один проход по всем линиям схемы, от первичных входов к первичным выходам, а для расчета наблюдаемости и тестопригодности, необходим один проход по всем линиям схемы, от первичных выходов к первичным входам. Поэтому порядок сложности равен 2Ь, где Ь - количество узлов (линий) схемы. Время расчета показателей приведено в табл. 1.

Таблица 1

Время расчета показателей тестопригодности и моделирования неисправностей в

системе БЮЕТЕБТ

Схема І8ЄЛ8’85 Число линий схемы Число входов схемы Время моделирования неисправностей на одном наборе, с Время расчета показателей тестопригодности, с

с432 398 36 0,00135 0,01

с499 599 41 0,0002 0,01

с880 623 60 0,00048 0,03

с1355 1015 41 0,00086 0,03

с1908 1307 33 0,00612 0,03

с3540 2007 50 0,00928 0,04

с6288 4579 32 0,00901 0,12

Значения в табл. 1 были получены с помощью системы 8ЮЕТЕ8Т на компьютере ЮТЕЦЯ) Реийиш с рабочей частотой процессора 2,4 гГц и размером памяти ЯЛМ 514796 кбайт.

Пример. Расчет показателей рассмотрен на примере комбинационной схемы, изображенной на рис. 5.

О4

а

Рис. 5. Пример схемы для анализа

5

6

Показатели тестопригодности схемы

line C0 C1 O T° T1

1 0,5 0,5 0,101 0,051 0,051

2 0,5 0,5 0,152 0,076 0,076

3 0,5 0,5 0,051 0,026 0,026

4 0,5 0,5 0,152 0,076 0,076

5 0,5 0,5 0,206 0,103 0,103

б 0,5 0,5 0,098 0,049 0,049

7 0,75 0,25 0,303 0,227 0,075

8 0,25 0,75 0,101 0,025 0,135

9 0,25 0,75 0,413 0,103 0,309

a 0,25 0,75 0,195 0,049 0,146

b 0,81 0,19 0,405 0,328 0,077

c 0,75 0,25 0,435 0,326 0,109

d 0,06 0,94 0,78 0,047 0,733

e 0,04 0,96 1 0,04 0,96

Общая тестопригодность схемы Тсхемы = 0,159.

Исследуемые классические методы анализа тестопригодности и новый метод, предложенный в данной статье, были реализованы программно в рамках системы SIGETEST. В качестве исходного описания схем использовалось VHDL-описание, система SIGETEST конвертировала его во внутреннюю модель представления схемы, которая использовалась для исследования реализованными методами анализа тестопригодности. Методы были апробированы на примерах схем различной сложности, в том числе на схемах из библиотеки ISCAS’85, ISCAS’89, ISCAS’99.

Выводы Разработан новый метод расчета показателей тестопригодности более адекватный по сравнению с известными классическими методами. Преимущества метода:

1) отсутствие потери информации при расчете показателей тестопригодности для схем, тестируемых детериминированным тестом;

2) простота метода, при анализе последовательностных схем (не нужно решать систему линейных уравнений);

3) метод обеспечивает простой способ выбора участков схемы для модификации. Полученные показатели могут быть использованы для генерации взвешенного теста [16]. Такой подход позволит уменьшить время тестирования. Метод может быть использован для нужд SoC [20 - 21]. Также рассчитанные показатели могут быть использованы для внедрения пути сканирования в схему [22].

Список литературы: 1. Zaychenko S., Melnikova O., Shahab S.K., Albitar Z.S. High-performance Compiler of Gate-level HDL Net Lists for Testing Faults in Digital Circuits // Proceedings of the Work in

Progress Session. - Rennes (France). - 2004. 2. Rutman R.A. Fault Detection Test Generation for Sequential Logic Heuristic Tree Search // IEEE Computer Repository. - Paper №. R-72-187. - 1972. 3. Grason J. TMEAS - A Testability Measurement Program // Proc. 16th Design Automation Conf. -1979. - P. 156-161. 4. Grason J., Nagel A.W. Digital Test Generation and Design for Testability. // Journal Digital Systems. - 1981. - Vol. 5. - N° 4. - P. 319-359. 5. Breuer M.A. New Concepts in Automated Testing of Digital Circuits // Proc. EEC Symp. on CAD of Digital Electronic Circuits and Systems, Brussels. - 1978. - P. 69-92. 6. Goldstein L.H. Controllability/Observability Analysis of Digital Circuits // IEEE Trans. on Circuits and Systems. - 1979. - Vol. 9. - P. 685-693. 7. Goldstein L.M., Thigen E.L. SCOAP: Sandia Controllability/Observability Analysis Program // Proc. 17th Design Automation Conf. - 1980. - P. 190-196. 8. Kovijanic P.G. Computer Aided Testability Analysis // Proc. IEEE Automatic Test Conf. - 1979. - P. 292-294. 9. Kovijanic P.G. Single Testability Figure of Merit Proc. Intn'l. Test Conf. - 1981. - P. 521-529. 10. Bennetts R.G., Maunder C.M., Robinson G.D. CAMELOT: A Computer-Aided Measure for Logic Testability // IEEE Proc. - 1981. - Vol. 128. -Part E. - № 5. - P. 177-189. 11. Ratiu I.M., Peterson D.O. A Sangiovanni-Vincentelli Fast VLSI Testability Analysis Program // Proc. Intn'l Test Conf. - 1982. - P. 397-401. 12. Chen T-H. Breuer M.A. Automatic Design for Testability Via Testability Measures // IEEE Trans. on Computer-Aided Design. -1985. - Vol. CAD-4. - P. 3-11. 13. Spillman R., Glaser N., Peterson D. Development of a general testability figure-of-merit // IEEE International conference of Computer-Aided Design. -1983. - P. 3435. 14. BreuerM.A. The Automatic Design of Testable Circuits // Automation Test Program Generation Proceedings of The San Francisco, USA. - 1983. - P. 3-6. 15. Abramovichi M., Breuer M.A., Friedman A.D. Digital systems testing and testable design // IEEE Inc. - 1998. - 760 p. 16. Stroud C.E. A Designer’s "Guide to Built-in Self-Test.” Kluwer Academic Publishers, 2002. - 320 p. 17. Kulak E., KaminskayaM., Parfentiy A., Guz O. Analysis of the Testability of the High Complexity Digital Devices // CADSM’2005. - 2005. - Lviv-Poliana. - P. 331-333. 18. Raik J., Nommeots T, Ubar R A New Testability Calculation Method to Guide RTL Test Generation // JOURNAL OF ELECTRONIC TESTING: Theory and Applications. - 2005. - № 21. - P. 71-82. 19. Parker K.P., McCluskey E.J. Probabilistic Treatment of General Combinational Networks // IEEE Trans. on Computers. - 1975. -№ 6. - P. 668-670. 20. Jervan G., Peng Z., Ubar R., Kruus H. A Hybrid BIST Architecture and its Optimization for SoC Testing // IEEE 3rd International Symposium on Quality Electronic Design (ISQED'02). - 2002. - P. 273-279. 21. Ubar R., Jervan G., Peng Z., Orasson E., Raidma R. Fast Test Cost Calculation for Hybrid BIST in Digital Systems // Euromicro Symposium on Digital Systems Design. - 2001. - P. 318-325. 22. Кулак Э.Н., Каминская М.А. Модификация цифровых схем с использованием метода анализа тестопригодности TADATPG // Радиоэлектроника и информатика. - 2005. - № 3. - C. 113-119.

Поступила в редакцию 23.03.2006