Ами ГОРОДЕЦКИЙ, к. т. н. (JTAG.TECT)
Покрытие неисправностей
и полнота JTAG-тестирования
Одним из параметров качества и приемлемости любого теста, в частности ^Ав-теста, является полнота покрытия им дефектов, в численной форме описывающая, насколько данный тест хорош. Вкратце эта тема уже была затронута в [ПЭ. 2007. № 8], где отмечалось, что среди важнейших факторов, влияющих на получение ^Ав-теста с тем или иным уровнем покрытия, — особенности топологии тестируемой схемы. Здесь мы рассмотрим основные схемные конфигурации, содержащие как ИС ^Ав, так и ИС, не содержащие структур ^Ав (неОТАв), с точки зрения полноты покрытия неисправностей в них, начав с некоторых неформальных определений.
Физическим дефектом печатной платы мы будем называть любое нарушение электрических связей в цепях ПП. При тестировании дефект может проявлять себя в виде той или иной неисправности, то есть отклонения полученного результата тестирования от ожидаемого. Определенные дефекты, разумеется, никак себя не проявляют при тестировании, но мы здесь ограничимся рассмотрением лишь таких результатов тестирования, которые фиксируют наличие некоторой неисправности. Например, если контакт ИС не припаян к проводнику на плате или в самом проводнике имеется обрыв, то такой дефект монтажа может проявляться в виде константной неисправности «лог. 1» или «лог. 0» в том или ином месте схемы. Другим примером дефекта монтажа является короткое замыкание между двумя или более цепями схемы, возникающее в результате неверной пайки или по другим причинам. Такой дефект монтажа может проявляться в виде последовательности сигналов, которая отличается от ожидаемой в данной цепи и совпадает с последовательностью сигналов, обнаруживаемой в других цепях.
Обнаружение неисправностей при тестировании в виде отклонения ожидаемых сигналов от фиксируемых указывает на наличие физических дефектов в ПП. Полнотой покрытия неисправностей, достигаемой при тестировании данной схемы, мы будем называть процентное выражение отношения числа неисправностей, обнаружимых тестом, к общему числу возможных неисправностей схемы. Строго говоря, из знаменателя этого отношения следует вычесть неисправности, обнаружением которых заниматься просто нецелесообразно ввиду неприемлемых материальных или временных затрат, но мы этой составляющей пренебрежем.
Особенности построения JTAG-тестов обуславливают значительную зависимость между
структурой схемных фрагментов ПП и ожидаемой полнотой покрытия неисправностей для ПП. При этом схемные не-JTAG элементы (не обязательно ИС) играют в оценке полноты JTAG-теста не меньшую роль, чем собственно ИС JTAG. Основные типы схемных фрагментов, определяющие четыре разных (хотя и частично пересекающихся) уровня покрытия неисправностей при выполнении JTAG-теста, приведены на рис. 1.
В качестве прозрачных элементов (Пр) при JTAG-тестировании принято рассматривать неинвертирующие буферы, небольшие последовательные резисторы и мультиплексоры. Ромбы на рисунке обозначают подключение цепей схемы к контактам разъемов, а стрелки указывают на входные и выходные контакты схемных компонентов, причем голубые стрелки обозначают входы и выходы ИС JTAG, описанные в файлах BSDL соответствующих ИС [ПЭ. 2007. № 7]. Прозрачность схемных компонентов описывается при помощи так называемых моделей прозрачности, определяющих передачу тестового сигнала с входа компонента на его выход, а также условия такой передачи, если они есть. Например, прозрачность любого резистора можно описать как R.1 о R.2, без всяких дополнительных условий. Описание прозрачности двунаправленного буфера (приемопередатчика) серии 245 зависит от сигналов на входах /OE и DIR. Если, к примеру, /OE = 0 и DIR = 1, то прозрачность разряда 1 описывается как 2—>18, а если /OE = 0 и DIR = 0, то как 18—2.
Схемный фрагмент, приведенный на рис. 1а, называется чистой JTAG-цепью, или цепью с полным JTAG-покрытием; прозрачные элементы могут при этом и отсутствовать. Направление передачи тестовых сигналов (голубые стрелки) на рисунке указано слева направо, хотя такая связь может, разумеется, быть и справа налево, и двунаправленной, а количество подключенных к цепи ИС
JTAG может быть любым. Голубые стрелки показывают, что цепь подключена к одной или нескольким ячейкам JTAG-передатчика или/и к одной или нескольким ячейкам JTAG-приемника [ПЭ. 2007. № 6] через соответствующие контакты ИС JTAG. При этом сочетания типа «Х ячеек JTAG-передатчика и Y ячеек JTAG-приемника», подключенных к одной цепи, могут быть произвольными.
Для чистых JTAG-цепей достигается максимальный уровень покрытия неисправностей: 100% обнаружения обрывов для всех контактов ИС, подключенных к такой цепи, а также 100% обнаружения коротких замыканий (КЗ) с точностью до контакта ИС JTAG как между чистыми JTAG-цепями, так и между ними и цепями, показанными на рис. 1б-г. В отчетах по тестопригодности схем и ожидаемому уровню тестового покрытия чистые JTAG-цепи фигурируют в разделе «Полное покрытие JTAG-тестом».
Схемный фрагмент, показанный на рис. 1б (прозрачные элементы могут, конечно, отсутствовать) , называется цепью с частичным JTAG-покрытием, так как не позволяет обнаружить обрывы контактов не-JTAG компонентов, подключенных к JTAG-цепям, если это не ИС ЗУ. Однако все КЗ между выводами ИС JTAG, относящимися к цепям этого типа и любого другого из показанных на рис. 1, можно обнаружить с полнотой 100%. При соответствующем построении кластерного теста [ПЭ. 2008. № 7] для цепей этого типа можно получить весьма высокий уровень покрытия КЗ между контактами разъемов, а также покрытие КЗ между контактами не-JTAG ИС.
В схемной конфигурации, приведенной на рис. 1в, можно обнаружить КЗ между контактами ИС JTAG этого же фрагмента и фрагментов на рис. 1а и б, если контакты ИС JTAG входные. Кроме того, в ряде случаев можно построить кластерный тест для обнаружения обрывов входных контактов ИС JTAG, если,
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 11 '2009
например, тест заключается в чтении заведомо известного сигнала из не-JTAG ИС. Если не-JTAG ИС это, к примеру, ИС I2C, то можно получить 100%-ное косвенное покрытие обрывов в цепях SCL и SDA в рамках кластерного теста этих цепей.
Шины адреса и данных разнообразных ЗУ (ПЗУ, SRAM, SDRAM, флэш и т. д.), управляемые ИС JTAG, обычно относятся к схемным фрагментам на рис. 1б и в. Тестирование микросхем ЗУ при помощи окружающих их ИС JTAG [ПЭ. 2007. № 8] заключается в выборочной записи в ячейки памяти ЗУ (не во все!) и чтении из них (например, в тестах типа «бегущая 1 или бегущий 0» по шинам адреса и/или данных) с привязкой к синхросигналам ЗУ, генерируемым в той же JTAG-цепочке. Такие тесты позволяют получить 100 %о-ное покрытие неисправностей монтажа контактов ЗУ типа обрыв и КЗ, то есть всех структурных дефектов монтажа ИС. Этот тест не следует путать с функциональным тестированием ЗУ, каковым он вовсе не является. Косвенный тест цепей управления ЗУ (типа «работает - не работает») позволяет обозначить наличие возможной неисправности в этих цепях, правда, без указания на ее характер.
Широко применяют JTAG-тесты цепей, фрагмент которых показан на рис. 1г (прозрачные элементы могут отсутствовать). Его можно рассматривать и как вариант фрагмента рис. 1в. Если к входным (и это существенно) JTAG-контактам присоединены подтягивающие или подключенные «на массу» резисторы, то могут быть обнаружены любые неисправности, логика проявления которых обратна ожидаемой функции резисторов. Такие тесты любой системой генерации JTAG-тестов [ПЭ. 2009. № 6] строятся автоматически. Например, JTAG-тест всегда обнаруживает КЗ на «землю» в цепи подтягивающего резистора или же обрыв в этой цепи. Аналогично, в цепи резистора, подключенного «на массу», JTAG-тест всегда обнаруживает обрыв или константную неисправность «лог. 1», вызванную тем или иным КЗ. К этой же схемной конфигурации относятся цепи, напрямую подключенные к питанию или «земле» ПП, а также цепи с постоянным напряжением, которое можно трактовать как определенный логический уровень.
Следует отметить, что JTAG-тест коротких замыканий может быть полным (100%) при тестировании правильности монтажа неиспользуемых (то есть не подключенных ни к одной из цепей схемы) контактов ввода/ вывода (КВВ) ИС JTAG в любой из конфигураций, приведенных на рис. 1. Полнота аналогичного теста КЗ между неиспользуемыми контактами ввода или контактами вывода ИС JTAG существенно меньше, поскольку не всякая система генерации тестов вообще строит тесты КЗ для контактов, не являющихся КВВ.
Отдельной группой цепей в схемах, содержащих ИС JTAG, являются собственно JTAG-шины. Любая программа JTAG-тестирования
Рис. 1. Типы схемных фрагментов при выполнении JTAG-теста
начинается с этапа «Тест инфраструктуры», или теста целостности JTAG-цепочки. Если этот этап не проходит, существует неисправность в самой JTAG-цепочке, так что выполнение последующих этапов программы бессмысленно, и вначале следует найти и устранить неисправность цепочки. Обычно этот тест состоит из асинхронного (сигнал /TRST) и синхронного сброса всех контроллеров ТАР цепочки, теста захвата РК [ПЭ. 2007. № 6], теста команд BYPASS, IDCODE и USERCODE и теста длины РГС каждой ИС JTAG-цепочки. Тест JTAG-цепочки покрывает обрывы в цепях JTAG-шины (TDI, TDO, TMS, TCK), а также любые дефекты монтажа контактов этих шин, проявляющиеся как константные неисправности типа «лог. 0».
В отчетах по тестопригодности схем и ожидаемому уровню тестового покрытия цепи, относящихся к схемным фрагментам на рис. 1б, в и г, а также цепи JTAG-шин, фигурируют в разделе «Частичное покрытие JTAG-тестом». Степень детализации тестового покрытия по отдельным цепям и их группам зависит от особенностей программной системы, используемой для получения такого отчета [ПЭ. 2008. № 2, ПЭ. 2008. № 3]. Предварительная оценка уровня JTAG-тестового покрытия является не только параметром оценки ожидаемого качества JTAG-теста,
Таблица. Пример отчета по JTAG-тестопригодности схемы
Всего %
Цепи, содержащие JTAG-контакты 496 46,9
Цепи, не содержащие JTAG-контактов 562 53,1
Итого число цепей в схеме 1058 100
Полное покрытие JTAG-тестом 394 37,2
Частичное покрытие JTAG-тестом 248 23,4
Итого JTAG тестируемых цепей 642 60,7
Итого нетестируемых цепей 416 39,3
но и позволяет сделать выводы о тестопригодности схемы на ранних этапах ее разработки, еще до того, как начата разводка ПП. Типичная структура итоговой таблицы отчета по тестопригодности схемы ^БТ) выглядит, как показано в таблице.
Детальное изучение (вплоть до имен цепей и контактов) предварительных отчетов по тестопригодности схем позволяет вовремя, то есть задолго до начала разводки схемы, предпринять необходимые меры для увеличения или оптимизации ожидаемого тестового покрытия ПП. Такие отчеты обычно содержат и рекомендации по оптимальному размещению контактных площадок для внутрисхемного тестирования (1СТ) в тех цепях, ожидаемый уровень JTAG тестового покрытия в которых недостаточен или вовсе отсутствует. ■
КОМПОНЕНТЫ И ТЕХНОЛОГИИ • № 11 '2009
www.kit-e.ru