Расширенное обсуждение JTAG-стандарта IEEE 1149.6


PDF версия

В восемнадцатой статье цикла «Основы технологии граничного сканирования и тестопригодного проектирования» более подробно рассмотрены основные параметры JTAG-стандарта IEEE 1149.6 для тестирования дифференциальных цепей, известного также как Advanced EXTEST.

А также все, что я имею в виду…

А. Макаревич

 

Более полутора лет назад, в десятой статье нашего цикла [1], мы впервые рассматривали основы JTAG-стандарта IEEE 1149.6 для тестирования дифференциальных цепей, известного также как Advanced EXTEST, однако ввиду ограниченности места в журнальной статье за рамками изложения остался целый ряд важных вопросов, связанных, прежде всего, с практическими аспектами применения ИС, снабженных структурами 1149.6. Официальное название этого стандарта «IEEE Standard for Boundary-Scan Testing of Advanced Digital Networks», его полный текст можно найти, например, на сайте JTAG-Университета [5].

Далее в статье микросхемы, поддерживающие стандарт 1149.6, будем называть ИС.6, а JTAG-тесты для структур с ИС.6 — JTAG.6-тестами. За период, прошедший со времени публикации статьи [1], количество ИС.6, широко используемых в промышленности, заметно выросло, и актуальность практических правил их применения также возросла. Нынешняя 18-я статья цикла является, таким образом, продолжением и расширением материала, рассмотренного в десятой статье.

Правила тестопригодного проектирования (DFT) схем, содержащих ИС.6, так же как и соответствующие правила проектирования схем [2, 3], содержащих микросхемы, снабженные JTAG-структурами в стандарте IEEE 1149.1 (далее ИС.1), базируются, в значительной степени, на тщательном описании типов неисправностей ПП, покрываемых JTAG.6-тестами в цепях LVDS, и понимании структур ИС.6. Расширенное обсуждение JTAG-стандарта 1149.6 начнем с рассмотрения модели неисправностей, покрываемых JTAG.6-тестами в цепях LVDS [6]. Стандарт определяет список из 14 типов неисправностей (см. табл. 1), которые должны обнаруживаться JTAG.6-тестами. Возможные местонахождения неисправностей приведены в соответствии с рисунком 1, симметричные неисправности в таблице 1, разумеется, не указаны.

Рис. 1. Схема для описания неисправностей, обнаруживаемых JTAG.6-тестами

Если цепь LVDS терминирована лишь одним резистором, как показано на рисунке 1, что типично, неисправности, возникающие с одной стороны резистора, проявляются с другой его стороны (если, конечно, резистор исправен); в таблице 1 такое состояние отмечено как «без опорного напряжения». Ситуация с опорным уровнем напряжения Vref показана на рисунке 3 в [1], при этом подразумевается, что входное сопротивление источника этого напряжения невелико, так что оба контакта могут рассматриваться как относительно независимые. В таблице 1 такое состояние отмечено как «с опорным напряжением». Контакт в таблице 1 характеризуется как «висящий», если он не принимает никаких сигналов и его состояние определяется смещением или утечками.

Таблица 1. Неисправности, обнаруживаемые JTAG.6-тестами

Местонахождение
неисправности

Возможные физические причины
неисправности

Возможные проявления неисправности со стороны контактов
тест-приемника Rx

1

Контакт Тх1.1 разомкнут

Размыкание (припой?), повреждение проводника

Уровни напряжения на контактах 1 и 2 почти равны, возможны обнаруживаемые отражения на обоих контактах (без опорного напряжения) или контакт 1 «висит» (с опорным напряжением)

2

Контакт С1.2 разомкнут

Размыкание (припой?), отсутствие конденсатора

Уровни напряжения на контактах 1 и 2 почти равны (без опорного напряжения) или контакт 1 «висит» (с опорным напряжением)

3

Контакт Rх1.1 разомкнут

Размыкание (припой?), повреждение проводника

Контакт 1 «висит»

4

Контакт Тх1.1 закорочен на Vdd

Контакты закорочены (припой?)

Контакт 1 «висит», возможны обнаруживаемые отражения (без опорного напряжения)

5

Контакт Тх1.1 закорочен на землю

Контакты закорочены (припой?)

Контакт 1 «висит», возможны обнаруживаемые отражения (без опорного напряжения)

6

Контакты Тх1.1 и Тх1.2 закорочены

Контакты закорочены (припой?)

Контакт 1 и 2 — с одним и тем же уровнем напряжения, изменение сигнала подавляется как результат гистерезиса

7

Контакты С1.1 и С1.2 закорочены

Контакты закорочены (припой?) или пробой конденсатора

JTAG.1-тест (команда EXTEST) проходит, хотя при отсутствии этой неисправности этот тест падает

8

Контакты С1.1 и С2.2 закорочены

Контакты закорочены (припой?)

Уровни напряжения на контактах 1 и 2 почти равны

9

Контакт Rх1.1 закорочен на Vdd

Контакты закорочены (припой?)

JTAG.1-тест (команда EXTEST) обнаруживает неисправность «лог.1» на контакте 1 и, возможно, на контакте 2 (без опорного напряжения)

10

Контакт Rх1.1 закорочен на землю

Контакты закорочены (припой?)

JTAG.1-тест (команда EXTEST) обнаруживает неисправность «лог.0» на контакте 1 и, возможно, на контакте 2 (без опорного напряжения)

11

Контакты Rх1.1 и Rх1.2 закорочены

Контакты закорочены (припой?)

Контакты 1 и 2 «висят», изменение сигнала подавляется как результат гистерезиса

12

Контакты Тх1.1 и Тх2.1 закорочены

Контакты закорочены (припой?)

Множество эффектов проявления этой неисправности

13

Контакты Rх1.1 и Rх2.1 закорочены

Контакты закорочены (припой?)

Множество эффектов проявления этой неисправности

14

Контакт R.1 разомкнут

Размыкание из-за припоя, отсутствие резистора

Увеличение постоянной времени на обоих контактах (без опорного напряжения) или только на контакте 1 (с опорным напряжением)

Ряд структурных особенностей стандарта 1149.6, отличающих его от базового JTAG-стандарта 1149.1, документирован в файлах BSDL [4] при помощи т.н. расширений для стандарта 1149.6. К этим особенностям относятся, прежде всего, новые структуры JTAG-ячеек РГС [7], поддерживающих 1149.6, новые команды EXTEST_PULSE и EXTEST_TRAIN, тест-приемники и их структурные детали, включая соответствие между тест-приемниками и управляемыми ими ячейками РГС.

Структура наиболее широко употребимой АС-ячейки, называемой АС_1, была приведена на рисунке 4 в [1]. Там же указывалось, что любой АC-контакт может также выступать в качестве DC-контакта, и что в случае выходного АC-контакта это обеспечивается сигналом AC_Mode, управляющим АС-мультиплексором и приходящим от контроллера ТАР. Как следует из рисунка 4 в [1], значение сигнала AC_Mode = 1 обеспечивает АС-функциональность ячейки АС_1, а значение сигнала AC_Mode = 0 преобразует ячейку АС_1 в JTAG-ячейку ВС_1.

Сигнал AC_Mode может выполнять переключение JTAG-ячейки РГС из АС_1 в ВС_1 не напрямую, а под управлением еще одного типа ячеек, вводимых стандартом 1149.6, схема которого показана на рисунке 2. Ячейки такого типа в файлах BSDL называются AC_SELU и определяются как internal. Передача в триггер захвата «лог.0» в фазе Shift-DR обуславливает подавление сигнала AC_Mode  =  1, преобразуя ячейку АС_1 в ВС_1. Обратная связь с выхода триггера фиксации на входной мультиплексор предназначена для удержания состояния этого триггера (в данном случае «лог.0») и улучшения тестопригодности схемы.

Рис. 2. Ячейка AC_SELU выбора AC/DC

В дополнение к рассмотренным ячейкам типов АС_1 (выходная) и AC_SELU (переключающая) стандарт 1149.6 вводит еще ряд специальных ячеек: АС_2 (выходная), АС_7 (двунаправленная), применяемая совместно с ЯУ типа ВС_2, АС_8 (двунаправленная), АС_9 и АС_10 (выходные с самоконтролем). Схемы ячеек и рекомендации по их применению можно найти в [5].

На рисунке 3 приведен пример совмещения ячеек, поддерживающих оба JTAG-стандарта (1149.1 и 1149.6), в одном корпусе некоторой вымышленной [6] микросхемы. Подробно рассмотрим описание такой JTAG-структуры в прилагаемом файле BSDL (см. рис. 4). Нумерация строк этого файла приведена справа в виде «— N» чтобы не нарушать принятую в стандарте структуру текста файла BSDL [4].

 

Рис. 3. Пример совмещения ячеек ИС.6 и ИС.1 в одном корпусе

Рис. 4. (начало) Файл BSDL JTAG-структуры, поддерживающей два JTAG-стандарта

Рис. 4. (окончание) Файл BSDL JTAG-структуры, поддерживающей два JTAG-стандарта

Читателю, внимательно изучившему статью [4] , не составит труда понять структуру строк 1—62. Содержимое этих строк повторяет, в сущности, соответствующие строки, описывающие хорошо нам знакомые 1149.1-структуры. Следует обратить внимание на строку 18, указывающую на внешний пакет определений стандарта 1149.6. Строки 36—41 описывают четыре дифференциальные пары контактов (Р3, Р4), (Р5, Р6), (Р8, Р9), (Р11, Р12) в виде четырех портов. Строки 54—55 добавляют в список команд новые команды стандарта 1149.6 EXTEST_PULSE и EXTEST_TRAIN и их коды. Команды PRELOAD в этом атрибуте может и не быть, поскольку ее код такой же, как и код команды SAMPLE [4]. Здесь также может не быть команд HIGHZ, CLAMP и IDCODE, поскольку они необязательны в JTAG-стандарте 1149.6, так же как и в 1149.1. Необязательный же атрибут REGISTER_ACCESS (строка 59) указывает на то, что при выдаче команд EXTEST_PULSE и EXTEST_TRAIN активизируется именно регистр граничного сканирования (РГС). Этот атрибут может, конечно, содержать также указания и на другие регистры и команды.

Рассмотрим поподробнее содержимое строк 63—79, детально описывающих структуру РГС нашей микросхемы. Строка 63 описывает цифровой вход Р2, имеющий JTAG-поддержку в стандарте 1149.1. Строки 64—66 описывают поддержку дифференциальной пары контактов Р3 и Р4 в стандарте 1149.6. В атрибуте port эти контакты описаны как входные, поэтому к каждому из них на рисунке 3 подключены тест-приемники TR (см. рисунки 6 и 8 в [1]), РГС-ячейки 13 и 15 которых описаны в строках 64 и 66 как observe_only. Эти ячейки играют принципиальную роль в стандарте 1149.6, принимая выходные сигналы тест-приемников. Входная ячейка 14, описанная в строке 65, является необязательной, может использоваться в стандарте 1149.1 в тесте межсоединений, но не играет совсем никакой роли в стандарте 1149.6. Аналогичным образом, строки 67—69 описывают поддержку дифференциальной пары контактов Р5 и Р6 в стандарте 1149.6.

Строки 70—71 описывают поддержку в стандарте 1149.6 не-дифференциального входа Р7. Как и в случае с дифференциальными парами, ячейка 9 обязательна, а ячейка 8 не играет роли в стандарте 1149.6, но может использоваться в стандарте 1149.1 в тесте межсоединений.

Строки 72—73 описывают поддержку дифференциальной пары контактов Р8 и Р9 в стандарте 1149.6. В атрибуте port эти контакты описаны как выходные (buffer), поэтому в описании РГС ячейка 7 обозначена как двустабильная (output2) выходная ячейка типа АС_1 (см. рисунок 4 в [1]).

А вот ячейка 6 типа AC_SELU (рисунок 2), описанная как внутренняя (internal), предназначена (при загрузке в нее «лог.0») для переключения ячейки 7 с поддержки стандарта 1149.6 на обычный JTAG-стандарт 1149.1, как описано выше. Контакт Р10 (строка 74) подключен к цифровой двустабильной выходной ячейке 5.

Поддержка пары дифференциальных двунаправленных контактов Р11 и Р12 описана в строках 75—79. Ячейка 4 — это обычная цифровая ЯУ типа ВС_1, предназначенная для запирания драйвера G с тем, чтобы дать возможность контактам Р11 и Р12 работать в качестве входных через буфер Н. Ячейка 3 (строка 76) — это выходная тристабильная (output3) ячейка типа АС_1, наряду с ячейкой 7 предназначенная для выполнения пары команд стандарта 1149.6 EXTEST_PULSE и EXTEST_TRAIN. В отличие от ячейки 7, ячейку 3 можно перевести в состояние с высоким импедансом, подав «лог.1» в ее ЯУ (ячейка 4). Ячейки 2 и 0 (строки 77 и 79), описанные как observe_only, предназначены для получения выходных сигналов от тест-приемников, а необязательная входная ячейка 1 в стандарте 1149.6 бесполезна, но применима в стандарте 1149.1 в тесте межсоединений.

Строки 80—87 приведенного файла BSDL характерны только для описания структур стандарта 1149.6. Начнем их рассмотрение со строк 83—87, описывающих пять АС-сигналов: А, В_Diff(0),
C_Diff(0), G_Diff(0) и E_Diff(0). Обратите внимание, что только вход А — не-дифференциальный, а остальные четыре контакта являются положительными контактами дифференциальных пар. Дело в том, что стандарт 1149.6 исходит из обязательного предположения о том, что если положительный контакт дифференциальной пары является АС-контактом [1] , то отрицательный контакт этой пары обладает теми же самыми характеристиками, так что нет никакой необходимости в его отдельном описании.

Строка 83 указывает на то, что постоянная времени ФНЧ [1] тест-приемника входного буфера А (LP_time) равна 5 нс. Выражение HP_time в этой же строке указывает на то, что тест-приемник, подключенный к ячейке 9, предназначен для приема сигналов из цепей с постоянной времени ФВЧ не менее 15 нс. Как было объяснено в [1], этот ФВЧ определяется компонентами ПП, находящимися в цепи, подключенной к контакту Р7. Номер ячейки, подключенной к тест-приемнику (9 в квадратных скобках) указывает программному обеспечению, что именно ячейка 9 имеет отношение к параметру ФВЧ, а не ячейка 8, представляющая собой входную JTAG-ячейку, подключенную к выходу буфера А.

Аналогичным же образом, строки 85 и 86 указывают на величины постоянных времени ФНЧ тест-приемников буферов С и Н (именно так, а не G), а также на то, что контакты Р4 и Р11 (и, разумеется, соответствующие им отрицательные контакты Р3 и Р12) следует подключать к цепям ПП, постоянные времени ФВЧ которых не менее 15 нс.

В строке 84 описаны тест-приемники дифференциального входного буфера В, подключенного к контактам Р5 и Р6 через развязывающие конденсаторы (см. рис. 3). Эта строка (выражение On-Chip) представляет собой, в сущности, подсказку разработчику схемы ПП о том, что нет нужды применять развязывающие конденсаторы в самой схеме. По этой же причине постоянная времени ФНЧ тест-приемника буфера В не указана, однако отмечено, что постоянная времени ФВЧ цепей ПП, подключенных к контактам Р5 и Р6, должна быть не менее
2 мкс.

Строка 87 просто указывает на то, что назначение JTAG-ячейки 7 выходного дифференциального драйвера Е может быть изменено при помощи ячейки 6, предназначенной для переключения ячейки 7 с поддержки стандарта 1149.6 на обычный JTAG-стандарт 1149.1, как описано выше. Это, в сущности, повторяет информацию, уже содержащуюся в строках 72—73.

Проведенное обсуждение могло, таким образом, еще раз показать вдумчивому читателю, что файлы BSDL, описывающие JTAG.6-структуры, содержат массу полезной информации к размышлению, касающейся тестопригодного проектирования схем ПП. Разработчикам схем следует, в частности, стремиться к JTAG.6-тестопригодному проектированию даже в тех случаях, когда в дифференциальных цепях не планируется применение развязывающих конденсаторов. Связано это, конечно, с тем очевидным фактом, что многие неисправности в цепях LVDS могут никак не проявлять себя при обычном JTAG.1-тестировании, приводя впоследствии к дисфункции ПП.

При проектировании цепей LVDS очень важно также иметь в виду не только согласование передатчиков (Ser) и приемников (Des) для обеспечения требуемой функциональности схемы, но также и их согласование в смысле постоянных времени ФНЧ и ФВЧ, как указано выше, для обеспечения JTAG.6-тестопригодности. Эти параметры описаны в соответствующих файлах BSDL как ИС передатчика, так и ИС приемника. Довольно часто цепи LVDS начинаются или оканчиваются разъемом ПП, поскольку их продолжение предусмотрено через кабель или кросс-плату. Для обеспечения тестопригодности ПП в ситуациях, когда на самой плате имеются только JTAG.6-передатчики или только JTAG.6-приемники, можно использовать модули наружного тестирования Мастер-кластер типа JEMIO.6 фирмы JTAG.ТЕСТ [8].

При наличии в цепях LVDS развязывающих конденсаторов (рисунок 3 в [1]) важно обратить внимание на то, что для тестирования несправности типа 7 (см. таблицу 1) следует выполнять обычный JTAG.1 тест межсвязей, поскольку никакой JTAG.6-тест подобных неисправностей не обнаруживает.

В следующем номере журнала будут рассмотрены основы построения и особенности программных и аппаратных средств фирмы ХJTAG для поддержки JTAG-тестирования.

Литература

1. Городецкий A., Курилан Л. «Cтандарт граничного сканирования IEEE 1149.6 для дифференциальных цепей», часть 10, «Производство электроники» 2009, №1.

2. Городецкий A., Курилан Л. «Тестопригодное проектирование схем для граничного сканирования», часть 5, «Производство электроники» 2008, №1.

3. Городецкий A., Курилан Л. «Тестопригодное проектирование и сравнительные характеристики внутрисхемного тестирования ICT», часть 16, «Производство электроники» 2010, №3.

4. Городецкий A., Курилан Л. «Язык описания структур граничного сканирования», часть 3, «Производство электроники» 2007,
№7.

5. Стандарт IEEE 1149.6 www.jtag-test.ru/JTAGUniversity/index.php.

6. K.Parker, «The Boundary-Scan Handbook. Analog and Digital», KAP, 2003.

7. Городецкий A., Курилан Л. «Регистры и команды граничного сканирования», часть 2, «Производство электроники» 2007, №6.

8. Модули наружного JTAG-тестирования www.jtag-test.ru/SoftAndHard/JEMIO.php.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *