Ростислав ГРУШВИЦКИЙ
Игорь ИЛЬИН
[email protected] Максим МИХАЙЛОВ
Граничное сканирование
современных высокоскоростных соединений
Одной из важнейших задач современного проектирования является тестирование различных видов соединений. Методы граничного сканирования впервые введены стандартом IEEE Std 1149.1-1990 [1]. Они хорошо зарекомендовали себя в задачах тестирования соединений, обеспечивающих обмен одиночными цифровыми сигналами, но не были ориентированы на тестирование других типов соединений, получающих в последнее время все большее распространение.
Расширения основного стандарта, принятые в специальном стандарте IEEE Std 1149.4-1999 IEEE Standard for a Mixed-Signal Test Bus [2] и частично рассмотренные на страницах журнала в статье [3], позволяют, в частности, решать задачи тестирования соединений смешанного типа (аналогового и цифрового) и со значительными ограничениями для дифференциальных пар сигналов. Большие возможности для тестирования современных высокоскоростных соединений открывает специальный стандарт IEEE Std 1149.6-2003 IEEE Standard for Boundary-Scan Testing of Advanced Digital Networks [4], посвященный исключительно задачам тестирования соединений новых типов (для переменного тока и/или дифференциальных пар сигналов). В соответствии с назначением стандарта его часто называют AC JTAG. Краткое упоминание об особенностях этого стандарта можно найти в обзорном материале [5]. В настоящей статье авторы предприняли попытку рассмотреть принципы организации тестирования соединений этих типов (переменного тока и/или дифференциальных), методы проведения экспериментов и существующее положение в области выпускаемых промышленностью интегральных схем (ИС) и поддерживающем стандарт программном обеспечении (ПО).
Введение
Говоря о тенденциях развития проектирования вычислительных систем, нельзя не отметить повышение скоростей обмена между составляющими их компонентами. Следствием этого является широкое внедрение новых высокоскоростных интерфейсов передачи данных. До последнего времени соединительные провода от ИС к ИС были главным образом широкими и параллельными друг
другу. Уровни передаваемых сигналов соответствовали уровням цифровых сигналов (5 В или в лучшем случае 3,3 В).
Вместе с тем, необходимые скорости обмена к настоящему времени превышают величины не только в единицы, но даже в десятки гигабит в секунду. Традиционный обмен цифровыми сигналами на постоянном токе уже полностью себя исчерпал и не может обеспечить таких скоростей. Многие системы, проектируемые сегодня, содержат высокоскоростные децентрализованные соединения с последовательной передачей данных. Технология проектирования и изготовления печатных плат для надежной передачи данных вынуждена использовать новые технологии соединений.
Применяется связь на переменном токе (AC coupling) и/или обмен дифференциальными парами сигналов. При связи на переменном токе между приемником и передатчиком ставится статическое блокировочное устройство (обычно это простые конденсаторы). В результате передающий драйвер источника сигналов и приемник получателя могут иметь различные питающие напряжения, а диапазоны их режимов работы по постоянному току могут не совпадать.
В дифференциальном сообщении два выхода драйвера соединены таким способом, что два логических провода, которые обеспечивают обмен данными, в рабочем режиме всегда управляются взаимно дополняющими напряжениями. Приемники, в свою очередь, определяют получаемое логическое значение согласно разности полярности между напряжениями на двух проводах. Обычно различие, которое является номинально положительным, определяет логику 1, в то время как различие, которое является номинально отрицательным, определяет логику 0. В результате весь общий шум двух проводов
отбрасывается. Благодаря этому способу обеспечивается более высокая степень шумовой защищенности, и, следовательно, достигается более высокая степень надежности передачи сообщений для подобных цепей.
Возрастание стоимости высокоскоростных соединений компенсируется переходом от параллельной передачи данных к последовательной. Распространенным приемом становится встраивание внутри интегральных схем высокоскоростных, работающих на тактовых частотах, в несколько раз превышающих входную частоту ИС, блоков преобразования данных из последовательной формы в параллельную и обратно (SerDes, serializer/deserializer). Такие же блоки выпускаются и в форме отдельных (законченных) ИС. Более подробное описание принципов работы таких блоков можно найти в [6] на страницах 92-94.
Конечно, дифференциальные соединительные провода могли бы быть сделаны статическими и тестируемыми постоянным током на базе стандарта 1149.1. Но при этом необходимо, чтобы уровни сигналов соответствовали уровням цифровых сигналов и два провода были бы протестированы индивидуально. Другими словами, для такой организации необходимо включить два тестовых драйвера и два тестовых приемника в каждую дифференциальную пару. Таким образом, ячейки граничного сканирования необходимо было бы вставить фактически между дифференциальными драйверами и приемниками и соответствующими контактами ИС. Подобный подход имеет целый ряд недостатков, в частности, существенное замедление работы при-емо-передатчиков в штатном режиме.
Переход на новые типы соединений потребовал соответствующих изменений в подходах к их тестированию. Традиционные типы соединений (одиночные цифровые) прекрасно тестируются при ориентации на методы
граничного сканирования, заложенные в стандарт JTAG-интерфейса IEEE Std 1149.1-1990. Более подробную информацию о тестировании в рамках этого стандарта можно найти в [7]. Изменения стандарта (введенные в 1999 году) в специальном стандарте IEEE Std 1149.4-1999 [2] позволили расширить класс тестируемых соединений, включив тестирование аналоговых и смешанных (аналоговых и цифровых) межсоединений. Более того, как уже отмечалось выше, этот стандарт впервые установил варианты решения проблемы тестирования соединений для дифференциальных пар сигналов, работающих на постоянном токе.
Текущее состояние проблем связи на печатных платах характеризуется необходимостью одновременного применения и старых, и одной или сразу двух новых технологий топологии соединений. Существенно, что обе эти топологии фактически отметают статические методологии испытаний постоянного тока, требуя формирования динамического стимулирующего воздействия (то есть работы на переменном токе) для адекватного охвата тестированием потенциальных отказов в любых соединительных цепях.
До последнего времени отсутствовали методы и технические решения, позволяющие тестировать межсхемные соединения новых типов, а тестирование таких соединений, основанное только на решениях, заложенных в базовый стандарт, давало неудовлетворительные результаты. Накопленный ранее опыт, получивший распространение в конкретных решениях, позволил искать выход с помощью добавления новых свойств к базовому стандарту с сохранением ранее отработанных методов граничного сканирования. Поэтому подробнее остановимся на возможностях, открывающихся при ориентации на необходимые изменения в методах граничного сканирования для цепей, передающих сигналы по переменному току. Расширения были введены выпуском нового специального стандарта IEEE Std 1149.6-2003 IEEE Standard for Boundary-Scan Testing of Advanced Digital Networks [4].
Как и все другие изменения базового стандарта, это расширение касается трех основных составляющих. Добавление нового типа межсоединений требует, прежде всего, определенных изменений в аппаратной организации граничного сканирования, в данном случае — в структуре аппаратуры, связанной с работой ячеек граничного сканирования. Изменения аппаратуры с неизбежностью требуют определенных изменений в системе команд, воспринимаемой ИС с новым управлением сканированием. И, наконец, введенные изменения в аппаратной части и командной поддержке приводят к необходимости разработки (или существенной модернизации) программного, а возможно, и аппаратного тестирующего обеспечения. При этом в программном обеспечении, в свою очередь, нужно
различать два вида ПО: одно связано с автоматизацией простейших действий в JTAG-цепочке, а другое — с автоматизацией создания тестов, базирующихся на соответствующем стандарте. Построение статьи и содержание отдельных ее частей последовательно отвечает на вопросы по каждой составляющей.
Объект тестирования
До последнего времени использовалась передача по постоянному току на уровне стандартов TTL и LTTL. В этом случае потенциально можно было производить тестирование межсоединений, опираясь на возможности стандартных ячеек граничного сканирования (BSC) базового стандарта IEEE Std 1149.1-1990. Нарис. 1 в качестве примера приведена схема соединения двух ИС с тестированием соединения приемника и передатчика дифференциальной парой при помощи стандартных ячеек граничного сканирования BSC.
Внутри условного изображения ячейки опущены не существенные для дальнейшего рассмотрения элементы (в частности, целый ряд мультиплексоров). Нарис. 1 подчеркнуто наличие триггера захвата входного сигнала (capture register, Rc) и триггера выходного сигнала корректировки (update register, Ru). Предполагается, что уровень сигналов соответствует одному из стандартов TTL или LTTL. Тогда программное обеспечение, поддерживающее стандарт IEEE Std 1149.1-1990, может протестировать соединения между соответствующими контактами приемников и передатчиков. В соответствии со стандартом, ПО легко контролирует каждое из отдельных соединений. Так, базируясь на результатах тестирования работы пары BSC_1 и BSC_4 и отдельно пары BSC_2 и BSC_5, ПО может
сделать вывод о работоспособности в отдельности для проводника 1 и 2. Однако проверить результаты совместной работы парафаз-ных сигналов, даже если в схемы ИС будут введены дополнительные ячейки BSC_3 и BSC_6, ПО не сможет, так как стандартом не предусмотрен тип ячеек с подобным способом подключения.
Возможность контроля передачи парафаз-ных сигналов предоставляет соединение (в соответствии со стандартом IEEE Std 1149.4-1999) приемника и передатчика дифференциальной парой при помощи модулей цифрового сканирования DBM Digital Boundary Module (рис. 2). Изменение связано не столько с другой аббревиатурой названия модуля, сколько с допустимостью использования идей граничного сканирования как для тестирования одиночных цифровых соединений (что не изменилось), так и для контроля одновременного поведения двух сигналов дифференциальной пары. В качестве модулей DBM_4 и DBM_6 могут использоваться модули control-and-observe DBM (имеются оба триггера Rc и Ru) или observe-only DBM (есть только триггер Rc). Применение модуля того или иного типа зависит от необходимости поддерживать команды INTEST или RUNBIST в составе команд TAP контроллера проектируемой ИС.
Концепция тестирования соединений, разрешенных в этих двух стандартах, состоит в последовательной подаче нескольких (обычно двух: логическая единица и логический ноль) уровней постоянного напряжения на одни контакты и проверка через некоторое время уровней напряжения, установившихся на других контактах. Контакты в зависимости от конфигурации межсоединений тестируемой платы могут принадлежать как к одной и той же ИС, так и к различным ИС.
Вместе с тем в стандарте IEEE Std 1149.4-1999 помимо цифровых модулей DBM предусмотрена возможность применения аналоговых модулей сканирования (Analog Boundary Module, ABM). Наличие нового типа ячеек и нового дополнительного (управляемого содержимым данных в JTAG-цепочке) двухпроводного подключения выбранных внутренних цепей устройства граничного сканирования к тестирующему прибору изменила ситуацию с возможностью тестирования дифференциальных соединений. Возможная структура тестирования таких соединений приведена на рис. 3. К базовой концепции тестирования стандарта 1149.1 — передаче постоянных напряжений и допустимости контроля на выходах входного дифференциального каскада и входе выходного дифференциального каскада — в стандарте 1149.4 добавлена возможность трансляции внешних и внутренних сигналов дифференциальных каскадов к тестирующему устройству. Поэтому проведение тех или иных экспериментов с дифференциальными соединениями и каскадами зависит от аппаратуры, заложенной в тестирующем устройстве, и исполняемых в нем тестовых последовательностей. Более подробно стандарт IEEE Std 1149.4-1999 был рассмотрен в [3]. Существенным недостатком этого стандарта является необходимость трансляции сигнала от исследуемого контакта к тестирующему устройству через длинную цепочку аналоговых ключей и межсоединений между ИС. Тестирование высокоскоростных цепей с учетом возможного взаимного влияния аналогичных цепей при этом подходе становится весьма проблематичным. Кроме того, отсутствуют стандарты и рекомендации по построению аппаратуры тестирующих устройств. Стремление обойти отмеченные недостатки привело к разработке специального стандарта IEEE Std 1149.6-2003 IEEE Standard for Boundary-Scan Testing of Advanced Digital Networks.
Возможности тестирования межсоединений, предназначенных для передачи по переменному току и на основе посылки дифференциальной пары сигналов, прежде всего, зависят от двух факторов. Первым является необходимость передачи либо только по постоянному току, либо и по постоянному, и по переменному току. Вторым фактором явля-
ется уровень пересылаемых сигналов. Если кратко сформулировать задачи, поставленные разработчиками при создании нового стандарта, то необходимо выделить следующие:
• дать возможность производить тестирование на одном и том же оборудовании как для соединений по постоянному, так и по переменному току;
• обеспечить способность производить единовременное тестирование большого числа межсоединений;
• предусмотреть поддержу тестирования низковольтных дифференциальных связей; обеспечить минимальность аппаратных затрат на реализацию тестирования каждого каскада;
• соблюдать максимальную близость к базовому стандарту 1ЕЕЕ Std 1149.1-1990 (с возможностью использовать алгоритмы ранее используемых проектов для тестирования цепей старых типов);
• результаты тестирования новых типов соединений, как и ранее, необходимо проверять путем анализа в регистре данных граничного сканирования двух цифровых значений — логического нуля и логической единицы.
Аппаратные изменения стандарта
Изменения в аппаратуре отдельного дифференциального соединения схематично отражены в рис. 4. Основными добавочными
элементами в аппаратуре тестируемой ИС являются:
• со стороны передатчика для выходных каскадов — формирователь тестовых импульсов с длительностью и, возможно, периодом, которые управляются контроллером тестового устройства;
• стандарт позволяет дополнительно подключить к выходным контактам передатчика схемы, фиксирующие значения выходных сигналов линий в регистрах граничного сканирования RC;
• со стороны приемника — схема приема сигналов по каждой линии (если соединение дифференциальное) и передача результатов тестирования в регистр данных JTAG-цепочки.
Так как для соединения передатчика и приемника данных на переменном токе используются развязывающие конденсаторы, то при передаче тестовых импульсов будет происходить искажение их формы (дифференцирование). Чтобы контролировать получение посылок, в приемниках необходимы схемы восстановления тестовых импульсов (рис. 5). Для того чтобы не замедлять работу каскадов в рабочем режиме, специальные тестовые схемы включаются параллельно входным каскадам дифференциальных пар (необходимо реализовать детекторы фронтов сигналов). Из соображений минимальности аппаратных затрат желательно использовать одну и ту же схему восстановления как для соединений по постоянному, так и по переменному току. Изменения в схеме восстановления для двух различных типов межсоединений должны управляться контроллером JTAG-интерфейса и по возможности сводиться к простому переключению минимального числа электрических цепей.
Предлагаемый в стандарте способ построения схемы детектора фронтов приведен на рис. 6. Основным элементом каждого детектора являются два компаратора Comp1 и Comp2. Для надежного выделения парафаз-ных сигналов компараторы должны иметь уровень срабатывания, равный половине амплитуды передаваемых сигналов (напря-
HR‘!
I 1-І
I___________________
тск
Тестовый
генератор
От ядра ИС
'т'
О
ЇЇ
S
£
Узел
выделения — Кс
сигнала
Г г-г., 1 I 1 Узел
Г 1. — выделения — Кс
сигнала
К ядру ИС
Рис. 4. Тестирование соединения по постоянному току по стандарту 1149.6
жение Vbias), и, кроме того, иметь добавочное ненулевое смещение, создающее напряжение гистерезиса компараторов. В модели приемного устройства, приведенной на рис. 6, это нашло отражение в форме двух источников напряжения VHYST.
При передаче сигналов по постоянному току (режим DC) основной проблемой становится задача устранения величины смещения парафазных сигналов. Для этого аналоговый переключатель AC/DC должен быть поставлен в состояние DC, обеспечивая подачу на компараторы напряжения VBIAS. Выходной триггер при помощи двух компараторов уровней восстанавливает стандартные уровни на-
пряжений тестовых импульсов. Временные диаграммы сигналов в характерных точках схемы для этого режима приведены на рис. 7.
При передаче сигналов по переменному току (режим АС) в каждую цепь межсоединения включается емкость. Следствием этого является дифференцирование входных сигналов, поэтому восстановление исходных сигналов требует других решений. Предлагаемый стандартом способ решения для этой ситуации приведен на рис. 6. В отличие от предыдущего случая аналоговый переключатель находится в состоянии АС. При этом на соответствующие входы компараторов вместо напряжения подается выход ИС цепочки. То есть основной
А
Рис. 8. Временная диаграмма восстановления сигналов (AC-режим)
идеей решения проблемы устранения неизвестной заранее величины сигнала смещения является сравнение величины входного сигнала с самим собой, но задержанным на небольшое время (время задержки определяется постоянной времени RC цепочки). В результате подобной задержки на выходе одного компаратора образуются импульсы, практически соответствующие переднему фронту сигнала до дифференцирования проходной емкостью, а на выходе другого компаратора образуются импульсы, соответствующие заднему фронту того же сигнала. Выходной триггер приемника при отсутствии неисправностей в цепях связи позволяет восстановить форму выходных сигналов передатчика. Временные диаграммы сигналов схемы для этого режима приведены на рис. 8. Возможность установки из теста произвольного начального состояния триггера позволяет игнорировать в тесте те фронты сигналов, которые не должны использоваться.
Программные добавления стандарта
В общем случае расширения стандарта не должны влиять на исполнение команд базового стандарта для типов контактов, на которые не распространяется действие расширения. Однако при расширениях стандартов могут появляться как новые команды, так и требоваться определенные изменения традиционных команд. Рассмотрим влияние стандарта 1149.6 на контакты ИС, охваченные тестовыми процедурами. При добавлении в ИС средств тестирования наибольшее влияние оказывается на выходные каскады. Тестирование должно обеспечить определенную управляемость состоянием выходных (в том числе и двунаправленных) контактов ИС. Во всех случаях разработчики стремятся использовать типовые выходные драйверы с их «родными» уровнями и нормированными фронтами. Тестирующие воздействия «врезаются» между штатными внутренними цепями и штатными выходными драйверами, то есть в наихудшем случае добавляется один мультиплексор перед выходным драйвером.
Команды, не являющиеся тестовыми (то есть SAMPLE, PRELOAD, BYPASS, IDCODE, USERCODE), не оказывают никакого влияния на сканируемые выходные контакты любого типа. В режиме тестирования по постоянному току (DC test) команды EXTEST и CLAMP базового стандарта, и даже опционные команды RUNBIST и INTEST, могут передавать данные на входы выходных драйверов. Команда HIGHZ всегда переводит все типы сканируемых контактов в высокоимпе-дансное состояние.
Стандарт добавляет всего две новые команды: EXTEST_PULSE и EXTEST_TRAIN. Эти команды должны специфически исполняться в режиме переменного тока (AC test). В режиме постоянного тока (DC test) исполнение команд совпадает с исполнением стан-
Рис. 6. Схема детектора фронтов сигнала
А ------- ------------ ---------
В _______
С ___________________________________________
D
Е ~
F
Рис. 7. Временная диаграмма восстановления сигналов (DC-режим)
дартной команды граничного сканирования EXTEST для контактов дифференциальных пар.
Выполнение стандарта 1149.6 требует добавления к выходным драйверам дифференциальных каскадов генераторов, которые могут послать единственный (отдельный) импульс или последовательности импульсов в зависимости от того, какая команда загружена в регистр команд JTAG-контроллера (по структуре совпадающему с типовыми контроллерами стандарта 1149.1), будет ли это EXTEST_PULSE или EXTEST_TRAIN команда.
Поскольку стандарт предусматривает постановку двух схем, фиксирующих значения напряжений в передающих линиях выходного драйвера в регистрах захвата данных RC цепочки граничного сканирования, то тем самым при подаче тестовых импульсов на вход передающего дифференциального каскада легко проверяется работоспособность этого каскада.
Исполнение команды EXTEST_PULSE, как всегда, начинается в момент спадающего фронта TCK в состоянии Update-IR TAP контроллера. В этом состоянии по заднему фронту TCK фиксируется информация, находящаяся в регистре данных граничного сканирования. Одиночный импульс начинается в момент первого спадающего фронта TCK в состоянии Run-Test/Idle контроллера, и его длительность определяется временем пребывания TAP контроллера в состоянии Run-Test/Idle. Тестовый сигнал сбрасывается по заднему фронту TCK в состоянии Select-DR TAP контроллера. Таким образом, тестирующее устройство может в определенных пределах регулировать длительность тестового импульса (ограничение кладет минимальная пауза между импульсами TCK).
Исполнение команды EXTEST__TRAIN в основном повторяет действия команды EXTEST_PULSE. Отличие состоит в том, что период каждого тестового импульса совпадает с периодом сигналов TCK, а длина цепочки определяется временем пребывания TAP контроллера в состоянии Run-Test/Idle.
Сигнал каждого входа дифференциального каскада приемника требует его одновременной передачи на вход тестового детектора фронтов, работа которого рассмотрена в предыдущем разделе. Схема тестового детектора должна обеспечивать поддержку каждой новой команды, так же как традиционную статическую команду стандарта 1149.1 EXTEST. Когда активной является команда EXTEST (стандарта 1149.1), схема детектора должна вернуться к считыванию уровня; когда активна одна из новых для 1149.6 команд, схема тестового детектора должна фиксировать переходы сигналов (фронты).
Моменты защелкивания тестовых данных в регистрах граничного сканирования зависят как от типа выполняемой команды, так и режима работы.
Для команды EXTEST защелкивание, как обычно, происходит по заднему фронту сигнала TCK в состоянии Capture_DR TAP автомата JTAG-контроллера. Для команд EXTEST_PULSE и EXTEST_TRAIN защелкивание происходит по фронту сигнала TCK в состоянии Exit1_DR или Exit2_DR TAP автомата JTAG-контроллера.
Окончание следует
Литература
1. IEEE Std 1149.1-1990, IEEE Standard Test Access Port and Boundary-Scan Architecture.
2. IEEE Std 1149.4-1999 IEEE Standard for a Mixed-Signal Test Bus.
3. Грушвицкий Р., Ильин И., Михайлов М. Метод граничного сканирования для смешанных сигналов // Компоненты и технологии. 2006. №№ 8, 9.
4. IEEE Std 1149.6-2003 IEEE Standard for Boundary-Scan Testing of Advanced Digital Networks.
5. Collins P. Extensions to the IEEE 1149.1 boundary-scan standard // Electronic Design News. 2005. September, 15.
6. Грушвицкий Р. И., Мурсаев А. Х., Угрюмов Е. П. Проектирование систем на микросхемах с программируемой структурой. СПб.: БХВ-Петербург, 2006.
7. Грушвицкий Р. И., Мурсаев А. Х., Угрюмов Е. П. Проектирование систем на микросхемах программируемой логики. СПб.: БХВ-Петербург, 2002.