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

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

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

Прожиг флэш-памяти в протоколе JTAG

Одним из наиболее популярных нетестовых применений технологии JTAG является прожиг микросхем флэш-памяти, используемый сегодня повсеместно.

Микросхемы флэш-памяти, как известно [ПЭ.2008 № 1], сами по себе JTAG-структуры не имеют и протокол JTAG не поддерживают. Для обеспечения возможности прожига в технологии JTAG такие ИС должны быть управляемы окружающими их структурами JTAG - как по шинам адреса и данных, так и по всем цепям управления, как показано на рисунке.

Здесь все цепи флэш-памяти управляются от одной ИС JTAG, что представляет собой предпочтительный вариант схемотехники, как будет ясно из дальнейшего обсуждения, но, разумеется, не единственно возможный. Обеспечение прожига ИС флэш-памяти в смысле JTAG-управляемости шин адреса, данных и большей части сигналов управления не вызывает, как правило, вопросов. Следует, однако, отметить, что JTAG-программы, связанные с прожигом ИС флэш-памяти, являются наиболее времяемкими среди прочих JTAG-тестов (см. рис. 3 в [ПЭ.2007 № 8]), поэтому при проектировании тестопригодных схем уменьшению, или, по крайней мере, оптимизации времени прожига традиционно уделяется значительное внимание.

Вентиль XNOR

Структура JTAG-прожига ИС флэш-памяти.

Предварительная оценка минимально возможного времени прожига флэш-памяти посредством JTAG-интерфейса выполняется по следующей простой формуле:

Tпрог = (Nяч * Nцикл * Nwe * Addr) / TCK, где
Tпрог — оценка времени прожига флэш-памяти в секундах;
Nяч — число последовательных JTAG-ячеек, активизируемых при прожиге флэш-памяти;
Nцикл — число циклов записи информации в данную флэш-память;
Nwe — число JTAG-векторов, необходимых для обеспечения правильной формы сигнала
      /WE в каждом цикле записи;
Addr — количество адресов (ячеек памяти), используемых в данном файле прожига;
TCK — максимально возможная частота данной JTAG-цепочки, Гц.

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

Число последовательных JTAG-ячеек (Nяч) — это сумма длин (в количестве ячеек) регистров граничного сканирования (РГС) всех ИС JTAG [ПЭ.2007 № 6], активизируемых при прожиге флэш-памяти, плюс простая сумма всех ИС JTAG, находящихся при этом в состоянии обхода (одна ячейка регистра РО в каждой из таких ИС). Если управление ИС флэш-памятью сосредоточено в одной ИС JTAG, как показано на рисунке 1,такую структуру следует признать предпочтительной и к ней следует стремиться при тестопригодном проектировании схем. Если же управление такой ИС распределено так, что, скажем, шиной данных управляет одна из ИС JTAG-цепочки, шиной адреса — другая, а цепи управления подключены к третьей ИС, такая схемная конфигурация с точки зрения времени прожига флэш-памяти представляется наихудшей.

Упомянутые РГС, активизируемые при прожиге флэш-памяти, связаны, разумеется, не только с управлением собственно процессом прожига, но и с поддержкой внутрисхемных сигналов, обеспечивающих те или иные условий этого процесса (constraints). Следует очень тщательно проверять возможности исключения поддержки этих сигналов, исходя из желания уменьшить параметр Nяч. Невозможно, к примеру, пренебречь поддержкой цепей (если таковые есть, конечно), обеспечивающих JTAG-режим (compliance) тех ИС, которые управляют прожигом флэш-памяти, или цепей, определяющих выдачу внутренних напряжений питания платы. Но представим себе, что некая ПЛМ управляет прожигом флэш-памяти, а FPGA обеспечивает блокировку выходов ИС памяти (SRAM, к примеру), подключенных к той же шине данных, что и прожигаемая флэш-память. Эта FPGA может быть переведена в режим обхода BYPASS или HIGHZ, что добавит к параметру Nяч лишь одну ячейку РО, если контакт разрешения выборки SRAM снабжен подтягивающим резистором. Контакты ввода-вывода большинства современных FPGA, переведенных в режим обхода BYPASS, находятся в состоянии с высоким импедансом, так что подтягивающий резистор сам по себе обеспечит необходимую блокировку выходов SRAM. Другая возможность обеспечения требуемых условий процесса прожига, даже без введения в схему дополнительных резисторов в соответствующих цепях, не приводящая к удлинению параметру Nяч, заключается в использовании для этой цели только ИС, поддерживающих JTAG-команду CLAMP. Необходимые уровни сигналов загружаются при этом в РГС такой ИС и «замораживаются» на ее выходах, активным же регистром этой ИС в JTAG-цепочке прожига флэш-памяти будет РО [ПЭ.2007 № 7].

Число циклов записи информации во флэш-память Nцикл определяется производителем этой ИС. Например, для ИС фирмы AMD параметр Nцикл=4, а для ИС фирмы Intel Nцикл=2, что сразу указывает на предпочтительность выбора производителя флэш-памяти, если время ее прожига по тем или иным причинам критично.

Весьма существенным фактором уменьшения времени прожига ИС флэш-памяти является управляемость сигналом разрешения записи /WE. Дело в том, что каждый цикл записи в ИС флэш-памяти, как правило, сопровождается тремя последовательными логическими уровнями в цепи /WE: «лог.1», «лог.0» и «лог.1». Если цепь /WE является JTAG-управляемой (голубая стрелка на рисунке 1), то для обеспечения указанной последовательности переключений в ней требуется выполнение трех фаз Shift-DR [ПЭ.2007 № 6] на каждый цикл записи, т.е. Nwe=3, что весьма времяемко. Простым решением, о реализуемости которого следует позаботиться на этапе проектирования схемы, является подключение цепи /WE к одному из контактов внешнего управления JTAG-тестера (коричневая стрелка на рисунке 1) для обеспечения ускоренного JTAG-прожиг флэша. Система управления любым JTAG-тестером обеспечивает необходимые сигналы на таком контакте, синхронизированные с остальными JTAG-управляемыми сигналами прожига флэш-памяти в течении лишь одного JTAG-вектора. Параметр Nwe при этом становится равным 1, что позволяет реально сократить время прожига в 2,5–3 раза. Если еще к одному контакту внешнего управления JTAG-тестера подключить также контакт готовности RDY/BSY ИС флэш-памяти (которым, правда, снабжены не все флэши), то это позволит JTAG-тестеру перейти к следующему циклу записи сразу же по завершении предыдущего цикла, а время прожига может быть сокращено примерно на 10%. Очень важно при этом позаботиться о схемном запрете возможных конфликтов в цепях /WE и RDY/BSY между ИС JTAG и внешним управлением.

Длительность прожига флэш-памяти, как видно из приведенной выше формулы, обратно пропорциональна значению ТСК - частоте синхросигналов JTAG-цепочки, управляющей прожигом, а эта частота, как известно, определяется значением ТСК наиболее медленной ИС в цепочке. Это означает, что при проектировании схемы следует стремиться сконцентрировать JTAG-управляемость всеми сигналами ИС флэш-памяти (не только шинами адреса и данных, но также и сигналами управления) в одной ИС с наибольшим значением ТСК, и непременно буферизовать цепь ТСК на самой плате с использованием высокоскоростного буфера. Значение ТСК, обеспечиваемое той или иной ИС JTAG, указано в ее файле BSDL [ПЭ.2007 № 7]. Следует иметь в виду, однако, что не все доступные в интернете файлы BSDL проверены, так что к указанному в них значению ТСК нужно относиться критически. Важно также подчеркнуть, что если высокоскоростная ИС JTAG (например, с ТСК=40 МГц) полностью управляет прожигом флэш-памяти, но в той же JTAG-цепочке находится медленная ИС JTAG (например, с ТСК=5 МГц), введенная в режим обхода BYPASS или HIGHZ, то результирующая максимальная частота такой цепочки будет равна именно 5 МГц! Иными словами, высокоскоростная управляющая ИС JTAG не должна физически находиться в одной цепочке с более медленными, или должна быть физически же исключена из JTAG-цепочки на время прожига флэша.

В заключение вернемся к приведенной выше формуле и приведем пример предварительной численной оценки времени прожига флэш-памяти фирмы Intel, управляемой от ПЛМ, находящейся в одной цепочке с еще тремя ИС JTAG, самая медленная из которых имеет частоту ТСК=16 МГц. Длина РГС ПЛМ равна 498 ячеек, т.е. Nяч = 498+3= 501. Как и для всех флэшей Intel, Nцикл=2. Предположим для начала, что наша флэш-память имеет внутрисхемное JTAG-управление цепью /WE, т.е. Nwe =3.

Шина адреса составляет 24 адресных разряда, т.е. максимальное число адресуемых ячеек равно 224 = 1 Mб = 16 777 216 байт. Допустим, что схемное включение нашей ИС позволяет адресоваться к словам, т.е. параметр Addr = 8 388 608 слов. Таким образом,

Tпрог = (501*2*3*8388608) / 16 000 000 = 1 576 сек = 26 мин.

Если для нашей флэш-памяти существует схемное решение для внешнего управления цепью /WE, как показано на рисунке 1, т.е. Nwe =1, то время ее прожига сокращается примерно до 9 минут, а на практике сводится к 6-7 минутам, что может быть приемлемо. Если существует схемная возможность физически исключить из JTAG-цепочки, например, при помощи шунтирующих резисторов или перемычек, три сравнительно медленных ИС JTAG, находящихся в режиме BYPASS и обеспечивающих частоту ТСК=16 МГц, то параметр ТСК станет равным 40 МГц, что обеспечивается управляющей процессом прожига микросхемой ПЛМ. В таком случае,

Tпрог = (498*2*1*8388608) / 40 000 000 = 208 сек = 3,5 мин.

Следует иметь в виду, что наша оценка касается только времени самого прожига, но не включает дополнительного времени, затрачиваемого на стирание до прожига и верификацию после прожига. Программное управление процессом прожига в разных системах позволяет выбирать различные режимы стирания (например, всю флэш-память или только части, предназначенные для прожига) и верификации (проверка всей зоны прожига или выборочно, скажем, каждый 23-й адрес), а также отменять их вовсе для подбора приемлемого времени, затрачиваемого на весь процесс.

Значительный резерв для сокращения времени прожига флэш-памяти заключен в параметре Addr. В наших расчетах мы исходили из предположения о необходимости прожига всего адресуемого пространства, хотя на практике оказывается, что не менее одной трети этого пространства вовсе не предназначено для прожига и должно оставаться пустым, т.е. заполненным логическими единицами (FFF…F). Адекватное редактирование файла прожига или расщепление его на содержательные подфайлы позволяет, таким образом, сократить время прожига еще на 30% и более. Зачастую также ограничиваются прожигом лишь загружаемой части (boot) содержимого флэш-памяти, что позволяет запустить плату в рабочий режим, и уже затем дополнить содержимое флэш-памяти, загрузив его из ЭППЗУ или процессора.

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

Логин (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.
Все права защищены.