JTAG.ТЕСТ - технологии граничного сканирования, методики тестопригодного проектирования, JTAG, ICT, DFT
В JTAG мы знаем все!
«... Мы говорим JTAG, подразумеваем — ТЕСТ,
мы говорим ТЕСТ, подразумеваем — JTAG!»

Колонка Ами Городецкого
«JTAG-тестирование»
в журнале «Компоненты и технологии» № 2.2010 г.

Сайт журнала «Компоненты и технологии»

Тестирование компонент памяти в технологии JTAG (1)

Несмотря на то, что JTAG-тестирование разнообразных компонент памяти (ЗУ) давно и со значительным успехом применяется для проверки исправности их монтажа на ПП, взрывообразно расширяющийся и обновляющийся спектр компонент ЗУ, их типов и технологий доставляет множество хлопот тест-инженеру, поскольку любые такие новшества неизбежно обуславливают те или иные нюансы при разработке JTAG-теста, и, как правило — в сторону усложнения. Актуальность этой темы не увядает уже длительное время, конца этому не видно, поэтому эту и несколько последующих колонок я посвящу рассмотрению некоторых важных аспектов JTAG-тестирования компонент памяти.

Традиционные методы тестирования ЗУ заключаются в использовании встроенного программного обеспечения для прогона функциональных тестов, а задача разработки теста возлагается при этом на программистов. Программа тестирования начинается, естественно, с проверки исправности монтажа ИС на ПП, несовпадение записываемого в ИС ЗУ набора векторов со считанным из ЗУ набором указывает на наличие неисправности монтажа, а алгоритмический анализ результатов прогона теста может указать на характер неисправности и ее местоположение. Если тест исправности монтажа ИС проходит, программа тестирования приступает к выполнению функционального теста ЗУ. Такой подход вполне достаточен для схем, содержащих микропроцессоры или микроконтроллеры общего назначения, программное обеспечение которых может быть произвольным, в том числе включающим и самотестирование ИС ЗУ. Если же ИС ЗУ связаны со специализированными процессорами, такими как DSP, GPU (Graphics Processor Unit), NPU (Network Processor Unit), или управляются от FPGA, встроенное программное обеспечение которых вовсе не предназначено для выполнения операций тестирования ЗУ, приходится искать другие методы.

Внутрисхемное тестирование (ICT), устраняющее зависимость от встроенного программного обеспечения микропроцессорных схем при тестировании ИС ЗУ, широко применялось в подобных ситуациях в течение длительного времени, а зачастую актуально и сегодня. При этом, разумеется, предполагается наличие полного физического (контактного) доступа ко всем цепям ИС ЗУ посредством специального адаптера. Однако с ростом степени интеграции корпусов ИС (BGA и т.д.) контактный доступ к цепям ИС ЗУ на поверхности ПП оказался затруднен или вовсе исчез, что, собственно, и обусловило широкое применение технологии JTAG для их тестирования.

Традиционный подход к JTAG-тестированию ИС ЗУ, которые, как правило, не содержат структур JTAG, заключается в использовании окружающих их ИС JTAG (рисунок 1) [ПЭ.2007.8]. Шины адреса и данных, а также сигналы управления ЗУ, управляемые контактами, снабженными ячейками JTAG, могут быть связаны с различными ИС цепочки ГС, или же сконцентрированы в одной из них, например, в микропроцессоре. На рисунке 1 показана часть физических дефектов монтажа ИС ЗУ, обнаружимых JTAG-тестами. Все существующие автоматизированные системы генерации JTAG-тестов (АСГТ) [ПЭ.2008.2, ПЭ.2008.3] содержат постоянно пополняемые библиотеки моделей для ИС ЗУ различных типов. Каждая такая модель описывает алгоритм доступа к ЗУ и протокол записи/чтения, хотя модели ЗУ одной из АСГТ неприменимы, как правило, для других, и взаимозаменяемости между ними нет. Разработка JTAG-тестов ЗУ на базе библиотечных моделей сводится к описанию ограничений, вносимых в модель общего вида данным окружением и условиями функционирования тестируемой ИС ЗУ в данной схеме ПП. Зачастую требуется также проведение отладки тайминга в алгоритме доступа к ЗУ, меняющегося от схемы к схеме. Если в функциональном режиме синхросигнал ЗУ подключен к внутрисхемному осциллятору, то в режиме JTAG-теста этот синхросигнал должен быть тем или иным способом переключен на один из предназначенных для этого JTAG-контактов, как правило - на свободный контакт ПЛИС. Причина заключается в том, что тест ЗУ в структурных JTAG-тестах проводится со строгой привязкой к синхросигналам ЗУ, генерируемым самой JTAG-структурой цепочки, управляющей прогоном такого теста.

Типичная структура тестирования ИС ЗУ

Рисунок 1. Типичная структура тестирования ИС ЗУ.

Одной из особенностей JTAG-тестов межэлементных связей (interconnect) для ИС ЗУ является необходимость выполнения нескольких операций записи для обеспечения переходов между состояниями встроенного контроллера ИС памяти еще до того, как записываемые данные (тест-вектор) доберутся до ячеек памяти. Иными словами, обеспечение каждой операции записи или чтения требует ввода нескольких векторов JTAG-сканирования. Другая особенность таких тестов — прямая зависимость результата теста (запись/чтение) от исправности отдельных цепей управления, таких как /WE, /CE и т.д., что существенно затрудняет формулирование алгоритма точной диагностики результатов теста.

Все многообразие существующих сегодня ИС ЗУ с точки зрения сложности их JTAG-тестирования можно свести к трем классам — ПЗУ, статические ЗУ и динамические ЗУ. Первые два из них, включающие в себя разнообразные ИС EEPROM, SRAM, NVRAM, Flash (NOR и NAND), не создают заметных проблем при их JTAG-тестировании и позволяют выполнять устойчивые тесты при сравнительно низкочастотных синхросигналах в несколько мегагерц, генерируемых JTAG-структурами.

Существенным отличием динамических ЗУ, представленных очень широким и непрерывно пополняющимся диапазоном ИС (SDRAM, RLDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, FB-DIMM и т.д.), является необходимость периодической регенерации их содержимого. Именно этот тип ИС ЗУ является наиболее проблематичным с точки зрения JTAG-тестирования, поскольку надежность сохранения информации этими ЗУ напрямую зависит от соблюдения тайминга регенерации. Более того, многие из современных динамических ИС ЗУ требуют выполнения определенной последовательности команд инициализации перед началом "диалога" с ними для настройки их интерфейса со схемой, внутри которой они размещаются. Важно отметить, что любые отличия в структуре интерфейса с ИС одного и того же типа в двух разных схемах могут обусловить отличия в деталях теста для этой ИС ЗУ.

Один цикл записи ИС ЗУ DDR2 SDRAM MT47H32M8

Рисунок 2. Один цикл записи ИС ЗУ DDR2 SDRAM MT47H32M8.

На рисунке 2 приведен пример лишь одного цикла записи в ЗУ DDR2 SDRAM типа MT47H32M8 [*], требующий выполнения 20 векторов JTAG-сканирования. Cтроки рисунка представляют собой, в сущности, фрагмент модели ЗУ этого типа в любой АСГТ, описывающий алгоритм функционирования цикла записи при подаче параллельных векторов на контакты тестируемой ИС. Это своего рода эмуляция средствами JTAG функций любого контроллера ЗУ, включающая в себя также и эмуляцию тайминга, различного для разных типов ЗУ. Для обеспечения диагностики неисправностей на шине адреса обычно применяется адресация типа "бегущая 1 или 0" и подобным же образом организованные данные на шине данных.


* B.G. van Treuren, «Problems Using Boundary-Scan for Memory Cluster Tests», International Test Conference, IEEE, 2008.

Процесс отладки теста ЗУ DRAM с моделью общего вида любой АСГТ в конкретной схемной реализации этой ИС зачастую оказывается весьма трудоемким, т.к. падение теста на заведомо исправной ИС ЗУ может указывать на несоответствие применяемой модели таймингу тестируемой схемы и тестового стенда в целом. Факторами такого несоответствия могут являться структура управления данной ЗУ DRAM по каналам JTAG, характеристики компьютера тестового стенда, параметры интерфейса применяемого контроллера JTAG, структура JTAG-цепочки и некоторые другие.

Критическим параметром при отладке устойчивого теста является частота подачи тестовых векторов. Следует учитывать, к примеру, что для ИС ЗУ типа MT47H32M8 и им подобных шаг регенерации содержимого ячеек во всех строках и во всех столбцах матрицы памяти должен составлять примерно 7,8 мкс. Если применяемая в тесте частота ТСК равна 40 МГц (весьма высокая частота, далеко не всегда достижимая), а результирующая длина активных JTAG-регистров, участвующих в тесте (регистров граничного сканирования РГС и регистров обхода РО), равна 1000 бит, то частота подачи тестовых векторов на ИС ЗУ будет примерно равна 40 КГц, или 25 мкс на тестовый вектор. Как показано на рисунке 2, один цикл синхросигнала CLK эмулируется двумя тестовыми векторами, а весь цикл записи (в одну ячейку!) займет 20*25=500 мкс, что совершенно не соответствует спецификации ИС ЗУ. Тест, тем не менее, может работать, поскольку рассматриваемая ИС ЗУ снабжена механизмом автоматической предзарядки (precharge), или регенерации строки матрицы памяти, выполняемом перед записью в ячейку данной строки внутри самого цикла записи (векторы 5 и 6 на рисунке 2), что устраняет необходимость в специальном этапе регенерации.

Если тестируемая ИС ЗУ имеет схемное управление не от микропроцессора или микроконтроллера общего назначения, а от FPGA, это может обусловить дополнительные трудности. Одна из них заключается в том, что для обеспечения рабочего режима схемы FPGA обычно предварительно конфигурируется, тем самым создавая необходимый интерфейс с периферийными по отношению к ней ИС памяти. В таких случаях невозможно обеспечить правильную функциональную JTAG-эмуляцию доступа к тестируемым компонентам памяти без предварительного конфигурирования FPGA, обеспечивающего необходимые уровни сигналов, их терминацию, тайминг и т.д. Следует иметь при этом в виду, что для многих типов ИС FPGA файлы BSDL [ПЭ.2007.7] различны для состояний ИС до и после процесса конфигурирования. Другая трудность может заключается в длине РГС [ПЭ.2007.6] ИС FPGA, достигающей для современных ИС такого типа значительных величин. Например, длина РГС для FPGA Stratix-IV типа EP4SE530H40 фирмы Altera составляет 2970 бит! JTAG-сканирование тест-векторов сквозь цепочку, состоящую хотя бы из одной такой ИС, может привести к критическому падению частоты синхронизации при эмуляции протокола доступа к ИС ЗУ, и тест просто не будет работать. Это тем более критично, если в дополнение к ИС FPGA в JTAG-цепочке находятся и другие микросхемы.

В качестве одного из решений для подобной ситуации может быть рекомендовано создание псевдо-РГС внутри ИС FPGA, содержащего ровно столько JTAG-ячеек, сколько необходимо для создания интерфейса с тестируемой ИС ЗУ. В роли такого псевдо-РГС может выступить любой из регистров общего назначения, обеспечиваемых современными FPGA. Необходимо только позаботиться о подготовке кода конфигурирования интерфейсного сопряжения контактов FPGA, участвующих в тестировании ИС ЗУ, и выполнить предтестовое конфигурирование FPGA уже с этим новым кодом. Исходный файл BSDL данной ИС FPGA уже не может быть, конечно, использован, и понадобится написать новый, содержащий псевдо-РГС и псевдо-ТАР-контроллер. Схемные соединения линий JTAG-цепочки в схеме должны быть, разумеется, подключены к новым контактам псевдо-ТАР-контроллера ИС FPGA.


Авторизоваться:

Логин (e-mail):
Пароль:
Регистрация / Забыли пароль?

КОЛОНКИ в ЖУРНАЛАХ
    · Тестирование и тестопригодное проектирование («КиТ» № 2, 2009)
    · Встроенные инструменты тестирования («КиТ» № 3, 2009)
    · Неисправность монтажа BGA — что делать? (Апрельские тезисы) («КиТ» № 4, 2009)
    · Стратегия тестирования: нужен ли нам JTAG? (Как убедить начальника) («КиТ» № 5, 2009)
    · JTAG на системном уровне и тестирование кросс-плат («КиТ» № 6, 2009)
    · Функциональное тестирование и эмуляция средствами граничного сканирования (JTAG) («КиТ» № 7, 2009)
    · Аспекты тестопригодности в файлах BSDL («КиТ» № 9, 2009)
    · Покрытие неисправностей и полнота JTAG-тестирования («КиТ» № 9, 2009)
    · JTAG-тестирование кластеров («КиТ» № 1, 2010)
    · Тестирование компонент памяти в технологии JTAG (1) («КиТ» № 2, 2010)
    · Тестирование компонент памяти в технологии JTAG (2) («КиТ» № 3, 2010)
    · Новый JTAG-стандарт IEEE 1149.7 («КиТ» № 4, 2010)
    · Прожиг флэш-памяти в протоколе JTAG («КиТ» № 5, 2010)
    · Новейший стандарт JTAG-тестирования: IEEE P1149.8.1 («КиТ» № 6, 2010)
    · Стандарт тестопригодного проектирования IEEE P1687 («КиТ» № 7, 2010)
    · Материалы международной конференции по тестированию электроники ITC-2009 (1) («КиТ» № 8, 2010)
    · Материалы международной конференции по тестированию электроники ITC-2009 (2) («КиТ» № 9, 2010)
    · Материалы международной конференции по тестированию электроники ITC-2009 (3) («КиТ» № 10, 2010)
    · Применение осциллографов для визуализации протокола JTAG («КиТ» № 11, 2010)
    · Дистанционное JTAG-тестирование («КиТ» № 12, 2010)
    · Кому понадобится новый стандарт IEEE 1687? («КиТ» № 01, 2011)
    · Взаимосвязь стандартов тестирования IEEE P1687 и IEEE 1149.7 («КиТ» № 02, 2011)
    · Техническая диагностика цифровых устройств («КиТ» № 03, 2011)
    · FPGA и ПЛИС в JTAG-тестировании («КиТ» № 04, 2011)
    · Система JTAG-тестирования onTAP («КиТ» № 05, 2011)
    · Внутрисхемное программирование и JTAG-цепочки («КиТ» № 06, 2011)
    · Снова о внутрисхемном тестировании ICT («КиТ» № 07, 2011)
    · Снова о внутрисхемном тестировании (продолжение) («КиТ» № 08, 2011)
    · Еще раз о внутрисхемном тестировании (окончание) («КиТ» № 09, 2011)
    · Тестирование ICT: векторное или безвекторное? («КиТ» № 11, 2011)
    · Введение в технологию IEEE Std. 1581 тестирования ЗУ (1) («КиТ» № 07, 2012)
    · Введение в технологию IEEE Std. 1581 тестирования ЗУ (2) («КиТ» № 08, 2012)




 

Карта сайта | О нас | Услуги | Софт & хард | JTAG-Библиотека | Партнеры и заказчики | Поддержка | onTAP | Контакты | Монография
Написать вебмастеру
© JTAG.ТЕСТ, 2009.
Все права защищены.