Technology of Test Design: DFT & TFD
DFT & TFD
качество превыше всего
DFT - традиционная аббревиатура для "Design for Test", но нетрадиционный
подход к обеспечению
тестопригодности
TFD -вместо традиционного ATPG, чтоб
подчеркнуть двойственность DFT &TFD
в разработке тестового обеспечения (TestWare)
Термин " - тестовое обеспечение
" (TestWare) соединяет все составляющие
качественного тестирования, четко разъясняя заказчику, из чего
складывается качество теста для его схемы:
·
верифицирован ли проект?
·
правильно ли работают шины и двунаправленные магистрали?
·
нет ли избыточности, препятствующей достижению высокого качества теста?
·
тестопригодна ли схема настолько, чтоб автоматически сгенерировать
тест?
·
если схема недостаточно тестопригодна
- можно ли и, самое главное, как и где изменить
схему так, чтобы сделать возможной ATPG?
·
каков прогноз качества теста в ATPG?
- для исходной схемы
- для схемы с рекомендованными тестопригодными изменениями
·
Что же получит разработчик для
схемы с рекомендованными изменениями?
- автоматически сгенерированный тест предсказанного качества с умеренными
затратами
- тест, представленный в заказанном формате
- список проверенных, непроверенных и непроверяемых неисправностей
·
Что же получит разработчик для исходной схемы, если она недостаточно
тестопригодна?
- тоже может получить тест
- качество теста вряд ли превысит предсказанный уровень
- при том, что затраты времени на генерацию теста могут быть большими
В рамках используемой технологии качество раскладывается по его составляющим,
из которых формируется прогноз. Успех технологии в совместном решении трех
задач, см. авторские статьи
·
уверенный прогноз качества теста по оптимистическим оценкам
тестопригодности в зоне уверенной генерации теста
·
эффективность процедуры генерации теста регулярным методом
вычисления последовательностей, свободных от состязаний
·
экономичность генератора
тестопригодных модификаций на базе оценок управляемости и наблюдаемости,
пропорциональных затратам на вычисление теста и построенных по принципу
"выше оценка - выше сложность"
Технология основана на следующем
· все
составляющие выражаются в процентах от идеала, чтобы прояснить их вклад в
качество теста
· строится
модель схемы, анализируется структура, ранжируются биты
бит - это линия,
которой приписано логическое значение
линия
- это вход, триггер, элемент, буферный элемент, выход схемы
+ рассчитывается управляемость,
характеризующая сложность управления битом со стороны входов
+ рассчитывается наблюдаемость,
характеризующая сложность наблюдения бита со стороны выходов
· строится
зона тестопригодности и подсчитывается число
битов
+ где обе оценки хорошие, - и управляемость, и наблюдаемость
+ где каждая хорошая оценка не превышает порога
+ где порог соответствует границе зоны уверенной генерации тестов
+ где пороги хороших оценок выбраны из опыта эксплуатации TwCAD в
промышленности
·
прогноз уточняется по рейтингу верификации
·
прогноз качества теста строится по относительному размеру зоны
тестопригодности; если прогноз неудовлетворительный, ищутся тестопригодные
модификации, для чего
+ проводится отбор лучших тестопригодных модификаций
+ выполняется моделирование внесения модификаций
+ сначала ищутся модификации для улучшения управляемости
+ затем ищутся модификации для улучшения наблюдаемости
· выявляются препятствия к достижению
идеального качества
+ проясняется ситуация с избыточностью
+ перечисляются биты, не прошедшие верификацию
· выполняется ATPG
Внимание:
Далее приводится толкование отчета по DFT
·
сначала дается ориентировка по принципу, что такое хорошо и что
такое плохо
·
затем ответы иллюстрируются выдержками из протоколов обработки реальных
схем, для одой схемы подробно, для другой - только резюме
Что такое хорошо и что такое плохо? Вопросы и ответы таковы:
- Есть ли промахи в разработке схемы, недопонимание каких-то
схемных решений?
- Плохо, если промахи и недопонимание есть - это выясняется
как при моделировании теста заказчика, так и при построении установочных
последовательностей
- Верифицирована ли каждая цепь поочередно в 0, 1, возможно
Z, от сложного к простому?
- Хорошо, если верифицированы все биты и получен рейтинг 100%.
- Найдены ли несостоятельные шины и двунаправленные
магистрали? Вычислить контр примеры, иллюстрирующие неправильную работу
- Плохо, если контр примеры есть.
- Тестопригодна ли схема?
"Да" - означает возможность автоматической генерации теста.
Ответ, который дает TwCAD, не односложный,
а выражается в процентах от идеала.
- Хорошо, если прогноз по тестопригодности близок к
идеальному прогнозу (100%)
- Прогноз выполняется по числу битов в зоне тестопригодности,
где хороши обе оценки - и управляемость, и наблюдаемость. Все биты
попали в эту зону?
- Хорошо, если все 100% битов попадают в зону тестопригодных
- Оценка для бита хорошая, если для него TwCAD
уверенно генерирует тесты. Превышают ли оценки экспериментальный порог,
соответствующего зоне уверенной генерации теста?
- Оценки хороши, когда они не превышают экспериментального порога
- Прогноз делается более реалистичным по рейтингу
верификации. Рейтинг вычисляется по наличию установочных
последовательностей. Насколько рейтинг близок к 100%?
- Хорошо, если рейтинг близок к 100%
- Если прогноз неутешительный, то включается автоматический
генератор тестопригодных изменений ATRG,
улучшающий прогноз качества теста. Как близок прогноз к 100%?
- Хорошо, если ATRG приблизил
прогноз к 100%
- ATRG рекомендует экономичные
изменения. Как много этих изменений?
- Хорошо, если изменений мало, а автоматическая генерация
теста уже возможна
- Разработчик работает с представленным отчетом. Мы должны
объяснить Разработчику как много требуется изменений, и что они дадут?
- Хорошо, если Разработчик нас понимает и находит
компромисс между желаемым качеством теста и необходимыми изменениями схемы
- Каковы препятствия в достижении высокого качества
Поясняются препятствия к достижению идеального 100% качества. Как много
этих препятствий, и каковы они?
- Плохо, если препятствия есть, лучше, если их меньше.
- Хорошо, если разработчику сообщается о найденных препятствиях и по
верификации и по избыточности.
- Хорошо, если разработчик устраняет эти препятствия.
- Для измененной схемы уточняется достижимое качество теста.
Какого качества тест получается, в конце концов?
- Хорошо, если автоматически генерируется контролирующий тест
предсказуемого качества.
- Хорошо, если реально удалось достичь высокого качества теста.
- Для измененной схемы генерируется тест
- Хорошо или не очень, но всегда сообщается не только процент, но и
список неисправностей - проверенных, непроверенных и непроверяемых.
- Качество теста измеряется не только в процентах, но и в гарантии
отсутствия рисков сбоя и гонок, что гарантируется регулярным методом..
- Особое качество теста - это его сегментность, то есть представление в
виде сравнительно коротких независимых последовательностей.
Технология иллюстрируется рассмотрением плохой реальной схемы
Технология двухпроходная
·
на первом проходе анализируется исходная схема, формируются рекомендации
по размещению ТДУ и ТДН и прогноз качества теста
·
на втором проходе анализируется модифицированная схема и создается тест
По каждой из схем разработчик получает:
- отчет по своему тесту, если таковой был предоставлен
разработчиком
- отчет по тесту верификации, спроектированному автоматически,
включая проверку Z-состояний
- отчет о состоятельности шин и двунаправленных магистралей
- отчет по тестопригодности, включая
+ прогноз качества теста
+ препятствия к достижению идеального качества
\ рекомендации по размещению точек дополнительного управления
(ТДУ) для улучшения управляемости и наблюдаемости
\
рекомендации по размещению точек дополнительного наблюдения (ТДН) для улучшения
наблюдаемости
\
график прогнозируемого повышения качества теста по мере добавления ТДУ и
ТДН для планирования изменений схемы
- тест предсказуемого качества
Сведения, отмеченные знаком "\", разработчик получает только на первом проходе.
ТДУ и ТДН получены моделированием возможных изменений
схемы, вместо расплывчатых рекомендаций в других системах!
Отчет по тестопригодности (DFT) для плохой
реальной схемы с именем "GA32" ...
..подумайте,
ведь здесь Вы могли бы найти исчерпывающий отчет по тестопригодности именно
Вашей схемы..
По схеме GA32 разработчиком получено:
- отчет по своему тесту, если он представлен разработчиком
- теста не было представлено
- отчет по тесту верификации, спроектированному
автоматически, включая проверку Z-состояний
- тест с рейтингом 96.4%
- отчет о состоятельности шин и двунаправленных магистралей
- проблем не было отмечено
- отчет по тестопригодности, включая
+ рекомендации по размещению 13 точек дополнительного управления
(ТДУ) для улучшения управляемости и наблюдаемости
+ рекомендации по размещению 6 точек дополнительного наблюдения (ТДН) для
улучшения наблюдаемости
+ прогноз качества теста
- прогноз 64.6% для исходной схемы
- прогноз 92.5% для измененной схемы
+ график изменения прогноза качества теста по мере добавления ТДУ и ТДН
для планирования качества
- Поясняются препятствия к достижению идеального 100%
качества, устранимые только разработчиком
- 12 непроверяемых неисправностей
- 16 недостижимых значений при верификации
- Реально сгенерированный тест для исходной схемы
имеет полноту 73.9%
- Реально разработчик не проводил изменений, поэтому тест
для измененной схемы не строился.
Отчет по DFT содержит
· Подробную
таблицу прогноза по составляющим для тестопригодных изменений, выработанных
автоматически
· Соответствующую им диаграмму
прогнозируемого улучшения качества по мере внесения предложенных рекомендаций
· Перечень
рекомендованных изменений
Диаграмма прогнозируемого улучшения качества по мере
внесения предложенных изменений
Три колонки процентов из
рассматривавшейся таблицы представлены в виде графиков на нижеследующей
диаграмме. Проектировщик
может проследить тенденцию изменения кривых двух составляющих, чтобы оценить их
вклад в итоговую кривую, а также реалистичность рейтинга
·
составляющая управляемости (Controllability)
представлена
коричневой кривой
·
составляющая наблюдаемости (Observability)
представлена синей кривой
· итоговая кривая тестопригодности (Testability) - зеленая
·
итоговая кривая тестопригодности с
рейтингом (Rated Testability) -желтая рейтинг
Прогнозируемое
улучшение качества теста по мере введения дополнительных точек
Попробуем интерпретировать тенденции, по кривым, представленным на диаграмме
- Позиции по оси абсцисс соответствуют последовательному
внесению изменений в схему
- Стартовая позиция "0"
соответствует исходной схеме, имеющей плохой прогноз качества теста на
уровне 67%
- Сопоставляя стартовые уровни управляемости 70% и наблюдаемости 90%
можно отметить, что проблем больше с управляемостью
- Желтая пунктирная вертикальная линия на уровне позиции 13
делит диаграмму на две части - левую и правую
слева, где
добавляются точки дополнительного управления (1:13)
вплоть до насыщения
- зеленая линия тестопригодности растет вслед за коричневой линией управляемости и почти
эквидистантна ей
- синяя линия наблюдаемости растет вслед за коричневой линией управляемости лишь поначалу (6
точек) и не так быстро
справа, где
добавляются точки дополнительного наблюдения (14:19)
вплоть до насыщения
- зеленая линия тестопригодности растет вслед за синей линией наблюдаемости и эквидистантна ей
- коричневая линия управляемости на постоянном
уровне
- синяя линия наблюдаемости
растет как слева (вследствие роста управляемости), так и справа
(рост собственно самой наблюдаемости)
- зеленая линия
располагается всегда ниже как коричневой,
так и синей линий ввиду того, что обе эти
оценки должны быть хорошими
- в точке 13 прогноз управляемости достигает уровня 98%,
далее насыщение коричневой кривой
- в точке 19 прогноз наблюдаемости достигает уровня 99%,
далее насыщение синей кривой
последующая 20я точка по наблюдаемости была отвергнута - указана
лишь для понимания тенденции
- в точке 19 прогноз качества теста достигает уровня 96%, далее полное насыщение
всех трех кривых, включая итоговую зеленую
- очевидно, что идеал в 100% не
достижим ни для одной из трех кривых по ряду причин
- прогноз качества теста достиг лишь уровня 96%, и это ещё притом, что пока рейтинг верификации не учитывался
- учет рейтинга 0.964 снизил и сделал более реалистичным
прогноз качества теста в каждой точке
Характерные моменты в процессе
приближения к 100% качеству
Далее рассмотрим характерные моменты в процессе внесения
тестопригодных изменений, включая три особые позиции приведенной
диаграммы, дополнительную рейтинговую желтую
кривую, а также препятствия к достижению 100% качества
·
Исходная схема
·
Насыщение по управляемости
·
Насыщение по наблюдаемости
·
Учет рейтинга верификации
·
Проблемы, которые препятствуют достижению 100%
качества для схемы GA32
Позиция [0] на оси абсцисс - исходная
схема
Показаны точки с трех кривых коричневого, синего и зеленого цвета в позиции
0.
Построим
область
Хороших оценок управляемости
|
Построим
область
Хороших оценок наблюдаемости
|
Построим
зону тестопригодности как общую зеленую область,
где хорошими являются обе оценки
и управляемость, и наблюдаемость
|
|
|
|
Коричневый сектор 70 %
от всех битов
|
Синий сектор 90%
от всех битов
|
Зеленая область составляет
67 % от всех битов - именно по ней делается прогноз
качества теста.
|
Низкое
качество определяется, в основном, низкой управляемостью.
|
Позиция [13] на оси абсцисс - насыщение по управляемости
Показаны точки с трех кривых коричневого, синего и зеленого цвета в позиции
13.
Оценены и отобраны лучшие точки дополнительного управления (ТДУ). Улучшенные характеристики показаны в сравнении с
исходными характеристиками
|
Оценена
исходная схема
|
Улучшаем
схему по управляемости
|
Коричневая область - область хороших
оценок управляемости
|
Добавив ТДУ, расширим
коричневую область до 98%
|
|
Синяя область - область хороших
оценок наблюдаемости
|
Как
следствие, расширится Синяя область
хороших оценок наблюдаемости 96%
|
|
|
Зеленая общая область, где обе оценки хорошие, составляет 67 % ,
и даже оптимистический прогноз
качества теста по тестопригодности неутешителен
|
Зеленая общая область, где обе оценки
хорошие,
расширилась всего лишь до 94%.
-- оставляет желать лучшего.
|
|
|
|
|
|
На более высоком уровне качество все же оставляет желать лучшего, но теперь в большей степени из-за
наблюдаемости, которая подтянулась вслед за управляемостью с 90% до 96%, но все
еще не достаточна. Поэтому на следующем этапе целенаправленно улучшают
наблюдаемость.
Позиция [19] на оси абсцисс - насыщение по наблюдаемости
Показаны точки с трех кривых коричневого, синего и зеленого цвета в позиции
19.
Оценены и отобраны лучшие точки дополнительного наблюдения (ТДН) в
дополнение к ранее улучшенной управляемости.
Улучшение характеристик показано в сравнении по двум этапам
|
На
предыдущем этапе улучшали управляемость
|
На
этом этапе улучшают наблюдаемость
|
|
Коричневая область расширилась до 98%
|
Область хорошей управляемости неизменна
|
|
|
|
Синяя область была расширена до 96%
|
Добавим ТДН, еще расширив синюю область хороших оценок
наблюдаемости до 98.6%
|
|
|
Зеленая общая область, где обе оценки хорошие,
была расширена до 94%
|
Зеленую область еще раз расширили до
96%.
Качество теста, кажется, уже неплохое..
|
|
|
|
|
|
|
|
|
Качество теста, кажется, уже неплохое -
это именно потому, что обе составляющие и управляемость (98%) и наблюдаемость
(98.6%) - на достаточно высоком уровне. Так ли
все хорошо? Перейдем к следующему шагу
анализа составляющих качества теста..
Рейтинг верификации. Дополнительная желтая
кривая, представленная на диаграмме
В данном случае рассматривается не отдельная позиция на оси абсцисс, как в
предыдущих случаях, а весь график.
Поскольку рейтинг 96.4%<100%, то зеленая кривая тестопригодности опустилась на 3.6% в каждой позиции, превратившись в желтую кривую тестопригодности с рейтингом. В частности,
опустились и три характерные точки, указанные ранее. Сравнение тестопригодности
с учетом рейтинга по мере ее улучшения
Оценка
исходной схемы
|
Улучшение управляемости
|
Улучшение наблюдаемости
|
|
·
70% управляемость низкая
·
90% наблюдаемость
недостаточная
·
67% тестопригодность очень
низкая
· рейтинг 96.4% тоже
недостаточен - это он пока на фоне других низких характеристик не
проявляется
Реальное качество теста, достигнутое в ATPG, составило 73.9%
|
Прирост
тестопригодности 27%
13 точек дополнительного управления,
в среднем по 2% на точку
·
целенаправленно подняли
управляемость до максимально достижимого уровня 98%
·
попутно первые 6 точек
подтянули наблюдаемость до промежуточного уровня 96%, но
этот уровень еще не достаточен
· подняли тестопригодность до
промежуточного уровня 94%
|
Прирост
тестопригодности 2%
6 точек дополнительного наблюдения,
в среднем по 0.3% на точку
· целенаправленно подняли
наблюдаемость до максимально достижимого уровня 98.6%
· подняли тестопригодность до максимально
достижимого уровня 96%
· теперь на фоне высоких оценок составляющих тестопригодности проблема верификации
(всего лишь 96.4%) стала одним из очевидных препятствий к достижению
идеального качества
|
|
|
|
|
Рейтинг верификации получен при генерации теста верификации исходной схемы. Он делает прогноз более реалистичным, учитывая перебор и
проблемы, реально возникающие в ATPG. Процедура
генерации теста верификации менее трудоемкая, чем ATPG.
Прогноз для измененной схемы делался в предположении, что по протоколу
верификации схему пока не исправляли. Если до внесения тестопригодных изменений
разработчик изменит схему, повысив рейтинг по протоколу верификации и по
протоколу контроля состоятельности шин, то это будет еще одна прибавка к
прогнозу и к реальному качеству теста.
Из сравнения видно, с каким, все большим трудом даются более высокие
проценты качества! Например, 6 ТДН дают вместе тот же прирост 2%,
что и ранее в среднем одна ТДУ, но на это приходится идти. Число точек на
каждый дополнительный процент становится больше и больше.. Эффект от внесения
каждой новой точки все меньше и меньше.. Как видно из последней
диаграммы, примерно одинаково влияние на не идеальный прогноз (92.5%) как со стороны не идеальной
тестопригодности (96%), так и не идеального
рейтинга (96.4%). В данном случае на пути к
идеальному качеству коррективы проекта схемы полностью в компетенции
разработчика с учетом проблем, которые
препятствуют достижению 100% качества для схемы GA32.
TwCAD рекомендует место и характер вносимых изменений, но не фиксирует
способ реализации изменений, что относится к компетенции разработчика. Однако,
для того, чтобы сориентироваться в спектре возможных изменений приводится 2 крайних варианта возможных
изменений применительно к схеме GA32
Общие выводы
Вычисляемые
высокие проценты порой обманчивы, как рейтинг верификации в случае GA32. Из анализа становится понятно, что генерация теста -
комплексная проблема. Дело в том, что при кажущейся пристойности составляющих
процентов общий процент качества теста часто получается недостаточным. И мы
здесь показываем, из чего это складывается. Из проведенного обсуждения можно
заключить следующее
· для
достижения качества, близкого к 100%, требуется реально обеспечить все
составляющие качества
управляемость, наблюдаемость,
тестопригодность, верификацию, неизбыточность
·
прогноз качества будет не лучше худшей из характеристик
· согласно
предлагаемой технологии в отчете Tw-CAD досконально и конкретно излагаются
проблемы по каждой составляющей качества
·
предлагаются исчерпывающие решения для каждой схемы индивидуально
·
тест контроля оборудования предоставляется в заказанном формате
·
указывается, какого качество теста реально достигли, не только в
виде общего процента, но и подробно
- список проверенных неисправностей
- список непроверенных неисправностей
- список непроверяемых неисправностей
·
как правило, реальное качество теста не превышает прогнозируемого
качества
·
снижение полноты теста по причине избыточности схемы трудно прогнозировать
·
диаграмма прогноза имеет характерный вид "лестницы качества"
1. поначалу ступеньки высокие и узкие
2. по мере продвижения вверх ступеньки
становятся ниже и ниже, а путь длиннее и длиннее - почти на одном уровне по
нескольку ступенек
3. в конце концов, движение вверх
прекращается по одной из двух причин
- достигли идеального уровня качества в 100%
- возникли препятствия (уперлись в стенку) на пути к достижению идеального
уровня качества в 100%
4. число ступенек варьируется от схемы к
схеме, но в целом тенденция "хуже исходная схема - больше ступенек к идеалу"
сохраняется
5. в статье "Технология
проектирования.. " в разделе "Практика применения
системы TwCAD" приводится
данные для полутора десятка схем, и обсуждаются результаты применения
технологии DFT&TFD
Укажем на устойчивую закономерность вклада в обеспечение
тестопригодности
·
обычно большего со стороны точек дополнительного управления
·
обычно меньшего со стороны точек дополнительного наблюдения
·
наблюдаемость поначалу успешно улучшается вследствие улучшения
управляемости
По этой причине
·
первым темпом улучшают управляемость, делается это даже по достижении
100% прогноза по управляемости, см. пример ga29
·
вторым темпом улучшают наблюдаемость
Пример ga29 - как
видно из дальнейшего в этой схеме - все заботы о наблюдаемости
Попробуем интерпретировать вкратце тенденции, по кривым, представленным на
диаграмме
·
плохая исходная схема
- очень плохая наблюдаемость 55%
- плохая управляемость 84%
- плохой рейтинг 84.5%
- предсказанное качество теста 45.4%
и реально достигнутое качество в ATPG 39.3% близки
· характерные
моменты в процессе приближения к 100% качеству
·
самая 1-ая точка дает резкий скачок качества на 30%
(у зеленой кривой тестопригодности, как у синей кривой наблюдаемости)
·
уже в 4-ой точке управляемость достигает 100%
·
начиная с 4-ой точки, зеленая
кривая тестопригодности повторяет
движение синей кривой
наблюдаемости
·
сама же наблюдаемость растет в
основном вследствие улучшения управляемости
·
лишь последняя 8-ая точка вводится специально для улучшения наблюдаемости
·
в модифицированной схеме (позиция 8 по оси абсцисс)
- управляемость идеальна 100%
- есть проблемы с наблюдаемостью 96.7%
- имеются препятствия к достижению идеального качества в модифицированной схеме
= низкий рейтинг верификации (84.5%)
катастрофически ограничивает качество, см. желтую
кривую
= высокая избыточность по
управляемости 3.8%
= высокая
избыточность по наблюдаемости
7.3%