Повышение качества теста на основе технологии boundary scan

system using a single-level implementation of Mealy FSM. The optimal encoding of microinstructions permits to decrease the amount of the terms of the system of excitation functions to the amount of the direct structural table lines of initial Mealy FSM.

The method is the most effective if L+R>2R2 and if N,...,20. The researchers of authors shown that under such conditions the cost of the Mealy FSM U2 circuit can be 20% less than cost of single-level circuit of equivalent Mealy FSM.

References: 1. Baranov S. Logic Synthesis for Control Automata — Kluwer Academic Publishers, 1994. 312 pp. 2. Grushnitsky R.I., Mursaev A.H., Ugrjumov E.P. Design of the systems using microcircuits of programmable logic — Petersburg: BHV, 2002. 636pp (in Russian). 3. Solovjev V. V. Design of the functional units of digital systems using programmable logic devices. Minsk: Bestprint, 1996. 252pp (in Russian). 4. Barkalov A.A. Synthesis of control units on programmable logic devices. Donetsk: DNTU, 2002. 262pp (in Russian). 5. Barkalov A.A, Palagin A.V. Synthesis of microprogram control units. Kiev: IC NAC of Ukraine,

УДК 519.713:681.326

ПОВЫШЕНИЕ КАЧЕСТВА ТЕСТА НА ОСНОВЕ ТЕХНОЛОГИИ BOUNDARY SCAN

КАКАЛОВ В.И., КАМИНСКАЯ М.А., ЕГОРОВ АА, ПОБЕЖЕНКО И.А.

Предлагается метод повышения качества теста в процессе моделирования неисправностей цифровых систем, основанный на стандарте IEEE 1149.1 Boundary Scan и тестопригодном анализе линий схемы в целях введения дополнительных точек контроля, вычисленных по технологии CAMELOT.

1. Введение

Актуальность исследования определяется необходимостью повышения быстродействия средств моделирования, улучшения качества теста и уменьшения его размерности для цифровых систем на кристаллах, имеющих миллионы вентилей. Высокие затраты, обусловленные трудоемкостью верификации функционально- и структурно-сложных схем, могут достигать 70% от общего времени разработки проекта. Для снижения таких затрат был разработан стандарт IEEE 1149.1 Boundary Scan, предназначенный для уменьшения времени синтеза тестов, моделирования неисправностей и диагностирования физических дефектов на стадиях производства и эксплуатации цифровых изделий . Однако соединить преимущества упомянутого стандарта с известными методами генерации тестов и анализа их качества — непростая проблема, связанная с оптимизацией функционала f = <T, F, Y>, заданного параметрами: <тест, проверяемые дефекты, выходы схемы>. Частичное решение этой проблемы рассматривается ниже.

Обьект тестирования — цифровая схема, представленная структурно-функциональной моделью.

РИ, 2004, № 3

1997. 136 pp (in Russian). 6. Solovjev V.V. Design of digital systems using the programmable logic integrate circuits. Moscow: Hot line — Telecom, 2001. 636 pp (in Russian).

Поступила в редколлегию 30.03.2004

Рецензент: д-р техн. наук, проф. Хаханов В.И.

Alexander Barkalov, Doctor of Technical Science, professor of The University of Zielona Оуга, Faculty of Electrical Engineering, Computer Science and Telecommunication, Institute of Computer Engineering and Electronics. Address: ul. Podgуma, 50, 65-246 Zielona Оуга, Poland.

Phone: (+48 68) 328 2693. E-mail: a.barkalov@iie.uz.zgora.pl

Arkadiusz Bukowiec, M.Sc.,

university assistant, University of Zielona Gora, Faculty of Electrical Engineering, Computer Science and Telecommunication, Institute of Computer Engineering and Electronics. Address: ul. Podgуma,

50, 65-246 Zielona Gуra, Poland.

Phone: (+48 68) 328 2526. E-mail: a.bukowiec@iie .uz .zgora.pl

Цель исследования - получение минимального теста путем введения дополнительных наблюдаемых линий, используемых в технологии Boundary Scan.

Задачи исследования:

1) минимальное увеличение количества наблюдаемых линий, обеспечивающего повышение качества фиксированного теста до 100% ;

2) минимизация фиксированного теста, имеющего 100% качество, путем увеличения количества наблюдаемых линий и решения задачи покрытия;

3) определение минимального числа дополнительных наблюдаемых линий цифрового устройства на основе метода CAMELOT.

2. Boundary scan архитектура

С начала 80-х годов активно внедряются технологии тестопригодного, а в последнее время и производственно-пригодного проектирования цифровых изделий, ориентированного на непрерывность процесса превращения проекта в производимое электронное изделие. Такая тенденция, впервые отмеченная в 2001 году, получила название “Design for Manufacturability — проектирование для производства” [1]. Это означает не только встроенное самотестирование (BIST), но и встроенное самовосстановление (BISR), а также отказоустойчивость и надежность. Концепция WYSIWYG — what you see is what you get — осталась в прошлом. При этом проблема логического проектирования, связанная с отказоустойчивостью и ремонтопригодностью переносится в плоскость введения избыточности на благо производства — Manufacturability.

Для решения упомянутой проблемы широко используется стандарт Boundary Scan IEEE 1149.1 [2] в целях упрощения тестирования печатных плат, который имеет также и другое наименование — JTAG, по названию группы его создателей — Joint

85

Test Action Group. В 1994 году в него включено описание языка Boundary-Scan Description Language (BSDL). В настоящее время большинство выпускаемых электронных устройств поддерживает boundary scan технологию тестирования (Xilinx, Atmel, Altera). Методика тестирования с использованием boundary scan архитектуры реализована практичес -ки во всех типах электронных чипов: CPU, ASIC, PLD. Плата устройства представлена конструктивными примитивами, каждый из которых окружается boundary scan регистром и имеет TAP-контроллер. Boundary scan технология дает возможность тестировать как межсоединения, так и конструктивные элементы, находящиеся на плате цифрового устройства.

Для расширения концепции Boundary Scan на функциональные примитивы в масштабе одного чипа был разработан стандарт IEEE P1500 [3]. Он имеет две составляющие: техническое обеспечение и язык тестирования ядра (core test language - CTL). Основное достоинство стандарта заключается в том, что он может обеспечить сканирование (наблюдение) не только выходных, но и внутренних переменных цифровой системы как на плате, так и на кристалле (рис. 1).

Рис. 1. Сканирование компонентов кристалла

Инструкции, поддерживаемые стандартом, обеспечивают режимы сканирования и тестирования компонентов System on Chip (SoC). Каждый из них подключается к TAP-контроллеру и тестируется как независимая схема, которая должна иметь отдельный тест, TAP-контроллер, регистр команд, boundary scan регистр и дополнительную логику для декодирования команд. Использование стандарта позволяет проверять как дефекты, так и функционирование устройства. Недостаток: существенное увеличение времени тестирования SoC.

Для достижения поставленной во введении цели необходимо обеспечить сканирование внутренних линий схемы, которые являются слабоуправляемыми и наблюдаемыми (см. рис. 1) с позиции тестируемости [4].

Какие возможности дает технология boundary scan для повышения быстродействия средств синтеза тестов и их анализа в целях оценки их качества относительно одиночных константных неисправностей? Для ответа на данный вопрос необходимо прежде всего формализовать процесс тестирования цифрового устройства.

86

3. Математическая модель тестирования дефектов

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

f = <T, F, Y>,

где T = (Ті, Т2, ... , Tn) — тест (его мощность равна n); F — проверяемые дефекты с предельной мощностью 2k (их количество или процентное соотношение проверенных к общему числу линий в схеме k); Y = {y, Z} — выходы схемы y, дополненные наблюдаемыми (сканируемыми) внутренними линиями Z.

На основе введенного функционала можно формализовать решение шести практически значимых задач, представленных в табл. 1.

Таблица 1

No T F Y Functions

1 t t - F = f

2 - t t F = f

3 і - t T = f

4 t - і Y = f

5 і і - T = f

6 - і і Y = f

Краткое описание задач, являющихся производными трехмерного функционала (1), может быть представлено в следующем виде:

1. F = f(T,Y = const) — классическая задача синтеза теста, когда повышение его качества достигается путем увеличения его размерности. На рис. 2 изображен график функциональной зависимости 1 (в соответствии с нумерацией, приведенной в табл. 1) качества теста от его размерности, где P(T) — мощность теста, FC(%) — полнота покрытия (Fault Coverage) одиночных константных неисправностей заданным тестом. Здесь и далее на других графиках рассматривается пример цифровой схемы, содержащей 432 вентиля и 7 выходов, для которой построен псевдослучайный тест мощностью-2000 векторов c качеством 65%.

РИ, 2004, № 3

2. F = f(T = const, Y) — задача, связанная с тестопригодным проектированием, когда практически невозможно достигнуть требуемого качества теста путем повышения его мощности: в этом случае необходимо вводить дополнительные линии наблюдения (контроля). Их наличие позволяет повысить качество теста до требуемой величины, о чем свидетельствует функциональная зависимость, представленная на рис.3, где дополнительные линии наблюдения генерировались случайным образом. Здесь введение 36 дополнительных выходов позволило повысить качество сгенерированного теста от 65 до 100 %.

3. Т = f(F = const, Y) — уменьшение длины теста путем увеличения числа наблюдаемых линий при сохранении достигнутого качества проверяющих последовательностей — используется, когда для проекта более критичной является размерность теста. График зависимости, представленный на рис.4, иллюстрирует функцию предпочтения при фиксированной полноте теста: следует ли уменьшать длину теста за счет увеличения числа наблюдаемых выходов или наоборот. Любая точка, принадлежащая данной кривой, имеет две координаты (длину теста, число наблюдаемых выходов), которые формируют одинаковое качество теста, в данном случае, равное 100%.

Р(Т)*100

Рис. 4. График зависимости 3

4. Y = f(T,F = const) — уменьшение числа наблюдаемых линий (выходов) путем увеличения длины теста при сохранении достигнутого качества проверяющих последовательностей — используется, когда для проекта более критичным является количество выходов или сканируемых линий. График зависимости, представленный на рис. 5, иллюстри-

рует инверсную по отношению к предыдущей функцию предпочтения при фиксированной полноте теста: следует ли уменьшать число наблюдаемых выходов за счет увеличения длины теста или наоборот. Здесь также любая точка, принадлежащая кривой, задает координаты (длину теста и число наблюдаемых линий), соответствующие одинаковому качеству теста.

Рис. 5. График зависимости 4

5. Т = f(F,Y = const) — уменьшение длины теста благодаря более оптимальному решению задачи покрытия всех неисправностей найденным подмножеством тестовых последовательностей, обладающих тем же качеством, что и исходный тест. В соответствии с представленной функциональной зависимостью (рис. 6) существует некоторая избыточность теста (люфт) для покрытия заданного множества неисправностей. Иными словами, одна и та же неисправность может быть проверена несколькими тестовыми векторами, что является позитивным фактором для диагностирования дефектов, но избыточно для проверки неисправностей. Устранить существующую избыточность можно путем решения задачи покрытия (методами Квайна, Петрика), которая позволяет получить квазиоптимальное решение, не прибегая к полному перебору.

Рис. 6. График зависимости 5

6. Y = f(T = const, F) — уменьшение числа наблюдаемых линий (выходов), благодаря более оптимальному решению задачи определения дополнительных выходов или исключению несущественных линий из списка наблюдаемых (сканируемых) при сохранении качества теста. В соответствии с представленной функциональной зависимостью (рис. 7) может существовать некоторая избыточ-

РИ, 2004, № 3

87

ность наблюдаемых выходов для проверки заданного множества неисправностей. Иными словами, одна и та же неисправность может быть проверена по нескольким выходам, что является позитивным фактором для диагностирования дефектов, но избыточно для их проверки. Устранить существующую избыточность выходных линий можно также путем решения задачи покрытия, когда каждой неисправности, проверяемой на тест-векторе, ставится в соответствие множество выходов, на которых она проверяется. Затем находится минимальное количество выходов, необходимых для проверки заданных дефектов, что и будет решением данной задачи.

P

Рис. 7. График зависимости 6

Первые две задачи ориентированы на достижение требуемого качества теста (например, 100%) в режиме дополнения векторов или линий наблюдения; остальные четыре—на квазиоптимизацию функционала (1) или минимизацию параметров длины теста и числа наблюдаемых линий при сохранении достигнутого качества. В этом случае уместно говорить о двух фазах стратегии синтеза теста: 1) режим дополнения (расширения) теста и линий наблюдения; 2) режим минимизации теста и линий наблюдения. Основные шаги стратегии и выбора режимов представлены на рис. 8.

Рис. 8. Две фазы стратегии синтеза теста

После моделирования неисправностей, проверяемых сгенерированным тестом, оценивается его качество покрытия дефектов. Если FC не равно 100%, то работает фаза 1, содержащая 2 способа повышения FC: 1) псевдослучайно или по методу CAMELOT [4] определяются дополнительные линии наблюдения или выходы; 2) выполняется генерирование дополнительных тестовых последовательностей. Если FC равно 100%, включается фаза 2, содержащая следующие альтернативы: 1) минимизация теста путем решения задачи покрытия; 2) минимизация количества наблюдаемых выходов, достаточного для проверки всех неисправностей, формирующих качество теста.

4. Структурный анализ схемы

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

Для формализации процесса поиска дополнительных линий наблюдения вводится модель, зависящая от следующих параметров:

Z = f (S, T, С, O, T*),

где S—структура схемы; T—тест; С—управляемость линий; О — их наблюдаемость; Т* — тестируемость.

Общее количество наблюдаемых выходов (априорных и дополнительных) определяется следующим множеством:

Y = {Z,R,y},

здесь Z — количество дополнительных линий в схеме, подлежащих определению по методу CAMELOT; R—множество сходящихся разветвлений, которые не проверяются базовым тестом; у — априорные выходы схемы.

В общем случае дополнительные выходные линии определяются путем вычисления наблюдаемости O(Xj) всех переменных схемы. После этого необходимо выбрать совокупность таких линий Xj, которые удовлетворяют наперед заданному пороговому значению наблюдаемести O(Xj) или тестируемости T*(Xj):

Xi eY ^ [O

Из множества Y следует исключать все входные линии схемы. Кроме того, при прочих равных характеристиках тестопригодности предпочтение следует отдавать сходящимся разветвлениям R.

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

88

РИ, 2004, № 3

и тестопригодности для каждой линии схемы. Для этого нужно использовать следующие определения.

1. Управляемость — количественная мера способно -сти устройства генерировать на рассматриваемой линии значение 0 или 1, которая зависит от логической функции устройства и уменьшается по мере отдаления линии от внешних входов схемы:

C

где С; =

— коэффициент пе-

редачи управляемости; N0,(N|) — число всех способов установки логического нуля (единицы) на

n П

линии; С*(Х;) = ^ С(Х;)/ £ X; — среднее арифме-i=i i=i

тическое управляемостей входов примитива.

2. Наблюдаемость — количественная мера способности устройства транспортировать состояние рассматриваемой линии на внешние выходы схемы, которая зависит от логической функции устройства и уменьшается по мере отдаления линии от внешних выходов схемы:

O(Xi) = Oi • O(Y) • С (Xi),

где O; =

— коэффициент пе-число наборов, акти-

редачи наблюдаемости; Ta визирующих Xj на выход примитива; Tb — число наборов, блокирующих активизацию Xj на выход

примитива; 0(Х; ) — наблюдаемость внутренней линии. Наблюдаемость внешних выходов схемы O(Y) = 1.

3. Тестируемость — мультипликативная количественная оценка способности устройства транспортировать управляемость (наблюдаемость) рассматриваемой линии на внешние входы (выходы) схемы, которая зависит от логической функции устройства и уменьшается по мере отдаления линии от внешних входов (выходов) схемы:

T* = C

Пример. Для схемы, представленной на рис. 9, построить тест проверки одиночных неисправностей с использованием структурного анализа тестопригодности для определения дополнительных выходов, преобразующий базовый неполный тест в полный, имеющий 100% качество.

Рис. 9. Схема для структурного анализа

В соответствии с правилами (4) — (6) можно вычислить контролируемость, наблюдаемость и тестируемость для линии с идентификатором “а”:

С(а) = С; • ((С(6) + С(7) /2) = 0,5 -1 = 0,5;

O(a) = 0; • O(c) • С(5) = 0,5 • 0,0033 = 0,0017;

T(a) = O(a) • C(a) = 0,5 • 0,0017 = 0,00085.

Аналогично вычисляются показатели тестопригодности для всех остальных линий схемы (табл. 2).

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

Из диаграммы видно, что в соответствии с (3), при Tmax = 0,0033, только три внутренние линии (a, b, c) по величине наблюдаемости (0,0017; 0,0013; 0,0033) удовлетворяют выражению (3). Среди них линия “с” является к тому же сходящимся разветвлением. Их дополнение к множеству выходных линий позволяет получить базовый неполный псевдослучайный тест, содержащий 56 векторов (85%) полным, имеющим 100% качество. Однако после применения фазы минимизации количества наблюдаемых линий (см. рис. 8) из множества Y исключается линия “а”. Таким образом, окончательное решение — множество дополнительных наблюдаемых линий, превращающих тест в полный, есть Y= {b,c}.

Таблица 2

№ C

1 1 0,001 0,001

2 1 0,0005 0,0005

3 1 0,0005 0,0005

4 1 0,0005 0,0005

5 1 0,0012 0,0012

6 1 0,0008 0,0008

7 1 0,0008 0,0008

8 1 0,0023 0,0023

9 1 0,107 0,107

10 1 0,105 0,105

a 0,5 0,0017 0,00085

b 0,75 0,0013 0,0009

c 0,375 0,0033 0,0012

d 0,281 0,007 0,0019

e 0,344 0,006 0,0021

f 0,344 0,0134 0,0046

g 0,320 0,014 0,0045

h 0,164 0,084 0,0137

l 0,334 0,0625 0,0209

m 0,336 0,0134 0,0045

n 0,336 0,0622 0,139

k 0,139 1 1

РИ, 2004, № 3

89

Рис. 10. Диаграмма тестопригодности схемы 5. Заключение

Научная новизна проведенных исследований определяется следующими пунктами:

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

2. На основе упомянутой модели разработана стратегия синтеза тестов и моделирования неисправностей при использовании дополнительных линий наблюдения, включающая две фазы: расширения и уменьшения мощностей тестов и наблюдаемых выходов.

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

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

1. Стандарты Boundary Scan IEEE 1149.1 и IEEE Р1500дают возможность увеличивать количество наблюдаемых выходов схемы, благодаря технологии сканирования состояний внутренних линий, незначительно повышающей время проведения тестирования.

2. Упомянутая технология предоставляет возможность использовать внутренние линии как внешние выходы устройства для существенного (в десятки раз) повышения быстродействия моделирования неисправностей.

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

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

5. Проверка предложенных стратегий синтеза тес -тов и моделирования неисправностей на основе введения дополнительных наблюдаемых линий осуществлена на 10 схемах из библиотеки ISCAS’2000 c помощью средств синтеза тестов и моделирования неисправностей SIGETEST [5]. Результаты: 1) при средней полноте теста 80% необходимо найти и ввести 2-5% дополнительных линий наблюдения, чтобы тест трансформировался в полный; 2) в процессе применения фазы минимизации количества (тест-векторов) наблюдаемых линий мощность множества (T) Y может быть уменьшена на (20-30%) 10-20% соответственно.

6. Фирма Xilinx предложила разработчикам программное средство ChipScope Pro [6], которое позволяет встраивать ядро логического анализатора в проект цифровой системы. Оно дает возможность пользователю наблюдать сигналы на всех внутренних линиях кристалла FPGA.Учитывая такое новшество фирмы Xilinx, разработки, представленные выше, имеют большую практическую значимость, ориентированную на рынок электронных технологий. В самом деле, ядро логического анализатора дает возможность наблюдать все линии. Но такой Core будет иметь соизмеримые с проектом размеры. Следовательно, для их уменьшения будут весьма полезными методы поиска необходимого и достаточного числа наблюдаемых внутренних линий.

Литература: l.Yervant Zorian. Dmytris Gizopoulos. Gest editors’ introduction: Design for Yield and reliability// IEEE Design & Test of Computers. May-June, 2004. Р. 177-182. 2. Abramovichi M, Breuer M.A. Friedman A.D. Digital systems testing and testable design. IEEE Inc. New York. 1998. 760p. 3. Teresa McLaurin, Souvik Ghosh. ETM10 Incorporates Hardware Segment of IEEE P1500 // IEEE Design & Test of Computers. 2002. Р. 8-13. 4. Беннетте Р. Дж. Проектирование тестопригодных логических схем. М.: Радио и связь. 1990. 175с. 5. Hahanov V., Hyduke S. Topological BDP faultsimulation method. Proceeding of EuroMicro Symposium. France, Rennes: INRIA. 2004. P. 356-359. 6. Horgan Jack. FPGA Direction. EDA Cafee. August 2 - 6, 2004.

Поступила в редколлегию 11.09.2004

Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.

Хаханов Владимир Иванович, д-р техн. наук, профессор кафедры АПВТ ХНУРЭ. Научные интересы: техническая диагностика цифровых систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: hahanov@kture.kharkov.ua

Каминская Марина Александровна, магистр ХНУРЭ. Научные интересы: техническая диагностика, медицинская диагностика. Увлечения: история, литература, музыка, психология, педагогика. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-26.

Егоров Александр Андреевич, аспирант ХНУРЭ. Научные интересы: техническая диагностика, проектирование. Увлечения: литература, музыка, педагогика. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-13-26.

Побеженко Ирина Александровна, аспирант ХДАК. Научные интересы: техническая диагностика, проектирование. Увлечения: литература, музыка, педагогика. Адрес: Украина, 61003, Харьков, Бурсацкий спуск, 4, тел. 731-32-82.

90

РИ, 2004, № 3