JTAG и Граничное Сканирование

advertisement
JTAG и Граничное Сканирование
1.
2.
3.
4.
5.
6.
7.
Что такое JTAG
Порт тестового доступа: TAP (Test Access Port)
Автомат управления TAP (TAP-controller)
JTAG цепочка
Что такое Граничное Сканирование (Boundary Scan Testing
Архитектура поддержки Граничного Сканирования
Возможности Граничного Сканирования
1. Что такое JTAG
Когда речь идет о JTAG, прежде всего, подразумевается стандарт: IEEE 1149.12001 Test Access Port and Boundary-Scan Architecture (Стандарт IEEE 1149.1-2001
Порт тестового доступа и Архитектура Граничного сканирования ).
С ростом степени интеграции БИС, плотности монтажа и появлением
многослойных печатных плат, методы диагностики, основанные на подключении
к контрольным точкам платы и выводам микросхем, становятся все более
сложными в использовании и неэффективными.
Основные недостатки альтернативных способов диагностики были связаны,
прежде всего, с отсутствием соответствующих общепринятых стандартов—и, как
следствие, широкой поддержки проектировщиков и производителей.
В начале 1985 года объединенными усилиями нескольких европейских
компаний была создана группа для разработки решения проблем тестирования
интегральных схем, цифровых устройств и систем. Эта группа получила имя:
Joint European Test Action Group (JETAG). Позднее, в 1988 году к ней
присоединились представители североамериканских компаний, и название было
изменено на Joint Test Action Group (JTAG).
Результатом работы этой группы явился принятый в 1990 году стандарт IEEE
Std.1149.1 и его усовершенствованная версия: стандарт IEEE Std.1149.1a (1993
год).
В основу стандарта положена идея внедрение в компоненты цифрового
устройства средств, обеспечивающих унифицированный подход к решению
следующих задач:



Тестирование связей между интегральными схемами, после того, как они
были смонтированы на печатной плате или другой основе;
Наблюдение за работой компонент без вмешательства в их нормальную
работу, или непосредственное управление одним или более компонентом;
Обеспечение стандартизованного доступа к произвольным средствам
самотестирования, встраиваемым в БИС;
При этом в общем виде сам процесс тестирования выглядит следующим
образом:
Тестируемая плата с расположенными на ней БИС подключается, через
последовательный канал передачи данных (JTAG интерфейс), к некоторому
ведущему
устройству.
Ведущее
устройство,
используя
возможности
предоставляемые JTAG, решает задачи связанные с диагностикой тестируемого
устройства, локализации неисправностей, загрузкой конфигураций PLD и т.п.
Как правило, ведущим устройством является персональный компьютер,
оснащенный соответствующим программным обеспечением. Подключение к
ведомому устройству осуществляется через параллельный или последовательный
порт, или через плату расширения. Впрочем, если задачи решаемые через JTAG
достаточно просты, как загрузка начальной конфигурации в PLD, или
тестирование общей работоспособности устройства после включения питания, то
роль ведущего устройства может играть простейший микропрограммный автомат
постоенный на базе ПЗУ и счетчика.
Рис 1. Тестирование устройства по JTAG.
Таким образом, стандарт JTAG определяет:


Интерфейс, через который осуществляется обмен тестовыми инструкциями
и данными между ведущим устройством и встроенными средствами
тестирования (TAP — Test Access Port) ;
Минимальный набор средств тестирования, встраиваемых в БИС (средства
поддержки метода Граничного Сканирования);
2. Порт тестового доступа: TAP (Test Access Port).
Когда мы говорим о передаче информации через JTAG, то мы подразумеваем
обмен между ведущим устройством и встроенными в БИС средствами
тестирования. Для этой цели был разработан TAP (Test Access Port)—Порт
Тестового Доступа.
Аппаратная поддержка поддержки JTAG реализуется достаточно простыми
схемами. TAP требует 4-х внешних контактов:


TDI (Test Data Input)—контакт для получения последовательных данных.
На этот контакт последовательно, бит-за-битом податься данные, которые
затем интерпретируются схемой управления;
TDO (Test Data Output)—контакт вывода последовательных данных. С


этого контакта ведущее устройство последовательно считывает данные из
БИС (например результат тестовых операций);
TCK (Test Clock Input)—контакт сигнала синхронизации обмена;
TMS (Test Mode Select)—этот контакт управляет состоянием внутреннего
автомата TAP. В частности с помощью этого контакта определяется что
грузиться: команда или данные, а также определяться начало и конец
загрузки;
Следующий контакт не является обязательным для реализации:

TRST (Test ReSeT)—сброс в начальное состояние контроллера внутреннего
автомата TAP
Ниже схематически показана ИС со встроенной схемой поддержки JTAG.
Рис. 2. ИС со встроенной схемой поддержки JTAG
В процессе обмена информацией через TAP, ведущее устройство воспринимает
такую БИС как сдвиговый регистр. При этом



TDI—вход сдвигового регистра;
TDO—выход сдвигового регистра;
TCK—сигнал сдвига;
В зависимости от состояния автомата TAP в канал может быть включен либо
регистр данных либо регистр команды.
Регистр команды в JTAG контроллере всегда один.
Регистров данных в JTAG контроллере может быть сколько угодно. Какой
именно регистр данных будет выбран для подключения, как правило,
определяется загруженной командой.
Стандарт JTAG требует наличия в контроллере одноразрядного регистра
данных, называемого BYPASS. Его назначение будет пояснено ниже.
Рассмотрим
более
встраиваемую в БИС:
подробно
схему
управления
JTAG
интерфейсом,
Рис. 3. Сехема управления JTAG иннтерфейсом
В состав схемы входят:



Три сдвиговых регистра (регистр команд (IR), регистр пропуска (Bypass) и
регистр данных (DR);
Выходной мультиплексор (MUX);
Контроллер управления (TAP Controller).
Основным регистром является регистр данных, он служит источником и
приемником данных при выполнении в JTAG цепочках любых команд. С точки
зрения устройства управления, регистр данных является одним из трех
сдвигающих регистров, включаемых между контактом для подачи входной
информации (контакт TDI) и контактом для получения выходной информации
(контакт TDO).
3. Автомат управления TAP (TAP-controller)
Можно выделить два важных режима или состояния TAP:

Состояние загрузки команд;

Состояние загрузки данных;
Режим работы определяется текущим состоянием встроенного в TAP конечного
автомата. Его граф приведен ниже:
Рис. 5. Граф состояний управляющего автомата TAP.
Граф включает в себя 16 состояний. Переход от состояния к состоянию
осуществляется по каждому переднему фронту TCK. Ветвь перехода зависит от
текущего состояния сигнала TMS.
Начальным состоянием автомата является Test Logic Reset. После включения
питания, ведущее устройство "не знает", в каком состоянии окажется автомат
TAP тестируемого устройства. Необходим способ гарантированного перевода TAP
в начальное состояние. Таких способов два:


Установить на TMS высокий уровень и подать 5 или более импульсов TCK .
В этом услучае автомат окажеться в состоянии Test Logic Reset;
Если реализован контакт TRST то автомат можно сбросить импульсом на
этом выводе;
Загрузки команды в регистра команды происходит в состоянии Shift-IR.
Загрузка данных
состоянии Shift-DR.
происходит
в
заданный
регистр
данных
происходит
в
Какой именно регистр данных будет выбран для обмена, определяется текущим
содержимым регистра команды.
Ниже приведен более подробное описание каждого состояния:

Test-Logic-Reset—сброс
логики
тестирования.
В
этом
состоянии











тестирующая логика отключается, регистр команды инициализируеться
кодом команды BYPASS или кодом команды вывода идентификационного
кода интегральной схемы (IDCODE);
Run Test\Idle—состояние ожидания или выполнения внутренних тестов.
Это состояние используеться как промежуточное между операциями.
Например,
если
загрузкой
некоторой
команды
и данных,
была
инициализирована продолжительная тестовая процедура, то на время ее
выполнения TAP следует перевести в это состояние;
Select-DR-Scan—промежуточное состояние автомата, позволяет попасть в
ветвь автомата, связанную с загрузкой данных;
Select-IR-Scan—промежуточное состояние автомата, позволяет попасть в
ветвь автомата, связанную с загрузкой команды;
Capture-DR—это состояние подготовки данных к обмену. Данные, которые
должны
быть
переданы
ведущему
устройству,
загружаются
в
соответствующий регистр данных контроллера JTAG;
Shift-DR—в этом состоянии регистр данных включаеться между выводами
TDI и TDO. Данные, подготовленные для ведущего утройства (результат
текущей команды загрущенной в командный регистр) последовательно
выдвигаються наружу, замещаясь данными, которые передаються ведущим
устройством;
Exit1-DR, Exit2-DR, Exit1-IR, Exit2-IR—промежуточные состояния, не
оказывают никакого влияния на состояние тестовой логики, предназначены
для быстрого перехода в начальное состояние;
Pause-DR,
Pause-IR —эти
состояния,
позволяют
приостанавливать
продвижение
информации
на
произвольное
количество
тактов
синхронизации (например, для выполнения каких либо действий в БИС с
внешним тактированием);
Update-DR—это
состояние,
в
котором
вдвинутые
данные
"защелкиваються", в момент выхода из этого состояния тестовая логика
приступает к соотвествующей операции с использованием загруженных
данных;
Capture-IR—фактически промежуточное состояние, не оказывает никакого
влияния на состояние тестовой логики;
Shift-IR—в этом состоянии регистр команды включаеться между выводами
TDI и TDO. Текущее содержмое регистра последовательно выдвигаеться
наружу,
замещаясь
командой,
которые
передаваемой ведущим
устройством;
Update-IR—cостояние фиксации и активизации вдвинутой команды;
4. JTAG-цепочка.
Если на плате смонтировано несколько ИС, поддерживающих JTAG, то они
объединяються в так называемую JTAG цепочку:
Рис 4. Схема JTAG-цепочки.
Стандарт не вводит никаких ограничений на количество устройств в цепочке.
В процессе обмена вся цепочка представляет собой один сдвиговый регистр,
каждой ИС будет соответствовать определенное количество разрядов в этом
регистре. Ведущее устройство должно "знать" количество разрядов для каждой
БИС.
5. Что такое Граничное Сканирование (Boundary Scan Testing)
Стандарт JTAG определяет минимально-необходимый набор средств, который
должен быть включен в состав БИС для того чтобы ее можно было вовлечь в
процесс тестирования методом Граничного Сканирования. Главная идея метода—
получение ведущим устройством доступа к внешним выводам БИС через JTAG,
включая:


Возможность наблюдения за выводами, без вмешательства в нормальную
работу тестируемого устройства,
Прямое управление выводами БИС.
6. Архитектура поддержки Граничного Сканирования
Рассмотрим подробнее
требованиями JTAG.
структуру
БИС,
построенными
в
соответствии
с
Рис. 5. Архитектура БИС поддерживающая метод граничного сканирования.
Основу архитектурной поддержки метода состоявляют ячейки граничного
сканирования (BSC—Boundary Scan Cell). Последовательность из этих ячеек
разделяет внутреннюю логику БИС и ее внешние выводы. С точки зрения обмена
эта последоваетельность представляет собой один регистр данных, который
включаться в канал JTAG. Такой регистр называеться Регистром Граничного
Сканирования
(Boundary
Scan
Register).
простой вариант схемы отдельной ячейки:
Ниже
приведен
наиболее
Рис. 6. Схема сканирующей ячейки
Можно выделить несколько режимов в работе ячейкиЖ



Режим сдвига, когда в триггера Т1 по сигналу "захват" сохраняеться
состояние аналогичного триггера предыдущей ячейки. В этом режиме
ведущее устройство последовательно выдвигает текущее состояние ячеек и
вдвигает новое;
Режим наблюдения ("Sample") В этом режиме по импульсу текущее
состояние вывода фиксируется в триггере, и может быть потом считано
ведущим устройством. При этом, в процессе обмена данные получаемая от
ведущего устройства фиксируются в триггере. При необходимости, в
режиме тестирования (EXTEST) эти данные могут быть выведены на
внешний вывод;
Режим тестирования ( EXTEST—Executing Test ). В этом режиме на выход
подается логическое значение, которое находиться в триггере Т2;
В приведенной схеме на каждый вывод БИС приходиться один бит регистра
граничного сканирования (его роль играет триггер Т1). Однако очень часто
встречаються схемы, в которых на каждый вывод приходиться 3 бита: бит для
вывода значения в тестовом режиме, бит, сохраняющий фактический логический
уровень, находящийся на выводе, и бит управляющий переводом вывода в
высоко-импедансное состояние.
7. Возможности Граничного Сканирования
Таким образом ведущее устройство может получить доступ к любому выводу
любой БИС, включенной в JTAG-цепочку.
Рис.
7. Плата с поддержкой JTAG.



Выставляя на одних выводах логические уровни и проверяя состояния
других ведущее устройство может делать заключение о наличии или
отсутствии связей между выводами различных БИС;
Перехватывая управление выводами можно формировать на выводах
областей не охвеченных цепочкой тестовые комбинации и проверять
корректность реакций. Например, управляя выводами центрального
процессора произвести тестирование работоспособности ОЗУ;
Делать "снимки" состояний контактов интегральных схем цифрового
устройства, и на основе их анализа делать заключение о правильности его
работы;
Download