Стратегия тестирования: нужен ли нам JTAG? (Как убедить начальника)
к. т. н., JTAG.TECT
amigo@jtag-test.ru
На наносеминарах по тестопригодному проектированию (DFT) и техно логии граничного сканирования (JTAG), проводившихся в апреле на вы ставке «ЭкспоЭлектроника», я неоднократно получал от слушателей од ну и ту же просьбу: дайте в систематизированном виде перечень доводов, которые можно использовать для убеждения начальника в том, что тести рование в технологии JTAG нам необходимо.
Необходимость убеждать начальников уже, вероятно, назрела, что выглядит весьма обнадеживающе, поэтому я с готовностью откликаюсь на эти просьбы. Эта колонка будет посвящена обзору построения стратегий тестирования плат и узлов, использующих разнообразные подходы к тестированию и взаимосвязи между ними.
При выборе средств и методов тестирования плат и узлов мы, как правило, обладаем широким диапазоном возможностей: от применения осциллографов и логических анализаторов, эмуляторов, анализаторов протоколов и анализаторов дефектов производства (MDA) до внутрисхемных тестеров (ICT), автоматического визуального (AOI) и рентгенконтроля (AXI), а также тестеров с «летающими» щупами (FPT) и разнообразных конфигураций применения технологии граничного сканирования (ГС-тестирование, JTAG). Вдобавок к этому, практически любые платы и узлы требуют применения тех или иных функциональных тестов для подтверждения того, что они функционируют ожидаемым образом. Возможностей немало, поэтому попытки построить такую общую стратегию тестирования, которая бы включала в себя все лучшее, что есть в существующих технологиях тестирования, могут привести к обескураживающим результатам.
Причина неудач связана зачастую с тем, что каждое новое изделие требует применения стратегии тестирования, специфичной именно для него. Тестеры AOI и AXI могут быть вполне эффективными для обнаружения некоторых (далеко не всех) дефектов монтажа еще до подачи питания на тестируемую плату, однако для их применения не нужны никакие особенные приспособления или адаптеры. Внутрисхемные тестеры (ICT) незаменимы в целом ряде случаев, прежде всего для тестирования аналоговых и гибридных плат. Однако в случае ограниченных инвестиций на тестирование бывает более оправданно заменить их комбинацией тестеров AOI, JTAG и функционального тестера, чем нести расходы как на сам тестер ICT, и совсем немалые, так и на изготовление для вашей платы игольчатого адаптера и разработку программы тестирования. Выбор стратегии тестирования — нелегкое решение, и лучшим ответом является, как правило, не самый очевидный.
Эффективную стратегию тестирования обычно получают разложением задачи на небольшие части, с которыми сравнительно легко справиться, а сам процесс тестирования разделяется на два основных этапа — структурное тестирование (или тестирование по результатам монтажа) и функциональное (или системное) тестирование. Задачи у этих двух этапов тестирования совершенно различные.
Цель структурного тестирования — обнаружение дефектов монтажа, не больше и не меньше. Применяемые при этом средства — MDA, ICT, AOI, AXI, FPT, JTAG и другие. Цель функционального тестирования — проверка работоспособности и ожидаемой функциональности смонтированной платы, а также ее отладка. Применяемые при этом средства — разного рода КИА и специально разрабатываемые стенды.
Любая стратегия тестирования обычно совмещает оба этих этапа в тех или иных сочетаниях. Функциональный тест может, разумеется, обнаружить неисправность платы, но его разработка и проведение требуют, как правило, длительного времени, а диагностические возможности такого теста весьма скромны. Диагностика при структурном тестировании намного более детальна, но его успешное прохождение вовсе не означает, что плата работоспособна: она только лишь правильно смонтирована. При этом основным параметром структурного теста, наряду с его диагностическими сообщениями оператору, является обеспечиваемая этим тестом полнота покрытия неисправностей. Стремление разработчиков теста к почти 100%-ному покрытию вовсе не является нереальным, хотя практически достижимая полнота теста вынужденно является компромиссом между различными факторами, основные из которых — затраты на тестопригодное проектирование платы, время и стоимость разработки теста, а также время и затраты на его прогон.
Поскольку ни одна из технологий структурного тестирования не обеспечивает 100%-ной полноты покрытия неисправностей сама по себе и для любых схем, на линиях монтажа плат используются те или иные комбинации различных технологий, каждая из которых призвана обеспечить тестовое покрытие в тех схемных сегментах и для тех типов неисправностей, в которых она наиболее эффективна. Общеизвестно, к примеру, что ГС-тестирование незаменимо для обнаружения коротких замыканий на контактах ИС, поддерживающих ГС, на связанных с ними компонентах, тестируемых в рамках кластерного теста [ПЭ. 2008. № 7], и вообще на внутренних цепях платы. Этот класс неисправностей, весьма актуальных в любом процессе монтажа плат, ГС-тестирование покрывает несравнимо лучше других методов, а точное процентное соотношение ожидаемой полноты покрытия коротких замыканий можно получить еще до начала разводки платы.
Еще более незаменимо ГС-тестирование для обнаружения обрывов или «холодной пайки», прежде всего в тех сложных случаях, когда места этих дефектов не локализуемы ни визуально (AOI), ни рентген-контролем (AXI), поскольку находятся под корпусами BGA [КиТ. 2009. № 4], располагаются на скрытых переходных отверстиях или прикрыты теплоотводами или экранами. Средствами ICT или FPT такие дефекты также не всегда можно обнаружить, хотя некоторые тестеры ICT и FTP снабжены так называемыми невекторными структурами для поиска подобных неисправностей монтажа, как, например, система емкостных измерений TestJet тестеров ICT 3070 и i5000 фирмы Agilent или система ElеctroScan тестера FTP фирмы Spea. Однако значительные начальные инвестиции, неизбежные при применении подобной аппаратуры, не всегда оправданны.
Совмещение недорогой системы ГС-тестирования (например, onTAP [ПЭ. 2008. № 3]) с функциональным тестером и управление такой платформой из одного и того же интерфейса тест-оператора может, при правильной организации этого интерфейса и его баз данных, представляться оператору как некий единый тест под единым управлением. Процесс тестирования на подобной платформе начинается ГС-тестом по обнаружению структурных неисправностей, затем продолжается внутрисхемным конфигурированием ПЛИС и FPGA, необходимым для проведения функционального тестирования. Процедура может содержать также прожиг флэш-памяти в том же ГС-протоколе, завершаясь собственно выполнением программы функционального тестирования.
Такое совмещение зачастую оказывается более эффективным и для проведения самого функционального теста, если он заключается в подаче на тестируемую плату входных тестовых векторов и считывания ее реакций, особенно если плата преимущественно цифровая. В определенных случаях на одних входах платы следует удерживать константные сигналы, необязательно цифровые, одновременно выполняя переключения цифровых сигналов на других входах по тому или иному алгоритму. Тест может также заключаться в контроле неизменности цифровых сигналов на выходах платы. Во всех подобных случаях, число которых можно без труда умножить, ГС-тест наиболее удобен и экономичен для совмещения его с функциональным тестом плат и узлов.
Встраивание ГС-тестеров в стенды функционального тестирования весьма эффективно при тестировании систем, содержащих несколько плат, объединяемых кросс-платой или кабелями. Определение правильности сборки плат в системе и отсутствия неисправностей на разъемах соединяемых плат до начала функционального теста системы может сэкономить много часов поиска дефектов, вносимых неверными соединениями, и ГСтестирование здесь вне конкуренции.
Следующий простой список утверждений поможет вам определить, действительно ли вам стоит использовать технологию граничного сканирования для тестирования ваших плат наряду с функциональным тестированием.
- У вас скопилось множество неработающих плат, исправных плат этого типа не хватает для продолжения отладки или поставок заказчику, выбросить неисправные — рука не поднимается, да и деньги вложены немалые, а в чем неисправность — неясно.
- Для тестирования ваших плат вы используете только функциональный тест, а также визуальный (в том числе автоматический) контроль и/или проверки на рентгенустановке. При этом вы уже убедились, что функциональный тест не обеспечивает желаемой диагностики, а визуальный контроль и рентген-установка не видят обрывов в результате «холодной пайки», и вообще не являются электрическим тестом.
- Разработчики схем с зарплатой выше средней тратят слишком много рабочего времени на разработку и проведение исчерпывающих функциональных тестов, а аренда рентген-установки для тотального тестирования всех плат слишком дорога, поэтому приходится выполнять выборочное тестирование с заведомо невысоким покрытием дефектов, что не устраивает ваших заказчиков. Вы уже давно задумываетесь о том, что расходы на проведение тестирования следует резко сократить, одновременно повысив его диагностические возможности.
- Начальные расходы на приобретение, установку и обслуживание тестера ICT, не говоря уже о стоимости разработки программ тестирования для него, обучения персонала и изготовления игольчатых адаптеров для каждого типа ваших плат, неоправданно велики.
- Сроки поставок готовых и исправных плат заказчику — жизненно важный фактор выживания вашей компании в условиях кризиса, поскольку конкуренты могут это делать быстрее и качественнее.
- Внутрисхемное программирование и перепрограммирование ПЛИС и FPGA, а также прожиг флэш-памяти, выполняемые на отдельных установках, отнимают слишком много времени нескольких квалифицированных инженеров, и для этого необходимо несколько отдельных стендов и изощренная логистика. Вы уже давно задумываетесь над тем, чтобы объединить все процессы программирования ПЛИС и FPGA на стенде, предназначенном для тестирования в технологии JTAG, добавив туда же внутрисхемный прожиг флэш-памяти и ЭСППЗУ, так как эти микросхемы постоянно приходится пережигать, и поручить всю эту работу лишь одному технику с невысокой квалификацией и минимальной зарплатой.
- Вы читали о возможностях расширения JTAG-тестирования плат на тестирование блоков и узлов через их кросс-платы, но никак не соберетесь этим заняться, хотя вам давно бы не помешала хорошая диагностика неисправностей разъемов и соединений на кросс-платах.
- На ваших платах имеются компоненты, снабженные структурами JTAG, и вы ощущаете явный дискомфорт от осознания того факта, что за всю необходимую инфраструктуру для использования современных методов тестирования вы уже заплатили, она у вас уже есть, но вы пока не знаете, как этим всем воспользоваться, хотя об этом много говорят и пишут, и конкуренты это уже делают вовсю.