Как выбрать свою технологию граничного сканирования?
Ретроспективный взгляд в историю
Будучи утвержденным в 1990 году в виде нового международного стандарта тестирования и тестопригодного проектирования, стандарт IEEE 1149.1 естественным образом воспринимался тогда как нечто совершенно новое, поскольку действительно представлял собой первый шаг к стандартизации тестирования на уровне печатных плат (ПП). Главная цель разработки этого стандарта заключалась в попытке эффективно реагировать на непрерывное сокращение возможностей физического доступа к тестируемым ПП при помощи классических внутрисхемных тестеров ICT, предложив для такого доступа некую иную технологию. Замечательная идея, положенная в основу JTAG, заключалась во введении во внутреннюю электронику чипов дополнительных функциональных средств, предназначенных для ее тестирования и управления посредством некой стандартной шины (рис. 1).
С введением в практический инженерный обиход стандарта JTAG связывалось множество ожиданий и надежд, в частности — с возможностью начала его очень быстрого промышленного применения и создания на его основе соответствующего рынка микросхем, инструментов и систем. Двадцать лет спустя, тем не менее, можно констатировать, что слишком быстрого прорыва в этом направлении не произошло (рис. 2). Следовало, разумеется, ожидать, что этот процесс должен коррелировать с переходом от технологии штыревого монтажа (ТНТ) к поверхностному монтажу (SMT), который неизбежно станет «могильщиком» непосредственного тестового доступа. Последующее десятилетие неуклонного сокращения тестопригодности ICT продемонстрировало это со всей наглядностью, выдвигая технологию JTAG в качестве единственной разумной альтернативы. Однако отнюдь не только с этой точки зрения история стандарта IEEE 1149.1 — это история успеха.
Бурное развитие новых стандартов
20 лет назад никто не ожидал того ошеломляющего успеха, которого стандарт 1149.1 достигнет в инициировании разработок новых стандартов, полностью или частично базирующихся на нем. Стандарт послужил основой для применений при внутрисхемном программировании (ISP), эмуляции или дальнейших разработках проблем тестирования на разных уровнях тестового доступа (рис. 3).
В настоящее время IEEE 1149.1 можно рассматривать в качестве базового стандарта на весьма длительный обозримый период времени в будущем. В сущности, создатели стандарта предложили совершенно новую парадигму внешних относительно чипа измерений, основанных на применении некой встроенной функциональности чипов, которой управляет уникальная и специально предназначенная для этого шина. С точки зрения уровня технологии системы JTAG-тестирования, включая все их существующие и будущие расширения, можно рассматривать как потенциально новые поколения инструментальных платформ на платах с широким диапазоном рабочих возможностей.
«Рог изобилия» для прикладных применений
На фоне внедрения в промышленность тех или иных новых стандартов, требующих заметно большего времени, современное состояние технологии JTAG впечатляет. Наиболее существенные области применения технологии JTAG на уровне плат следующие:
- Быстрое и надежное тестирование паяных соединений компонентов BGA на печатных платах с высоким уровнем диагностирования местоположения дефектов монтажа при так называемом тестировании межсоединений.
- Тестирование исправности монтажа ИС оперативной памяти (RAM) и выполнение так называемых кластерных тестов при тестировании функциональных фрагментов печатных плат.
- Тестирование разъемов и периферийных сигналов ввода/вывода и интерфейсов при синхронизации измерений с внешними измерительными инструментами.
- Тестирование ожидаемой функциональности прототипа разрабатываемой ИС/СБИС или платы.
- Внутрисхемное программирование компонентов PLD/FPGA и флэш-памяти с фиксированным или изменяемым содержимым.
Следует отметить, что технологию JTAG можно применять на разных этапах и на разных уровнях сопровождения продуктов электроники на протяжении их срока службы (рис. 4), что также является «новым словом» в тестировании, так как означает наличие существенного экономического потенциала сокращения затрат на тестирование.
При ближайшем рассмотрении этапов жизненного цикла электронных изделий можно обнаружить еще больше преимуществ в применении технологии JTAG, заметно ускоряющей тестирование промышленных образцов и, таким образом, сокращающей время выхода продукта на рынок. В сущности, применяя технологию JTAG, мы в состоянии провести разграничение между дефектами проектирования платы и ошибками ее монтажа в процессе тестирования паяных соединений и последующего обнаружения перемычек или обрывов, связанных с корпусами ИС BGA с автоматической локализацией неисправностей.
Кроме того, стандарт IEEE 1149.1 широко применяется для проверки (валидации) правильности проектирования СБИС. Речь может идти, к примеру, о валидации некой цифро-аналоговой схемы, ЦАП которой управляется ячейками сканирования, независимыми от цифрового функционального ядра (рис. 5).
Рис. 5. Усовершенствование валидации проекта СБИС путем введения функционального разделения и структурного доступа
Такое искусственное разделение функций СБИС позволяет легко отделить их аналоговые части от цифровых и, кроме того, моделировать состояния функционирования СБИС, которые даже не могут возникнуть при работе в реальных условиях. Подобные тесты применяются при исследовании характеристик систем с внесенной избыточностью или при моделировании вносимых динамических неисправностей.
Следует также отметить, что разработка программ JTAG-тестирования обычно выполняется в определенной степени независимо от разработки собственно схемы с учетом рекомендаций по тестопригодному проектированию (DFT) и оценок ожидаемого уровня тестового покрытия.
К несомненным преимуществам систем граничного сканирования по сравнению с другими средствами автоматизированного тестирования для процессов производства относятся значительно более низкие инвестиции и издержки производства. Как лучший вариант диагностики, JTAG-тестирование, отделившись от цифровых методов внутрисхемного тестирования (ICT), сейчас находится в ряду инструментов и методов, не создающих проблем ни с обеспечением контактов при тестировании, ни с обратной токовой запиткой, ни с функциональными моделями. Процесс ввода новых изделий в производство может быть при этом значительно ускорен.
Стандарт IEEE 1149.1 продолжает проникать не только в область непосредственного производства. Есть интересный опыт применения этого стандарта в климатических камерах с активным мониторингом. В дополнение к этому синхронное внутрисхемное программирование (прожиг) компонентов флэш-памяти в JTAG-программах на нескольких платах можно рассматривать как еще одну возможность повышения производительности линий монтажа плат.
При работе «на объекте», на заключительной стадии жизненного цикла продукта, технология граничного сканирования JTAG также находит широкое применение. Среди прочего, применение технологии позволяет калибровать системы посредством удаленной поддержки, модифицировать встроенное программное обеспечение или выполнять диагностическое тестирование для локализации подлежащих замене компонентов. Эффективность такого подхода возрастает вместе со сложностью и удаленностью систем так же, как и с их количеством на объекте.
Никто не идеален
Граничное сканирование — это значительный шаг вперед на пути развития технологий тестирования, хотя далеко не все проблемы в этом плане пока решены, и в настоящее время они находятся в стадии подробных исследований. Во-первых, это безопасность тестирования. Как было показано на рис. 1, граничное сканирование делает возможным разделение структуры и функции ИС. Другими словами, можно перевести ИС в состояния, которые не могут возникнуть в реальном рабочем режиме (рис. 5).
Это означает, таким образом, возможность внесения на общую шину схемы (рис. 6) ошибочных состояний, которые потенциально могут нанести ущерб аппаратному обеспечению, либо несущественный, либо необратимый. На практике возникает гораздо больше подобных ситуаций. В случаях, когда выходы ИС ПЛМ или FPGA соединены навстречу друг другу для загрузки верных тест-векторов, управление направлением векторов должно соответствовать случаю, показанному на рис. 7.
Ситуация усугубляется еще и тем фактом, что в процессе выполнения теста межсвязей с помощью JTAG-команды EXTEST контакты ИС переключаются в режим тестирования, то есть с ними невозможно взаимодействовать селективно. Если схема содержит ИС как JTAG, так и не-JTAG, и только несколько из них находятся в тестовом, а другие продолжают оставаться в рабочем режиме, то пользователь довольно быстро столкнется с ситуацией, с трудом поддающейся управлению.
Здесь есть реальная опасность того, что подобные неверные векторы появятся во время процесса производства, при этом снизится надежность системы, может быть повреждена аппаратная часть и нарушена работа в самом начале. Такие тесты, используемые повторно на протяжении жизненного цикла продукта, превращают граничное сканирование в заложенную часовую бомбу с результатом, выражающимся в повышении затрат. В этом случае для безопасности пользователей требуется использование быстродействующих инструментов с соответствующей логикой.
Во-вторых, это проблема, относящаяся к смешанным структурам схем, состоящим из компонентов с граничным сканированием и стандартными ИС без JTAG, что часто встречается на практике. В принципе протестировать такие недоступные для граничного сканирования участки схемы, так называемые кластеры, не составляет проблемы, однако эффективность кластерного тестирования сильно зависит от размеров и сложности системы. Причина в том, что кластерное (групповое) тестирование — это, в сущности, разновидность функционального тестирования. Тестирование кластеров компонентов памяти ЗУ, буферных ИС или разнообразных преобразователей затруднений, как правило, не вызывает. Для кластеров со сложной структурой и большим количеством последовательностей тестовых векторов могут возникнуть проблемы с получением качественной диагностики неисправностей. Границы возможностей тестового покрытия такого кластера достигаются быстро, поэтому использование различных стратегий тестирования представляется полезным, и ключ к успеху — в комбинации методов.
Третье, о чем следует упомянуть, — это отношение технологии JTAG к аналоговому тестированию. Стандарт IEEE 1149.1 по определению представляет собой цифровой метод, поэтому не предполагает поддержки параметрического тестирования аналоговых функциональных взаимосвязей компонентов схем. В качестве альтернативы для этой цели не так давно был создан аналоговый JTAG-стандарт IEEE 1149.4 [3], который пока еще не получил ожидаемого распространения.
Существенной характеристикой технологии граничного сканирования является ее статичность или низкочастотность. Дело в том, что для обнаружения неисправностей процессов монтажа (короткие замыкания, разрывы, зависания типа «лог. 1» или «лог. 0») в низкочастотных цепях использования низких же частот для подачи тест-векторов вполне достаточно. Низкочастотные методы, разумеется, совершенно не подходят для исследования динамических проблем, при этом следует применять совсем другие технологии тестирования, способные к обработке сигналов в реальном масштабе времени. Здесь уместно упомянуть о существовании сравнительно нового JTAG-стандарта IEEE 1149.6 [4], который с успехом применяют для тестирования дифференциальных линий передачи сигналов (LVDS).
Ключевым моментом обсуждаемых проблем и ограничений не является, конечно, вопрос о смысле технологии граничного сканирования. Просто с течением времени стало очевидным, что в JTAG существуют некие дополнительные ограничения помимо тех, о которых было известно и раньше.
Область противоречий между основными эксплуатационными характеристиками JTAG-стандарта и существующими техническими решениями
Для практического применения проектных решений нужно получить ответы на некоторые важные вопросы. Вот лишь некоторые из них:
- Какое применение JTAG-стандарта рассматривается как преимущественное (тестирование, отладка, внутрисхемное программирование (ISP))?
- Насколько сложна тестируемая плата?
- Как часто возникает необходимость применения технологии JTAG?
- Какое количество не-JTAG ИС и сложных кластеров содержит тестируемая плата?
- Будет ли со временем расширяться диапазон применения тестируемой платы?
- Есть ли определяющие требования по производительности (например, для внутрисхемного программирования флэш-памяти)?
- Нужно ли управление сигналами ввода/вывода для подготовки или инициализации тестируемой платы?
- Согласуются ли возможные требования к тестированию с ожидаемым уровнем тестового покрытия?
- Какие существуют возможности для улучшения тестового покрытия?
- Каковы временные рамки для реализации проектного решения?
- Будут ли средства тестирования использованы в нескольких областях?
- Будут ли процедуры тестирования использоваться многократно на протяжении срока службы продукта?
Ответы на эти вопросы могут служить основой не только для выбора стратегии применения технологии JTAG, но и для определения требований, предъявляемых к оборудованию.
При рассмотрении существующих на данный момент системных решений можно говорить, таким образом, о классах трех категорий (таблица).
Таблица. Сравнение характеристик систем граничного сканирования различных классов
Свойства | Класс системы | ||
С ограниченными возможностями | Среднего диапазона | С широкими функциональными возможностями | |
Усовершенствованный канал передачи данных моделирования | (√) | ||
Стандартный импорт/экспорт тестовых данных | – | √/(√) | √/(√) |
Усовершенствованные эмуляционные тесты | – | – | (√) |
Стандартные эмуляционные тесты | – | – | √ |
Усовершенствованное внутрисхемное программирование (ISP) для флэш-памяти / ПЛУ (Flash/PLD) | – | () | √ |
Стандартное внутрисхемное программирование (ISP) для флэш-памяти / ПЛУ (Flash/PLD) | (√) | √ | √ |
Усовершенствованные тесты периферийного сканирования | – | (√) | √ |
Стандартные тесты периферийного сканирования | (√) | √ | √ |
Усовершенствованная мультирежимная отладка АО/ПО | – | √ | √ |
Стандартная отладка 2-входового переключателя | √ | √ | √ |
Схематическое/топологическое представление | – | (√) | √ |
Язык программирования | (√) | (√) | (√) |
Интегрированная среда разработки | – | (√) | √ |
Параллельный независимый тест-порт (ТАР) (стандартный) | 1 | 4 | 8 |
Усовершенствованные средства внешнего измерения | – | (√) | (√) |
Стандартные средства поддержки ТАР-управляемого модуля ввода/вывода | – | √ | √ |
Примечание. √ — не применимо для всех систем.
Системы отладки JTAG представляют собой нижнюю категорию тестовых систем и применяются преимущественно для тестирования прототипов промышленных образцов, поддерживая только стандарт IEEE 1149.1. Некоторые программные средства могут быть предназначены для выполнения кластерных тестов. Основной проблемой при этом является полностью (или почти полностью) ручное построение тест-векторов, за правильность построения которых отвечает тест-инженер, поэтому он должен быть внимателен при проведении анализа схемы и ясно понимать цели и задачи тестирования. Преимущество таких систем отладки — в их невысокой стоимости.
Классические универсальные системы тестирования JTAG находятся в среднем диапазоне. Они поддерживают несколько различных стандартов, включая как простое в использовании целевое управление, так и автоматизированные инструменты с большим диапазоном применения. Вдобавок к этому такие системы дают смешанное схематическое и топологическое представление структур отладки, а также обеспечивают быстрое программирование ИС флэш-памяти в сочетании с соответствующим высокопроизводительным аппаратным обеспечением. Такие системы могут содержать структуры, вовсе не поддерживающие системы тестирования JTAG. С точки зрения пользователя подобные системы представляют собой действительно универсальное решение, которое использует все возможности граничного сканирования. Некоторые из этих пакетов программного обеспечения основаны на концепции интегрированной среды, которая улучшает эффективность разработки проектов. Возможная причина приобретения такой системы заключается в ее универсальности.
Третья категория — это профессиональные системы с широкими функциональными возможностями, ориентированные на преодоление ограничений технологии граничного сканирования путем комбинации ее с другими внутрисхемными технологиями и моделированием. Здесь акцент делается на использовании эмуляции, дополняющей стандарт IEEE 1149.1. Практически существуют три различные отправные точки. Один из примеров — внутрисистемная технология эмуляции VarioTAP, разработанная компанией GOEPEL electronic [6]. Эта система имеет все свойства систем среднего класса и поддерживает тестирование в реальном времени, поэтому покрывает все динамические ошибки для всех сегментов тестируемой схемы. Возможна автоматическая генерация тест-векторов для тестирования оперативной памяти (RAM), аналогичная граничному сканированию [7], а также полное динамическое тестирование периферийных шин.
Лучше сохранить, чем сожалеть
Системы, основанные на системах команд, на практике доказали, что являются более гибкими. Практически выражение «основанный на системе команд» означает, что векторами граничного сканирования можно управлять алгоритмически и отлаживать их при помощи некоторого интегрированного языка. Такая отладка даже упрощается, если в систему встроены и другие интерактивные меню, предназначенные для программирования, управления внешними контактами ввода/вывода и диалоговыми меню.
Характеристики качественных систем тестирования без труда расширяются путем наращивания дополнительных внешних либо встроенных возможностей. Программная среда при этом остается той же самой, а модификации касаются только лицензирования конкретных инструментов. К тому же при этом способе капитальные средства экономятся с самого начала.
Чрезвычайно важно также располагать хорошими возможностями отладки тест-программ. На рис. 8 в качестве примера показан экран программного инструмента ScanAssist. Оператор в состоянии выполнять интерактивное переключение контактов напрямую на схеме платы с экрана монитора, при условии, разумеется, что тест-векторы уже сгенерированы и выполняются как тестовая программа.
Рис. 8. Экран программного инструмента ScanAssist фирмы GOEPEL electronic — интегральная часть программного тестового обеспечения CASCON GALAXY
Такие высокопроизводительные инструменты частично включены в базовую версию пакета программ с расширенными функциональными возможностями вместе с автоматической генерацией тест-программ (ATPG) для тестов межсвязей. Соотношение цена/характеристики таких программ даже более привлекательно по сравнению с простыми аппаратными отладчиками. Пакет SCANBOOSTER Design Studio — типичный пример таких систем (рис. 9). В дополнение пакет включает в себя простой в использовании контроллер граничного сканирования.
Рис. 9. Пакет GOEPEL electronic’s SCANBOOSTER Design Studio: базовая версия интегрированного пакета разработки CASCON GALAXY, а также USB2.0 Boundary Scan контроллер с расширенными функциями ввода/вывода
Поскольку далеко не всякие тестируемые схемы содержат ИС JTAG, следует комбинировать различные подходы к тестированию. В процессе производства электронных изделий широко используются внутрисхемные тестеры (ICT), анализаторы дефектов (MDA) и тестеры с «летающими» зондами (FP). Комбинации таких тестеров с JTAG-тестерами зачастую представляют значительный интерес, так же как и возможность доступа к интегрированным пакетам программ с заранее заданной конфигурацией и взаимодействия с интерфейсами передачи динамических тест-векторов.
Цены, разумеется, тоже играют заметную роль. Некоторые производители оборудования уже требуют плату за одну плавающую лицензию на установку до 40%, хотя и не все. Неприятная ситуация возникает при желании пользователя перейти с локальной лицензии на плавающую, когда он вынужден при этом доплачивать. Следует также иметь в виду стоимость технического обслуживания и гарантийной поддержки ПО. Некоторые производители оценивают это в 20% от первоначальной цены и даже более. Это дополнительные расходы, которые имеют тенденцию к росту.
Как уже было упомянуто, структуры JTAG интегрированы в электронику ИС собственно разработчиками микросхем, а не поставщиками плат или систем. Тем не менее не следует преуменьшать значимость адекватных подходов разработчиков схем к организации в тестируемых схемах последовательностей сигналов для правильной инициализации или условий запуска структур JTAG. Примерами могут служить сигналы, инициируемые ИС FPGA или микропроцессора, управляющие контактами, предназначенными для раздельного управления эмуляцией посредством JTAG и тестированием в рамках граничного сканирования. На практике к производителям систем обращаются за функциональной поддержкой, хотя в этом кроется и некий подвох: некоторые компании осуществляют поддержку только через электронную почту, другие оказывают дополнительную поддержку на платной основе. Только те производители систем, с которыми подписан контракт на техническое обслуживание, предоставляют полную профессиональную поддержку и предлагают четко рассчитанные по срокам и стоимости рамочные соглашения для своих заказчиков.
И последнее, но не менее важное замечание по поводу доступного аппаратного обеспечения. Для реализации обычного граничного сканирования достаточно простого и недорогого контроллера. Для векторно-ориентированных операций, типа флэш-программирования, выполнения расширенных тестов памяти или эмуляции посредством JTAG, необходим более мощный контроллер. Простое повышение частоты TCK не ведет к успешному решению задачи. Архитектура памяти должна быть такой, чтобы иметь возможность остановить векторы так называемой Continuous Burst. Должны быть доступны как минимум два тест-порта (TAP), еще лучше (но редко) — расширяемый контроллер с дополнительными тест-портами. Дополнительные цифровые и аналоговые сигналы ввода/вывода, которые могут быть интегрированы без потерь быстродействия в тестер JTAG, также весьма полезны. Один из примеров такой архитектуры аппаратных средств представляет собой система SCANFLEX [9].
Заключение
Граничное сканирование — это важная веха в истории развития тестирования в электронике. Постоянная проблема отсутствия физического доступа к контактам на платах с поверхностным монтажом (SMT) превращает технологию JTAG в существенную часть любой стратегии тестирования. Постоянно появляющиеся новые JTAG-стандарты увеличивают диапазон возможных применений этой технологии и меняют наши представления о ее потенциальных возможностях. Наготове уже выход следующих стандартов [10–12]. Пользователю остается только оценить потенциал той или иной технологии и выбрать ту, которая максимально соответствует его требованиям.
Литература
- IEEE Std.1149.1-2001. Standard Test Access Port and Boundary Scan Architecture.
- Heiber J. Übersicht über neue Standards. User Group Meeting Germany 2009, Proceedings.
- IEEE Std. 1149.4-1999. Standard for a Mixed-Signal Test Bus.
- IEEE Std. 1149.6-2003. Standard for Boundary Scan Testing of Advanced Digital.
- Heiber J. Boundary Scan versus Emulation Test. Proceedings of the NTF Forum 2008, Tallinn.
- Wenzel T., Ehrenberg H. Kombination von Boundary Scan und JTAG Emulation für fortgeschrittene strukturelle Tests und Diagnosen, White Paper, GÖPEL electronic 2009.
- Heiber J. Methods for Access Verification of dRAM Devices by Emulation Test. Proceedings of the NTF Forum 2009, Stockholm.
- Berger M. Vollständige Fehlerabdeckung durch Kombination unterschiedlicher Testverfahren. GÖPEL electronic 2005, http://www.goepel.com
- Boundary Scan Hardware SCANFLEX, Produktprospekt. GÖPEL electronic 2009, http://www.goepel.com
- IEEE Std. 1149.7-2009. Standard for Reduced-Pin and Enhanced-Functionality Access Port and Boundary Scan Architecture.
- IEEE Std. P1687. Standard for Access and Control of Instrumentation Embedded within a Semiconductor Device.
- IEEE Std. P1149.8.1. Standard for Boundary Scan based Stimulus of Interconnections to Passive and/or active Interconnections.