close

Вход

Забыли?

вход по аккаунту

?

Тестер цифровых бис на базе JTAG поддерживающих технологию перифирийного сканирования.

код для вставкиСкачать
KiT#47(3)_web.qxd
3/30/2005
10:24 AM
Page 138
Компоненты
Компоненты и технологии, № 3’2005
Тестер цифровых БИС,
поддерживающих технологию
периферийного сканирования
Андрей Строгонов
Сведения по стандарту JTAG
в редакции IEEE Std 1149.1
andreis@hotmail.ru
Сергей Цыбин
chipcec@comch.ru
Алексей Быстрицкий
chipcec@comch.ru
138
Термином JTAG обозначают совокупность средств
и операций, позволяющих проводить тестирование
БИС без физического доступа к каждому ее выводу.
Аббревиатура JTAG возникла по наименованию разработчика — объединенной группы по тестам Joint
Test Action Group. Термином «периферийное сканирование», или по-английски Boundary Scan Test (BST),
называют тестирование по стандарту JTAG (IEEE Std
1149.1). Такое тестирование возможно только для
ИС, внутри которых имеется набор специальных
элементов — ячеек периферийного сканирования
(Boundary Scan Cells) и схем управления их работой.
Механизм граничного сканирования (Boundary Scan)
является промышленным стандартом, который был
разработан группой специалистов по проблемам тестирования электронных компонентов. BST-технология может тестировать выводы без использования
щупов и пробников (обычный мультиметр) и выполняет сбор необходимых функциональных данных в нормальном режиме функционирования ИС.
Все семейства ПЛИС фирмы Altera (FLEX 10K,
MAX9000,APEX20K и др.) в той или иной степени
поддерживают этот стандарт. В разных семействах
по-разному реализованы схемы поддержки стандарта, они имеют разные временные параметры и состав сигналов интерфейса. Необходимо отметить,
что для подобных целей используются также и другие последовательные интерфейсы. Например, двухпроводный интерфейс I2C требует меньше аппаратных затрат и, что более важно, времени для доступа
к устройствам. Однако преимущество архитектуры
JTAG — в отсутствии необходимости явного задания
адресов устройств, поскольку все JTAG-устройства
объединяются в последовательную цепочку и неявно адресуются своим положением в ней.
Рассмотрим JTAG-интерфейс. Блок схема JTAG-интерфейса приведена в стандарте IEEE Std 1149.1-2001.
Имеется возможность выбирать путь прохождения
данных от TDI к TDO: либо через регистр команд
(Instruction Register), либо через регистр данных (Data
Register). Регистром данных в каждый момент времени может быть один из следующих регистров: последовательный сдвиговый регистр граничного сканирования (Boundary-Scan register); внутренний регистр, предусмотренный разработчиком устройства
(Internal register); регистр обхода (Bypass register);
идентификационный регистр (Identification register).
Регистр инструкций состоит из собственно сдвигового регистра, некоторой декодирующей логики
(в зависимости от количества и типов реализуемых
команд) и секции хранения декодированной команды.
Длина IR-регистра должна быть больше двух.
На регистр инструкций (Instruction Register) по сигналу TDI приходит управляющая команда, она преобразуется в дешифраторе (Instruction Decode) и в зависимости от полученного кода к выходу TDO подключается один из внутрисхемных регистров: Boundary-Scan
Register (служит для ввода или установки сигналов
на выводы испытываемой ИС), Device ID Register
(в этом регистре хранится идентификационный код
ИС), Bypass Register (однобитный регистр, замыкает
сигналы TDI и TDO — уменьшает длину JTAG-пути
и обеспечивает возможность прозрачной ретрансляции данных через JTAG-контроллер), UESCODE (в этом
регистре пользователь может хранить свою информацию об ИС, например, ее порядок в JTAG-цепочке).
Внешние относительно ТАР-контроллера сигналы: TDI, TMS, TCK, TRST, TDO. Сигналы UPDATEIR,
CLOCKIR, SHIFTIR, UPDATEDR, CLOCKDR, SHIFTDR
формирует ТАР-контроллер. ТАР-контроллер представляет собой синхронный конечный автомат с шестнадцатью состояниями, изменяющий состояние
по фронту сигнала ТСК (синхроимпульса) и по включению питания. Сменой состояний управляет сигнал ТМS, воспринимаемый по переднему фронту
сигнала ТСК. Граф состояний и переходов управляющего автомата TAP-контроллера приведен в документе AN039, который можно скачать с сайта фирмы Altera (www.altera.com). Переходы граф-автомата кодируются в следующей последовательности:
Test_logic/Reset (0), Run_test/Idle (1), Select_DR (2) …
Update_DR (8), Select_IR (9) … Update_IR (f).
Когда ТАР-контроллер находится в состоянии
TEST_LOGIC/RESET, регистры данных не активированы, устройство находится в своем нормальном состоянии и инициализируется регистр инструкций.
При включении питания или при подаче импульса на вывод TRST (сброс), автомат переходит в состояние TEST_LOGIC/RESET. Вывод TDO находится
в Z-состоянии при всех состояниях ТАР-котроллера, кроме SHIFT_IR (регистр команд работает в режиме сдвига) и SHIFT_DR (регистр данных работает в режиме сдвига). Вывод TDO переходит в активwww.finestreet.ru
KiT#47(3)_web.qxd
3/30/2005
10:24 AM
Page 139
Компоненты
Компоненты и технологии, № 3’2005
Рис. 1. Архитектура цифрового тестера на базе ПЛИС1, ПЛИС2 с использованием интерфейса JTAG
ное состояние по первому нарастающему
фронту сигнала ТСК после перехода ТАР-контроллера в состояние SHIFT_IR или в состояние SHIFT_DR. Вывод TDO возвращается в Zсостояние по фронту спада сигнала ТСК после выхода ТАР-контроллера из состояния
SHIFT_IR или SHIFT_DR.
Правая часть графа относится к записи в IRрегистр управляющей JTAG-команды. Чтобы
загрузить управляющую команду в IR-регистр,
нужно:
1. Перейти из состояния TEST_LOGIC/RESET
в состояние SHIFT_IR. Для этого на вход
ТMS подать последовательность 01100,
синхронную с сигналами ТСК. В режиме
SHIFT_IR ТАР-контроллер подключает
сдвиговый IR-регистр к выводам TDI и TDO.
Теперь на сигнал TDI в сдвиговый IR-регистр можно подать любую JTAG-команду.
2. Для записи введенной команды в IR-регистр
нужно перейти в состояние UPDATE_IR
(последовательность на вход 11 TMS) или
пройти через состояния EXIT1_IR — >
PAUSE_IR — > EXIT2_IR (последовательность 1010 на входе TMS).
3. После записи JTAG-команды осуществляется переход в состояние SHIFT_DR. В состоянии SHIFT_DR возможна запись или
чтение данных с регистров данных ТАР-контроллера (зависит от введенной команды
в состоянии SHIFT_IR). Левая часть графа
идентична правой части графа, но вместо
работы с командами осуществляется работа с данными. Формирование на входе TMS
последовательности 0100 синхронно с нарастающим фронтом синхроимпульса TCK
приведет к загрузке регистра данных (какой именно регистр будет загружаться, определяется инструкцией в IR-регистре)
с входа TDI. Если у выбранного регистра
данных параллельный выход содержит защелку, то защелкивание происходит в состоянии UPDATE_DR. Состояния EXIT1_DR,
PAUSE_DR и EXIT2_DR используются только для навигации по граф-автомату.
В стандарте приводятся минимизированные
булевы уравнения граф-автомата TAP-контроллера и электрическая схема, построенная
по этим уравнениям.
www.finestreet.ru
Стандарт IEEE 1149.1 предписывает только
три обязательные команды (BYPASS, EXTEST,
SAMPLE/PRELOAD), необходимые для функционирования аппарата Boundary-Scan, все остальные являются необязательными (дополнительными). Обязательные и дополнительные
команды в стандарте только описываются
функционально, а их реализация на аппаратном уровне оставлена полностью на усмотрение разработчика. Команда BYPASS позволяет
эффективно организовывать длинные последовательно объединенные цепочки из тестируемых ИС. Команда EXTEST обеспечивает возможность снимать или устанавливать логические значения на контактах ИС. Команда
SAMPLE/PRELOAD позволяет тестировать ядро ИС в статическом режиме, выставляя или
снимая значения логических уровней на границе его выходных буферов.
В стандарте также приводятся электрические
схемы ячейки сдвигового регистра IR-регистра
и ячейка BSR-регистра. Ячейка BSR-регистра
состоит из двух D-триггеров, работающих
по фронту нарастания, двух мультиплексоров.
Ранее такие ячейки использовались для реализации элементов памяти в методе сканирования пути (Scan Path). Регистр инструкций может быть 3-битным, как у ПЛИС фирмы Actel,
так и 10-битным, как у ПЛИС фирмы Altera.
Ячейки BSR-регистра могут работать в разных режимах. В рабочем режиме они пропускают сигналы через себя слева направо и не изменяют функционирование схемы. Для выходов обычного логического типа нужна одна
ячейка, для выходов с третьим состоянием —
две, для двунаправленных — три.
Разработка схемы цифрового тестера
на базе JTAG
В настоящей работе приводится разработка аппаратной части цифрового тестера на базе JTAG-стандарта для реализации в ПЛИС,
предназначенного для лабораторного исследования внутренней схемотехники ПЛИС
по архитектуре FLEX10К, упакованных в корпуса типа 240-Pin PQFP/RQFP. Может быть использован для исследования новых образцов
зарубежных цифровых БИС в аналогичных
корпусах, поддерживающих технологию JTAG.
За основу принята редакция JTAG 1149.1 и техническая документация фирмы Altera (AN039
и cfg_cf51005 с сайта www.altera.com).
Проект (тестер ПЛИС) логически разбит
на две части (рис. 1). Каждая часть проекта «зашивается» в отдельную ПЛИС по архитектуре
ACEX1K. Первая ПЛИС содержит JTAG-интерфейс и фрагмент BSR-регистра (108 BSR-ячеек), вторая ПЛИС содержит оставшуюся часть
BSR-регистра (132 BSR-ячейки). Фрагмент
BSR-регистра из 108 BSR-ячеек, в свою очередь, разбивается на две цепочки: 69 BSR-ячеек
и 39 BSR-ячеек, фрагмент BSR-регистра из 132
BSR-ячеек так же разбивается на две цепочки:
58 BSR-ячеек и 74 BSR-ячеек. Таким образом,
имеется возможность протестировать 240 двунаправленных контактных ножек испытываемой ПЛИС FLEX10K и проверить правильность
функционирования внутренней логики.
На рис. 2 показана электрическая схема
JTAG-интерфейса без BSR-регистра, реализованная в САПР Max+Plus II. В JTAG-интерфейс
входят TAP-контроллер, регистр инструкций,
дешифратор команд, регистры BYPASS, регистр UESCODE, регистр IDCODE и вспомогательные схемы управления. Внешние относительно ТАР-контроллера сигналы: TDI, TMS,
TCK, TRST, TDO, соответствуют списку сигналов интерфейса IEEE Std.1149.1.
Проектирование ТАР'контроллера
Когда ТАР-контроллер находится в состоянии TEST_LOGIC/RESET, регистры данных
JTAG-схематики не активированы, ПЛИС находится в своем нормальном состоянии и инициализируется регистр BST-команд.
Первоначально в регистре инструкций
SHIFT_IR находится последовательность
из чисел 0101010101 или 341 в десятичной системе счисления. В этом можно убедиться, если записывать любые данные (из 10 чисел)
в регистр SHIFT_IR с помощью сигнала TDI,
а с помощью сигнала TDO считывать выходную последовательность данных. Регистр
SHIFT_DR зависит от выбранной JTAG-команды и в нем могут находиться совершенно различные данные.
139
KiT#47(3)_web.qxd
3/30/2005
10:24 AM
Page 140
Компоненты
Компоненты и технологии, № 3’2005
Рис. 2. Электрическая схема JTAGинтерфейса
Дешифратор команд формирует управляющие сигналы ena_BSR, ena_BYPASS,
ena_UESCODE, ena_IDCODE (сигналы разрешения работы следующих регистров:
Boundary-Scan Register, Device ID Register,
Bypass Register, UESCODE Register), а также управляющий сигнал (вектор Sel) для мультиплексора. При SEL<=«01» на выход TDO поступают данные с BSR-регистр, при SEL<=«00»
на выход TDO поступают данные с регистра
обхода Bypass Register и т. д. Дешифратор команд реализован по схеме комбинаторная часть
плюс фиксация сигналов разрешения с помощью 4-разрядного регистра на языке VHDL.
TAP-контроллер представляет собой синхронный автомат Мура. Описание работы TAP-контроллера осуществлено на языке VHDL.
Исполнение команды EXTEST
Команда EXTEST используется для проверки соединений между несколькими тестируемыми устройствами. EXTEST позволяет задать тестовые данные на контактные ножки
тестируемого устройства (БИС/ПЛИС). В первоначальный момент времени высоким уровнем сигнала TRST регистры захвата и регистры обновления установлены в ноль. Выходы
BSR-регистра находятся в Z-состоянии.
Регистр инструкций представляет 10-разрядный сдвиговый регистр на D-триггерах с синхронной установкой sset (активный высокий
уровень сигнала), сигналом разрешения enable
(активный высокий уровень сигнала), последовательным входом shiftin, последовательным
выходом shiftout, параллельным выходом q.
140
Во время фазы захвата регистра инструкций (фаза CAPTURE_IR TAP-контроллера)
контроллером вырабатываются сигналы
CAPTUREIR='1' и SHIFTIR='1'. Загружается
число 341 (десятичное).
Для загрузки кода команды EXTEST в регистр
инструкций (фаза сдвига регистра инструкций)
последовательно на вход TDI по переднему
фронту синхроимпульса TCK за десять тактов
загружается логический ноль. На выходе регистра инструкций ТАР-контроллера появляется последовательность: 341, 170, 85, 42, 21, 10,
5, 2, 1, 0. ТАР-контроллер находится в состоянии SHIFT_IR, в котором он остается до тех пор,
пока сигнал TMS не выйдет из состояния низкого уровня. На вывод TDO последовательно
выдвигаются данные кода команд.
Во время фазы обновления ТАР-контроллер вырабатывает управляющий сигнал
UPDATEIR='1', который является разрешающим для дешифратора команд. Дешифратор
команд согласно VHDL-описанию вырабатывает сигнал ena_BSR='1', который высоким
уровнем разрешает работу BSR-регистра.
Для того, чтобы проектируемый тестер
в точности отрабатывал JTAG-команды, BSRячейка была модифицирована (см. AN39.pdf.
IEEE 1149.1 (JTAG). Boundary-Scan Testing).
На рис. 3а показана BSR-ячейка ПЛИС фирмы Altera. В фазе захвата на входы OUTJ и OEJ
поступают сигналы из ядра ПЛИС и в ядро,
c регистров обновления (сигнал INJ).
На рис. 3б показана BSR-ячейка тестера.
Во время фазы захвата входные мультиплексоры регистров захвата (Capture
Registers) настроены на прием тестовых сиг-
налов. При высоком уровне сигнала
ENA_CUP ='1', мультиплексоры регистров
захвата захватывают логический ноль, состояние CAPTURE_DR TAP-контроллера.
Который принимается на регистры захвата
по сигналу TCK при наличии разрешающего сигнала SHIFTDR_BSR='1', формирующийся дешифратором инструкций (сигнал
ENA_BSR) и TAP-контроллером (сигнал
SHIFTDR). В состоянии CAPTURE_DR низкий уровень сигнала ENA_UPDATE запрещает работу регистров обновления (Update
Registers), то есть регистры обновления
не настроены на выдачу тестовых сигналов.
Во время фазы сдвига регистр BSR формируется путем сдвига данных через все 240 BSRячейки, со входа SDI до выхода TDO_BSR за n
тактов. Сигнал управления мультиплексорами
регистров захвата принимает значение логического нуля ENA_CUP ='0'. Тестовые данные со
входа TDI последовательно сдвигаются при высоком уровне сигнала SHIFTDR_BSR='1' (состояние SHIFT_DR TAP-контроллера) рис. 4.
Во время фазы обновления данных информация из регистров захвата по высокому
уровню сигнала ENA_UPDATE='1' переписывается в регистры обновления (состояние
UPDATE_DR TAP-контроллера). На выходах
регистра BSR появляется тестовая последовательность.
Использование команды BYPASS. Регистр
BYPASS представляет собой однобитный регистр
(D-триггер) с сигналом разрешения enable,
которым управляет сигнал ena_BYPASS дешифратора команд и сигнал SHIFTDR TAP-контроллера. Код команды BYPASS — последоваwww.finestreet.ru
KiT#47(3)_web.qxd
3/30/2005
10:24 AM
Page 141
Компоненты
Компоненты и технологии, № 3’2005
Рис. 3. Работа BSRячейка ПЛИС фирмы Altera в фазе захвата (а) и BSRячейка тестера (б)
Рис. 4. Тест на выполнение команды EXTEST. Фаза захвата и сдвига данных в BSRрегистре
тельность единиц. Посылаемые данные сканирования со входа TDI по переднему фронту синхроимпульса TCK записываются в регистр BYPASS и выдаются с регистра на выход
TDO по нисходящему фронту ТСК.
Использование команды UESCODE. Регистр
UESCODE представляет собой 32-разрядный
сдвиговый регистр на D-триггерах с синхронной установкой sset (активный высокий уровень
сигнала), сигналом разрешения enable (активный высокий уровень сигнала), последовательwww.finestreet.ru
ным входом shiftin, последовательным выходом
shiftout, параллельным выходом q. Сигналом
enable управляет сигнал SHIFTDR TAP-контроллера и сигнал ena_UESCODE дешифратора команд.
Команда UESCODE используется для определения имени пользователя электронного
прибора (User Electronic Signature — UES) в цепочке устройств с интерфейсом JTAG (номер
ПЛИС в JTAG-цепочке). При исполнении этой
команды регистр данных UES включается меж-
ду выводами TDI и TDO и заданное пользователем имя последовательно сдвигается через
регистр данных UESCODE.
Использование команды IDCODE. Команда IDCODE используется для опроса в цепочке устройств с интерфейсом JTAG. В этом регистре хранится идентификационный номер
ПЛИС, заложенный производителем. При исполнении команды регистр идентификации
устройства загружается 32-битным кодом
идентификатора устройства, заданным постав-
141
KiT#47(3)_web.qxd
3/30/2005
10:24 AM
Page 142
Компоненты
Компоненты и технологии, № 3’2005
Рис. 5. Использование разработанного тестера в качестве Jam Player
щиком устройства. Далее регистр идентификации устройства включается между выводами TDI и TDO, и идентификатор устройства
последовательно сдвигается через регистр данных IDCODE. Разработанный тестер не поддерживает команду SAMPLE/PRELOAD.
Цифровой тестер спроектирован так, чтобы
в точности поддерживать JTAG-команды
ПЛИС фирмы Altera. Это позволяет отказаться от разработки программного обеспечения
и использовать технологию Jam-программирования ПЛИС с использованием программных модулей Jam Composer. Jam — это стандартный язык программирования и тестирования (STAPL — Standard Test and Programming
Language).
Jam-технология использует файлы стандартного формата для работы с JTAG-интерфейсом стандарта IEEE Std. 1149.1. Jam-файлы
(текстовый ASCII-файл) содержат алгоритм
программирования и все данные, необходимые для обновления конфигурации несколь-
ких ПЛИС. Язык Jam поддерживается САПР
MAX+PLUS II версий 8.0 и выше. На рис. 5 схематически показано использование тестера
в качестве Jam Player.
Тестер работает в двух режимах: режим записи тестовой информации в ПЛИС FLEX10K
и режим считывания. В режиме записи тестовой информации с 240 двунаправленных выходных ножек BSR-регистра выставляется тестовая информация на 240 контактных ножек
испытываемой ПЛИС (рис. 6). В режиме считывания информация с контактных ножек испытываемой ПЛИС попадает в фазе захвата
в BSR-регистр тестера (рис. 7). Далее она сдвигается и поступает на выход TDO для последующего анализа.
С помощью САПР PCAD-2001 разработаны
электрическая схема и печатная плата электрической схемы тестера ПЛИС, состоящая
из двух однотипных плат с использованием
ПЛИС ACEX1K (ACEX EP1K50QC208-3).
Обе ПЛИС соединены в цепочку с возможно-
стью исключения любого устройства с помощью перемычек. С использованием конфигурационных ПЗУ EPC2 (режим загрузки Passive
Serial, для программирования ПЗУ предусмотрен JTAG-разъем) осуществляется конфигурирование ПЛИС1 и ПЛИС2 (рис. 8). После
этого путем JTAG-конфигурирования цепочки ПЛИС1 и ПЛИС2 тестовые данные для испытываемой ПЛИС загружаются через разъемы кабелей MasterBlaster.
Также разработана электрическая схема
и печатная плата для испытываемой ПЛИС
с JTAG-конфигурированием. В ней требуется
два источника питания. Один (5 В) питает испытываемую ПЛИС FLEX10К, второй (3,3 В
с ограничением по току) питает обе ПЛИС
ACEX 1K. Платы между собой соединяются
шлейфами. Предварительно в испытываемую
ПЛИС FLEX10К с помощью JTAG-загрузки заносится тестовая прошивка для конфигурирования макроячеек на выполнение определенных логических функций.
Литература
1. Угрюмов Е. П. Цифровая схемотехника.
СПб: БХВ. 2000.
2. Торчигин С. В. Принципы использования
стандарта JTAG при отладке вычислительных систем, основанных на программируемых логических интегральных схемах //
Электронный журнал «Исследовано в России». http://zhurnal.ape.relarn.ru/articles/
2002/149.pdf.
3. IEEE Std 1149.1-2001. IEEE Standard Test
Access Port and Boundary-Scan Architecture.
Рис. 6. Временные диаграммы работы BSRрегистра (режим записи теста в ПЛИС FLEX10K)
142
www.finestreet.ru
KiT#47(3)_web.qxd
3/30/2005
10:24 AM
Page 143
Компоненты и технологии, № 3’2005
Компоненты
Рис. 7. Режим считывания информации из ПЛИС FLEX10K в BSRрегистр
Рис. 8. Электрическая схема ПЛИС ACEX1K
www.finestreet.ru
143
Документ
Категория
Без категории
Просмотров
6
Размер файла
511 Кб
Теги
jtag, цифровые, технология, тестера, поддерживающие, перифирийного, бис, сканирование, базе
1/--страниц
Пожаловаться на содержимое документа