УДК 681.325.53 О.А. ГУЗЬ
МЕТОДЫ АНАЛИЗА ТЕСТОПРИГОДНОСТИ И ИХ ПРИМЕНЕНИЕ НА РАЗЛИЧНЫХ УРОВНЯХ ПРЕДСТАВЛЕНИЯ ЦИФРОВЫХ УСТРОЙСТВ
Рассматриваются существующие методы анализа тестопригодности цифровых систем на кристалле. Предлагаются новые подходы к тестопригодному проектированию (сокращение времени тестирования устройства и повышение покрытия неисправностей за счет введения избыточности в схему на основе разработанных методов), анализу тестопригодности на вентильном уровне и уровне регистровых передач, стратегия модификации устройства.
1. Состояние проблемы и постановка задачи
Современные инструментальные средства САПР позволяют создавать кристаллы с высокой степенью интеграции элементов. Как результат, тестирование занимает большую часть общих производственных затрат и требует много усилий при генерации тестовых воздействий. Сложность создания тестовых программ для нового устройства также связана с задержками при выходе продукта на рынок.
Тестопригодное проектирование позволяет упростить процедуру разработки и применения типичных тестов. Использование подходов встроенного самотестирования (Built-in Self-test) направлено на максимальное упрощение работы тестировщика, т.е. позволяет автоматически выполнять большинство его задач. Применение BIST - логическое расширение возможностей тестопригодного проектирования [1]. Основная задача таких технологий - поместить генератор тестовых воздействий (Test Pattern Generators) и блок оценки откликов на тест (Output Response Analyser) вокруг тестируемой логики.
Технологии тестопригодного проектирования все шире используются в последние годы. Их задача - уменьшить стоимость тестирования путем введения критериев тестопригод-ности на самых ранних стадиях проектирования. Низкий уровень тестопригодности изделия приводит к увеличению времени и ухудшению качества тестирования изделия как на стадии производства, так и на стадии эксплуатации, что может подорвать шансы производителя на успех при выходе изделия на рынок.
Наряду с низкой стоимостью кристаллов программируемых логических интегральных схем (ПЛИС) и незначительным временем синтеза вычислительных устройств на их основе существует проблема тестирования последних. Она определяется большой размерностью реализации цифровой системы, насчитывающей до 10 миллионов эквивалентных вентилей на одном кристалле и недостаточным быстродействием существующих методов моделирования неисправностей в целях верификации и тестирования цифровых систем.
Комплексное решение упомянутой проблемы возможно при использовании методов анализа тестопригодности трудно поддающихся тестированию устройств, а также различных Ad-Hoc технологий, технологии граничного сканирования - Boundary Scan (IEEE 1149.1 Boundary Scan Standard). Как расширение применения данного стандарта был разработан стандарт IEEE 1500 Standard for Embedded Core Test [2]. Данные технологии позволяют декомпозировать сколь угодно сложную систему на подсхемы, доступные для разрабатываемых или существующих средств синтеза тестов и моделирования.
Цель исследования - разработка моделей, методов и алгоритмов тестопригодного проектирования и их программной реализации для цифровых вычислительных систем большой размерности в целях дальнейшей модификации устройства для повышения процента покрытия неисправностей.
Несмотря на значительные успехи в области проектирования интегральных схем, проблема поиска дефектов и повышения тестопригодности устройства остается актуальной.
В процессе проектирования тестопригодного электронного устройства учитываются такие моменты как анализ тестопригодности (на всех этапах проектирования) и внедрение
в устройство прозрачной по отношению к нормальному функционированию устройства DFT логики (использование стандартов тестопригодного проектирования, как показано на рис. 1). Все эти меры ориентированы на повышение качества теста (процента покрытия неисправностей), процента выхода годных изделий в производство (Yield Ratio) и снижение затрат, обусловленных трудоемкостью верификации функционально- и структурно-сложных схем, которые могут достигать 70% от общего времени разработки проекта. Также с помощью методов тестопригодного проектирования решается проблема сложности (complexity) цифрового устройства: схема может быть разбита на блоки, плохо поддающиеся псевдослучайному тестированию, и к ним могут быть применены методы анализа тестопригодности, ориентированные на детерминированное тестирование.
Рис. 1. Методы повышения тестопригодности цифровой системы
С начала 80-х годов активно внедряются технологии тестопригодного, а в последнее время и производственно-пригодного проектирования цифровых изделий, ориентированного на непрерывность процесса превращения проекта в качественное электронное изделие.
Наиболее известные средства анализа тестопригодности для комбинационных схем -это SCOAP (Sandia Controllability Observability Analysis Program), CAMELOT (Computer-Aided Measure for Logic Testability), VICTOR (VLSI Identifier of Controllability, Testability, Observability, and Redundancy) [3], метод Питерсона. Эти системы были направлены на разработку метода анализа тестопригодности для сложных цифровых систем. Показатели тестопригодности, полученные на высоких уровнях описания цифровых устройств, могут быть использованы: при синтезе тестов для отдельных частей схемы, трудно поддающихся тестированию, и реализации подходов встроенного самотестирования (BIST) или технологий сканирования на таких участках схемы.
2. Повышение качества теста на основе технологии Boundary Scan
Высокие затраты, обусловленные трудоемкостью верификации функционально- и структурно-сложных схем, могут достигать 70% от общего времени разработки проекта. Для снижения таких затрат предполагается использование стандарта IEEE 1149.1 Boundary Scan, который предназначен для уменьшения времени синтеза тестов, моделирования неисправностей и диагностирования физических дефектов на стадиях производства и эксплуатации цифровых изделий. Однако соединить преимущества упомянутого стандарта с известными методами генерации тестов и анализа их качества - непростая проблема, связанная с оптимизацией функционала f = <T, F, Y>, заданного параметрами: <тест, проверяемые дефекты, выходы схемы>, частичное решение которой рассматривается ниже.
Проблема получения теста для проверки заданных неисправностей связана, во-первых, с разработкой эффективных генераторов входных последовательностей, во-вторых - с созданием достаточно быстродействующих симуляторов дефектов, в-третьих - с ограничениями на число наблюдаемых выходов цифрового устройства. В общем случае формализация проблемы может быть представлена в виде следующего функционала:
f = <T, F, Y>, (1)
где Т = (Т1; Т2, ... , Тп) - тест (его мощность равна n); F - проверяемые дефекты с предельной мощностью 2k (их количество или процентное соотношение проверенных к общему числу линий в схеме k); Y = {y, Z} - выходы схемы y, дополненные наблюдаемыми (сканируемыми) внутренними линиями Z.
На основе введенного функционала можно формализовать решение шести практически значимых задач, представленных в табл. 1.
Краткое описание задач, являющихся производными трехмерного функционала (1), может быть представлено в следующем виде:
1. F = f(T, Y = const) - классическая задача синтеза теста, когда повышение его качества достигается путем увеличения его размерности, т.е. функциональная зависимость 1 (в соответствии с нумерацией, приведенной в табл.1) качества теста от его размерности. Здесь и далее рассматривается пример цифровой схемы, содержащей 362 вентиля и 7 выходов, для которой построен псевдослучайный тест мощностью 2000 векторов c качеством 65%.
2. F = f(T = const,Y) - задача, связанная с тестопригодным проектированием, когда практически невозможно достигнуть требуемого качества теста путем повышения его мощности: в этом случае необходимо вводить дополнительные линии наблюдения (контроля). Их наличие позволяет повысить качество теста до требуемой величины, при этом дополнительные линии наблюдения генерировались случайным образом.
Здесь введение 36 дополнительных выходов позволило повысить качество сгенерированного теста от 65 до 100 %.
3. T = f(F = const,Y) - уменьшение длины теста путем увеличения числа наблюдаемых линий при сохранении достигнутого качества проверяющих последовательностей - используется, когда для проекта более критичной является размерность теста. График зависимости, представленный на рис.2, иллюстрирует функцию предпочтения при фиксированной полноте теста: следует ли уменьшать длину теста за счет увеличения числа наблюдаемых выходов, или наоборот. Любая точка, принадлежащая данной кривой, имеет две координаты (длину теста, число наблюдаемых выходов), которые формируют одинаковое качество теста, в данном случае равное 100%.
P (T)*100
6 5 4 3 2 1
0
Рис. 2. График зависимости 3
4. Y = f(T,F = const) - уменьшение числа наблюдаемых линий (выходов) путем увеличения длины теста при сохранении достигнутого качества проверяющих последовательностей - используется, когда для проекта более критичным является количество выходов или сканируемых линий. График зависимости будет представлять инверсную по отношению к предыдущей функцию предпочтения при фиксированной полноте теста: следует ли уменьшать число наблюдаемых выходов за счет увеличения длины теста, или наоборот.
5. T = f(F,Y = const) - уменьшение длины теста благодаря более оптимальному решению задачи покрытия всех неисправностей найденным подмножеством тестовых последо-
Таблица 1
No T F Y Functions
1 t t - F = f (T,Y = const)
2 - t t F = f (T = const,Y)
3 - t T = f (F = const,Y)
4 t - Y = f (T,F = const)
5 - T = f (F,Y = const)
6 - 1 1 Y = f (T = const,F)
-I-U-1-1-1-1-1-1—I—|-^
5 10 15 20 25 30 35 40 45
вательностей, обладающих тем же качеством, что и исходный тест. Существует некоторая избыточность теста (люфт) для покрытия заданного множества неисправностей. Иными словами, одна и та же неисправность может быть проверена несколькими тестовыми векторами, что является позитивным фактором для диагностирования дефектов, но избыточно для проверки неисправностей.
Устранить существующую избыточность можно путем решения задачи покрытия (методами Квайна, Петрика), которая позволяет получить квазиоптимальное решение, не прибегая к полному перебору.
6. Y = f(T = const, F) - уменьшение числа наблюдаемых линий (выходов), благодаря более оптимальному решению задачи определения дополнительных выходов или исключению несущественных линий из списка наблюдаемых (сканируемых) при сохранении качества теста. В соответствии с представленной функциональной зависимостью может существовать некоторая избыточность наблюдаемых выходов для проверки заданного множества неисправностей. Иными словами, одна и та же неисправность может быть проверена по нескольким выходам, что является позитивным фактором для диагностирования дефектов, но избыточно для их проверки.
Устранить существующую избыточность выходных линий можно также путем решения задачи покрытия, когда каждой неисправности, проверяемой на тест-векторе, ставится в соответствие множество выходов, на которых она проверяется. Затем находится минимальное количество выходов, необходимых для проверки заданных дефектов, что и будет решением данной задачи.
В этом случае уместно говорить о двух фазах стратегии синтеза теста:
1) режим дополнения (расширения) теста и линий наблюдения; 2) режим минимизации теста и линий наблюдения.
После моделирования неисправностей, проверяемых сгенерированным тестом, оценивается его качество покрытия дефектов.
Если FC не равно 100%, то существует 2 способа его повышения: 1) псевдослучайно или по методу CAMELOT [4] определяются дополнительные линии наблюдения или выходы; 2) выполняется генерирование дополнительных тестовых последовательностей.
Если FC равно 100%, то существует две альтернативы: 1) минимизация теста путем решения задачи покрытия; 2) минимизация количества наблюдаемых выходов, достаточного для проверки всех неисправностей, формирующих качество теста.
Структурный анализ схемы. В соответствии с ранее сформулированной задачей 2 необходимо определить достаточное и по возможности минимальное количество дополнительных линий наблюдения в целях повышения качества уже сгенерированного теста до наперед заданной величины. Определять их случайным образом не есть эффективное решение задачи. Существуют уже разработанные правила и методики определения линий, таких как сходящиеся разветвления, имеющих низкую оценку тестируемости (управляемости и наблюдаемости). Поэтому необходимо воспользоваться уже накопленным исследователями опытом. Для формализации процесса поиска дополнительных линий наблюдения вводится модель, зависящая от следующих параметров:
Z = f (S, T, С, O, T*),
где S - структура схемы; T - тест; С - управляемость линий; О - их наблюдаемость; Т* -тестируемость. Общее количество наблюдаемых выходов (априорных и дополнительных) определяется следующим множеством:
Y = {Z, R, y}, (2)
здесь Z - количество дополнительных линий в схеме, подлежащих определению по методу CAMELOT; R - множество сходящихся разветвлений, которые не проверяются базовым тестом; y - априорные выходы схемы. В общем случае дополнительные выходные линии определяются путем вычисления наблюдаемости O(X,) всех переменных схемы. После этого необходимо выбрать совокупность таких линий Xi, которые удовлетворяют наперед заданному пороговому значению наблюдаемести O(Xi) или тестируемости T*(Xi):
Х, е Y ^ [O(Xi) < {Omax,Tlx} vХ, e R]. (3)
Таблица 2
№ С(^) О(^) * Т (X!)
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
а 0,5 0,0017 0,00085
Ь 0,75 0,0013 0,0009
с 0,375 0,0033 0,0012
а 0,281 0,007 0,0019
е 0,344 0,006 0,0021
f 0,344 0,0134 0,0046
g 0,320 0,014 0,0045
Ъ 0,164 0,084 0,0137
1 0,334 0,0625 0,0209
т 0,336 0,0134 0,0045
п 0,336 0,0622 0,139
к 0,139 1 1
Из множества Y следует исключать все входные линии схемы. Кроме того, при прочих равных характеристиках тес-топригодности предпочтение следует отдавать сходящимся разветвлениям R.
В целях применения данного выражения необходимо вычислить значения управляемости, наблюдаемости и тестопри-годности для каждой линии схемы. Для этого необходимо использовать следующие определения.
1. Управляемость - количественная мера способности устройства генерировать на рассматриваемой линии значение 0 или 1, которая зависит от логической функции устройства и уменьшается по мере отдаления линии от внешних входов схемы:
С(У) = С, • С*(Х,), (4)
- коэффициент передачи уп-
где С, = (Ч0 -N1 )/(№ + N1) равляемости; К0,(N1) - число всех способов установки логи-
п п
ческого нуля (единицы) на линии; С *(Х;) = ^ С(Х;) / ^ X; -
¡=1 ¡=1
среднее арифметическое управляемостей входов примитива.
2. Наблюдаемость - количественная мера способности устройства транспортировать состояние рассматриваемой линии на внешние выходы схемы, которая зависит от логической функции устройства и уменьшается по мере отдаления линии от внешних выходов схемы:
О (У) = О, • 0(Х,) • С (X,),
(5)
где О; =
(Та -ТЬ)/(Та + ТЬ)
- коэффициент передачи наблюдаемости; Та - число наборов, активизирующих Xi на выход примитива; ТЬ - число наборов, блокирующих активизацию Xi на выход примитива; наблюдаемость внешних выходов схемы О(Х,) = 1.
3. Тестируемость - мультипликативная количественная оценка способности устройства транспортировать управляемость (наблюдаемость) рассматриваемой линии на внешние входы (выходы) схемы, которая зависит от логической функции устройства и уменьшается по мере отдаления линии от внешних входов (выходов) схемы:
Т* = С(У) • О(У). (6)
Пример. Для схемы, представленной на рис. 3, построить тест проверки одиночных неисправностей с использованием структурного анализа тестопригодности для определения дополнительных выходов, преобразующий базовый неполный тест в полный и имеющий 100% качество:
Рис. 3. Схема для структурного анализа
С(а) = С, • ((С(6) + С(7) /2) = 0,5 -1 = 0,5; 0(а) = 01 • 0(с) • С(5) = 0,5 • 0,0033 = 0,0017;
Аналогично вычисляются показатели тестопригодности для всех остальных линий схемы (табл. 2). Из табл.2 видно, что в соответствии с (3), при Ттах = 0,0033, только три внутренние линии (а, Ь, с) по величине наблюдаемости (0,0017; 0,0013; 0,0033) удовлетворяют выражению (3). Среди них линия "с" является к тому же сходящимся разветвлением. Их дополнение к множеству выходных линий позволяет получить базовый неполный псевдослучайный тест, содержащий 56 векторов (85%) полным, имеющим 100% качество. Однако после применения фазы минимизации количества наблюдаемых линий из множества Y исключается линия "а". Таким образом, окончательное решение - множество дополнительных наблюдаемых линий, превращающих тест в полный, есть Y= {Ь,с}.
3. Алгоритмический метод анализа тестопригодности
Существует множество методов анализа тестопригодности цифровых схем, в том числе ориентированных на детерминированное тестирование. Однако при попытке реализовать классические методы авторы столкнулись с рядом проблем, описанных ниже. Это и послужило причиной разработки нового метода анализа тестопригодности и способа модификации схемы по рассчитываемым показателям в целях сведения к нулю непроверяемых неисправностей.
Объект исследования: комбинационные и последовательностью схемы, представленные на вентильном уровне, не ограниченные решениями методов DFT, а также в DFT-системах для комбинационных схем или их частей, плохо поддающихся псевдослучайному тестированию.
TADATPG является алгоритмическим методом, позволяющим осуществлять оценку путем топологического анализа схемы вентильного уровня. Значения тестопригодности вычисляются для каждого узла. Под узлами понимаются эквипотенциальные линии схемы. Вычисляемые показатели предназначаются для сравнительного анализа тестопригодности узлов рассматриваемой схемы. Метод состоит из трех этапов: вычисление показателей управляемости, наблюдаемости и тестопригодности.
Вычисление управляемости. Управляемость СY - количественная мера способности устройства устанавливать на рассматриваемой линии значения 0 (CY0) или значения 1 (CY1). Она зависит от логической функции вентиля и уменьшается по мере отдаления линии от внешних входов схемы. Управляемость может принимать относительное значение, лежащее в промежутке [0;1]. CY = 1 - имеет внешний вход схемы, где можно легко установить логические "0" и "1". CY = 0 - имеет линия, которую нельзя установить ни в одно из логических состояний. Практически значения управляемости большинства линий лежат между границами промежутка [0;1].
В общем случае управляемость входов элементов не 100%, поэтому управляемость выходов должна учитывать способность к передаче как логических значений через элемент, так и значений управляемости на его входах:
где КСY - коэффициент передачи управляемости, определяемый логической функцией элемента (KCY1 - для единичного значения на выходе элемента, KCY0 - для нулевого значения на выходе элемента).
Коэффициент передачи управляемости определяется по формулам:
здесь N(0) (N(1)) - число всех способов установки логического нуля (единицы) на выходной линии элемента; ^ - функция, определяемая формулой
Т(а) = О(а) • С(а) = 0,5 • 0,0017 = 0,00085.
CY0 = KCY 0 CY1(Y) = KCY1•f1.
KCY
0 = N(0) N(1) + N(0);
• KCY
1 = N(1) N(1) + N(0),
CY1 (Х1) + CY (Х2) +... + CYk(Xn)
] /т,
У/0
п
где п - число входов элемента; z0 - наборы входных значений (Хь Х2, ..., Хп), на которых
функция выхода элемента Y дает логический "0"; т - число наборов z0; i,j,___, к е {0,1} и
равны 0, если Хх, X 2, ..., Хп на наборе z0 принимают нулевые значения, и равны 1, если Хх, X 2, ..., Хп на наборе z0 принимают единичные значения; £ - функция, определяемая формулой
х CYi (X) + СУ-"^,) + ...+CYk(Xn)
£1 = [ ^ -^--/р
п
здесь п - число входов элемента; z1 - наборы входных значений (XI, X2, .., Xn), на которых функция выхода элемента Y дает логическую "1"; р - число наборов z1; i,j,_, к е {0,1} и равны 0, если XI, X2, Xn на наборе z1 принимают нулевые значения, и равны 1, если XI, X 2, ..., Xn на наборе z1 принимают единичные значения. Сумма наборов z0 и z1 равна 2п. Например, для двухвходового элемента «И-НЕ» z0 = 1 и z1 = 3, а также р = 3, т = 1, п = 2, отсюда
£0 _ CYl(Xl) + CY1(X2 )/1;
т СУ0^) + CY0 (X,) СУ0^) + СУ1^,) СУ1^) + СУ0^,)
Р = [-1-^ +-1-^+-1-^ ] / 3.
2 2 2
Вычисление значений управляемости узлов схемы начинается с первичных входов и продвигается далее через всю схему к первичным выходам.
Для последовательностных схем определение значений управляемости не сводится к решению системы линейных уравнений, как в классических методах, поскольку схема преобразуется в комбинационную путем разрыва обратных связей.
Вычисление наблюдаемости. Наблюдаемость OY - количественная мера способности устройства транспортировать состояние рассматриваемой линии на внешние выходы схемы. Наблюдаемость может принимать относительное значение, лежащее в промежутке [0;1].
OY = 1 для внешнего выхода. OY = 0, если невозможно обеспечить такие условия, при которых изменение значения в узле приводило бы к изменению значения на первичном выходе. Практически значения управляемости большинства линий лежат между границами промежутка [0;1]. Наблюдаемость узлов в схеме уменьшается от первичных выходов к первичным входам. В общем случае процесс распространения информации о неисправности через элемент зависит как от способности активизировать определенный вход, так и от способности установить фиксированные значения на некоторых или всех других входах устройства, позволяющих активизировать путь к определенному выходу устройства (функция управляемости этих входов) (рис. 4).
Рис. 4. Путь активизации X - Y - РйтоШ: Поэтому наблюдаемость определяется по формуле:
ОУ^— Рйтой) = ОУ(У- РйтоиО • g, где РйтоШ; - первичный выход устройства; X - У - РптоШ; - путь активизации; g -среднее арифметическое значение управляемостей входов, обеспечивающих прохождение активизации с входа X на выход У:
CYi (X) + СУ-"^) +... + СУ1^ ,) g __1_2_п—1
ё п—1 '
здесь п - число входов элемента; X2, ..., Xn-x) - набор входных значений ^а), обеспечивающих активизацию пути Xn - У, у,..., к е {0,1} и равны 0, если X1, X2, ..., Xn-x на наборе zа принимают нулевые значения, и равны 1, если X!, X2, ..., Xn-x на наборе zа принимают единичные значения.
Например, для трехвходового вентиля «И» ОУ^^РптоШ^ОУ^-РгтоШ) • [СУ^^+СУ1^) ]/2. Выбираются СY1(X2) и СY1(X3), потому что X;, = X3 = 1 обеспечивают активизацию пути с входа XI на выход У вентиля. Если у элементов отсутствуют входы активизации, а следовательно, и zа, то g = 1. Примером таких элементов являются инвертор и повторитель. У них один вход и один выход, причем наблюдаемость входа равна наблюдаемости выхода.
В случае сходящихся ветвлений наблюдаемость линии ветвления определяется как среднее арифметическое наблюдаемостей этой линии по каждому из путей:
ОУ(У- и) = [ £ ОУ(У - и)] Л ¡=1 1
В данном случае не выбирается путь минимальной длины, рассчитывая на то, что остальные пути при построении теста будут блокироваться, а учитывается наблюдаемость по каждому из путей, поскольку может возникнуть ситуация, когда блокировка неосуществима.
Наличие ветвления на выходе устройства позволяет наблюдать его состояние на нескольких первичных выходах схемы. Состояние узла У может наблюдаться на первичном выходе РгтоиЙ и на первичном выходе РптоШ;2. Можно вычислить оба значения наблюдаемости - ОУ(У - РптоШ!) и ОУ(У - РптоШ;2).
В случае, когда в схеме присутствует разветвление выхода на любом из рангов схемы, неисправности могут дублироваться, поэтому при вычислении наблюдаемости и управляемости необходимо учитывать количество таких линий разветвления.
Для случая ветвления выхода наблюдаемость линии ветвления определяется по формуле: ОУ(У- (Рптои 1, Рйтой2)) = 1 - ([1 - ОУ(У- РйтоиП)] • [1 - ОУ(У- Рйтой2)]).
Вычисление значений наблюдаемости узлов схемы начинается с первичных выходов и продвигается далее через всю схему к первичным входам.
Определение тестопригодности.
Простая мера тестопригодности узла может быть получена перемножением значений его управляемости и наблюдаемости:
ту0(У) = су0(У)• оу(у); ту1(у) = су1(у)• оу(у); ту(у) = (ту0(У)+ту1(у))/2,
где ТУ0(У)(ТУ1(У)) - 0 - тестопригодность (1- тестопригодность) узла У; ТУ(У) -
тестопригодность узла У.
Общий показатель тестопригодности всей схемы должен представлять собой меру средней трудоемкости получения теста для узла схемы, следовательно, эта мера может быть представлена как среднее арифметическое значение тестопригодностей всех узлов схемы, т.е.
ТУсхемы = [£ ту(у1 )]/Ь,
,=1
ТУсхемы- тестопригодность всей схемы; Ь - количество узлов схемы.
Для удобства интерпретации результатов берется корень восьмой степени значений управляемости, наблюдаемости, тестопригодности.
Стратегия выбора точек для модификации комбинационной схемы. Разработанный метод позволяет осуществлять простую процедуру выбора точек для модификации схемы.
Стратегия выбора точек для модификации комбинационной схемы состоит в следующем: выбираются 3% линий с минимальными значениями СУ0 (кроме внешних входов и выходов), при этом к выбранным линиям добавляются еще те, которые имеют значение показателя, равное максимальному, из 3% выбранных, если таковые имеются. Обычно линий с одинаковыми значениями показателей сравнительно мало - это особенность метода оценки. То же самое делается со значениями СУ1 и ОУ. Полученные множества точек объединяются.
Способ модификации комбинационной схемы: на каждую линию схемы ставится ячейка, которая должна обеспечить 100%-ную управляемость (наблюдаемость) выбран-
ной линии, при этом она должна быть абсолютно прозрачной для нормального режима работы схемы, а также должна просто тестироваться. Для уменьшения числа дополнительных входов и выходов ячейки объединяются в сдвиговый регистр, аналогичный пути сканирования в структурных методах тестопригодного проектирования. Ячейка регистра граничного сканирования (IEEE 1149.1 Boundary Scan standard [5]) вполне удовлетворяет перечисленным требованиям, за исключением ее размера.
Стратегия модификации синхронных последовательностных схем: на каждую из линий всех локальных и глобальных обратных связей ставится ячейка сканирования для комбинационной схемы.
Стратегия модификации асинхронных последовательностных схем: все триггеры удаляются из схемы, в результате получается комбинационная схема. Далее для полученной таким образом комбинационной схемы рассчитываются показатели тестопригодности.
Кубический алгоритм анализа тестопригодности. Такой подход анализа тестоп-ригодности разработан для структур, представленных на вентильном уровне и на уровне регистровых передач. Алгоритм основан на вероятностном подходе вычисления вероятности появления на той или иной линии устройства константной неисправности логического нуля либо единицы. Значения тестопригодности на первичных входах равны 0,5 (так как первичные входы можно легко установить в значение логического нуля либо единицы). Значения тестопригодности вычисляются от первичных входов схемы до первичных выходов и изменяются в диапазоне от 0,5 до 0. Ноль имеет линия, которую невозможно установить ни в одно из логических значений.
Значения тестопригодности зависят от значений тестопригодности на линиях схемы, принадлежащих предыдущему рангу схемы (r - 1), и от коэффициента распространения логического значения (K(0), K(1)) сквозь блок схемы от его входов к выходам.
Коэффициент распространения вычисляется по формулам:
K(0) = n(0) • K(1) = n(1) • W n(0)+n(1)' K> n(0)+n(1)'
Значения тестопригодности могут быть вычислены по следующим формулам:
T 0 (X i+1) = K(0) • п T 0 (X i); T1 (X i+1) = K(1) -ft T1 (X;); i=1 i=1 где n(1), (n(0)) - количество векторов, которые позволяют установить выход устройства в логическую единицу (логический ноль); m - количество входов в логическом блоке.
Значения тестопригодности вычисляются для каждой видимой внешней и внутренней линии устройства (линии, которые связывают логические блоки схемы). В случае, когда в схеме присутствуют ветвления, формулы вычисления тестопригодности сводятся к следующему виду:
P0 (X i+1) = K(0) - п P0 (Xi) - 2k+1; P1 (X i+1) = K(1) - п P1 (X i) - 2 k+1; i=1 i=1 где k - количество расходящихся ветвлений.
4. Выводы
Разработан метод расчета показателей тестопригодности, а также стратегии выбора точек для модификации схемы и способ модификации схемы в целях увеличения ее тестопригодности, для сведения к нулю непроверяемых линий схемы. Исследуемые классические методы анализа тестопригодности и метод TADATPG были реализованы программно в рамках системы SIGETEST. В качестве исходного описания схем использовалось VHDL-описание, система SIGETEST конвертировала его во внутреннюю модель представления схемы, которая использовалась реализованными методами анализа тестоп-ригодности. Моделирование неисправностей в системе SIGETEST производилось топологическим дедуктивным методом, изложенным в [6]. Методы были апробированы на примерах схем различной сложности, в том числе на схемах из библиотеки ISCAS'85, ISCAS'89, ISCAS'99.
Экспериментальные исследования показали, что разработанные методы являются более адекватными по сравнению с классическими методами в контексте проблем, описан-
ных выше. Показатели с нулевыми значениями встречаются только в больших схемах. Например, при точности вычислений 10-31 в схеме с50000 ISCAS'85 2% линий из 49996 имеют показатели с нулевыми значениями. Рассчитываемые по методу TADATPG показатели позволяют простым способом выбирать участки схемы для ее модификации в целях сведения к минимуму непроверяемых неисправностей. Однако корреляция между значениями тестопригодности и числом проверяемых неисправностей (качеством теста) не всегда имеет место, поэтому минимизация аппаратурных затрат по рассчитываемым показателям не представляется возможной.
Преимущества методов TADATPG и кубического метода анализа тестопригодности:
1) простота при анализе последовательностных схем (не нужно решать систему линейных уравнений);
2) простота в выборе точек для модификации схемы;
3) простота и регулярность способа модификации схемы, что упрощает автоматизацию процесса ее анализа и синтеза (модификации);
4) полная проверка добавляемых ячеек независимо от остальной части схемы;
5) возможность обеспечить высокий уровень тестируемости схемы (минимум или ноль непроверяемых линий) до генерации теста.
Недостаток: увеличение времени тестирования за счет чередования SP и F режимов для продвижения части тестового вектора к внутренним точкам схемы и сдвига откликов на тест к наблюдаемому выходу.
Список литературы: 1. Abramovichi M., Breuer M.A., Friedman A.D. Digital systems testing and testable design. IEEE Inc. New York, 1998. 760p. 2. TeresaMcLaurin, Souvik Ghosh. ETM10 Incorporates Hardware Segment of IEEE P1500 // IEEE Design & Test of Computers. 2002. Р. 8-13. 3. Rutman R. A. Fault Detection Test Generation for Sequential Logic Heuristic Tree Search. IEEE Computer Repository Paper, 1972. R-72-187. 4. IEEE P1500/D11. January 2005. Draft Standard Testability Method for Embedded Core-based Integrated Circuits. New York, 2005. 138p. 5. Hahanov V., Hyduke S. Topological BDP faultsimulation method. Proceeding of EuroMicro Symposium. France, Rennes: INRIA. 2004. P. 3 56-3 59. 6. IEEE Std 1149.6-2003. Standard for Boundary-Scan Testing of Advanced Digital Networks. New York, 2003. 139p.
Поступила в редколлегию 26.08.2006
Гузь Олеся Алексеевна, аспирантка кафедры АПВТ ХНУРЭ. Научные интересы: проекти-роание и верификация цифровых систем на кристаллах. Увлечения: плавание. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.
УДК 519.23
А.В. ОМЕЛЬЧЕНКО
СИНТЕЗ РОБАСТНЫХ ПРАВИЛ КОЛЛЕКТИВНОГО РАСПОЗНАВАНИЯ ОБЪЕКТОВ
Синтезируются робастные правила коллективного распознавания объектов, заданных обучающими выборками. Обосновывается процедура взвешенного голосования при многоальтернативном распознавании объектов. Предлагается способ взвешенного голосования в расширенном множестве решений и показывается, что при отклонении от модельных предположений он позволяет обеспечить меньшую вероятность ошибки распознавания объектов по сравнению с известными способами голосования.
Введение
Для распознавания объектов различной природы разработано множество решающих правил. Эффективность распознавания объектов может быть повышена за счет согласования решений, принимаемых отдельными правилами. Пути повышения достоверности решений при распознавании объектов коллективом автоматов рассмотрены в работе [1].
Однако в большинстве случаев априорное описание распределений признаков, представляющих распознаваемые объекты, является неполным. Зачастую имеются лишь обучающие выборки признаков, а относительно законов их распределения сформулированы только некоторые предположения. В этих условиях эффективность решений, выносимых