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

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

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

ВНУТРИСХЕМНОЕ ПРОГРАММИРОВАНИЕ И JTAG-ЦЕПОЧКИ

Многие инженеры и техники, знающие лишь понаслышке о технологии JTAG и тестировании на ее основе, тем не менее постоянно сталкиваются с JTAG-протоколом при выполнении вполне рутинных операций внутрисхемного программирования (или конфигурирования) ПЛИС и FPGA.

Общеизвестно, что без использования протокола JTAG зачастую просто невозможно провести программирование (или, если угодно, внутрисхемное конфигурирование) целого ряда повсеместно применяемых ИС программируемой логики фирм Altera, Xilinx, Lattice и т.д. после их монтажа на поверхность ПП. Два названия процесса связаны с двумя способами его выполнения с использованием каналов JTAG: один из них называется внутрисхемным программированием (In-System Programming, ISP), а другой — внутрисхемным конфигурированием (In-System Configuration, ISС). Между способами реализации этих двух подходов существуют значительные различия, однако оба способа реализуются в рамках протокола JTAG точно так же, как и собственно JTAG-тестирование, используя одну и ту же аппаратную шину и cхожие протоколы доступа: ISP определяется JTAG-стандартом IEEE 1149.1 [1], а ISC — стандартом IEEE 1532 [2], являющимся расширением стандарта IEEE 1149.1. Для выполнения этих процедур применяются одни и те же схемные цепи порта контроллера ТАР (TDI, TDO, TMS, TCK, TRST), а формат SVF ввода команд и данных является для них общим, наряду с некоторыми другими, например, форматом JAM и т.д.

Оба процесса (ISP и ISС) обладают рядом неоспоримых преимуществ, чем и обусловлено их широкое применение. Во-первых, это возможность внутрисхемного программирования и перепрограммирования содержимого ПЛИС и FPGA после их монтажа на ПП и в любое время, в том числе при нахождении ПП на объекте, внешними или внутренними средствами (к примеру, под управлением процессора ПП), а также перепрограмирование этих ИС дистанционными средствами, например, посредством интернета. Во-вторых, существенно упрощается инвентаризация их содержимого, т.к. вместо наклеивания на них шильдиков с версией конфигурации, визуальное считывание которых требует организации визуального доступа, код версии конфигурации может быть считан по каналам JTAG без прерывания работы системы, в том числе и дистанционно.

Тем не менее, процедуры внутрисхемного программирования ПЛИС и FPGA в ряде случаев вовсе не совмещаются с JTAG-тестированием на одном и том же стенде, что бывает вызвано, в частности, недостаточным пониманием их тесной взаимной связи. Одной из причин слабой совместимости стендов внутрисхемного программирования со стендами JTAG-тестирования является то, что широко распространенные программно-аппаратные средства фирм-изготовителей ИС (Quartus II для компонент Altera, ISE и iMPACT — для компонент Xilinx, ispLEVER — для компонент Lattice) совершенно не предназначены для JTAG-тестирования: ни для разработки тестовых JTAG-программ, ни для их прогона. Например, система Quartus II предназначена только для программирования микросхем фирмы Altera, с микросхемами других производителей она вообще не работает. То же справедливо в отношении остальных систем ISP и ISC — каждая из них конфигурирует только «свои» ИС, пользуясь при этом только своими аппаратными средствами сопряжения с ПП: кабель «USB-Blaster» фирмы Altera, кабель «XILINX Platform USB» фирмы Xilinx, кабель USB2A фирмы Lattice — и это лишь неполный их список, приведенный для примера.

Любая из упомянутых систем ISP и ISC, тем не менее, позволяет получить файл в формате SVF для внутрисхемного программирования ПЛИС и FPGA [3], следует лишь ввести в такую систему описание JTAG-цепочки платы в соответствующей форме. Такой файл SVF представляет собой готовый этап JTAG-программы тестирования платы, разработанной в рамках любой из JTAG-платформ наряду с этапами собственно тестирования. Иными словами, структуры всех JTAG-платформ исходят из предположения, что этапы внутрисхемного программирования ПЛИС или FPGA будут в них импортированы из соответствующей системы ISP или ISC в формате SVF.

С другой стороны, аппаратные средства JTAG-тестеров любых платформ — Asset, Corelis, Goеpel, JTAG Technologies, XJTAG и других, кроме платформы onTAP фирмы Flynn Systems, но о ней речь ниже, совершенно несовместимы с упомянутыми интерфейсными средствами систем ISP и ISC, а форматы их тестовых JTAG-программ заметно отличаются от стандартного формата SVF. Подобная несовместимость, обусловленная конкурентными соображениями маркетинга, приводит к тому, что для сопряжения систем прогона JTAG-тестов с тестируемыми платами приходится, в дополнение к аппаратным средствам внутрисхемного программирования ISP и ISC, приобретать и весьма недешевые интерфейсные средства JTAG-тестеров той или иной платформ.

Мне часто приходится слышать следующий вопрос: можно ли использовать уже имеющиеся в нашем распоряжении интерфейсные средства ISP-фирм (Altera, Xilinx, Lattice и т.д.) для сопряжения тестируемых ПП с одной из платформ JTAG-тестерования? Положительный ответ на такой вопрос можно дать только в отношении платформы JTAG-тестирования onTAP фирмы Flynn Systems [4]. Наряду с очень простыми и недорогими собственными средствами сопряжения с тестируемыми ПП (рис. 1), система onTAP позволяет использовать для прогона своих JTAG-тестов также широко распространенные кабели XILINX Platform USB фирмы Xilinx.

Рисунок 1

Рисунок 1.

Все дело в том, что onTAP — это, пожалуй, единственная из платформ разработки JTAG-тестов, для которой стандартный формат SVF [3] является выходным форматом всех тестовых программ — теста инфраструктуры и межэлементных связей, тестов элементов памяти и кластеров, прожига ИС флэш-памяти и т.д. Это, с другой стороны, заметно повышает гибкость применения самих JTAG-тестов платформы onTAP, поскольку дает возможность использовать их (с некоторыми ограничениями) в любой другой JTAG-платформе. JTAG-тесты, сгенерированные на платформе onTAP, могут быть загружены и запущены через секвенсер тестовых этапов, позволяющий комбинировать выполнение любых наборов JTAG-тестов и импортированных ISP-файлов, поскольку все они присутствуют в одном и том же формате SVF.

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

Другое распространенное заблуждение связано с внутрисхемным программированием ПЛИС и FPGA. Разработчики схем ПП необоснованно полагают, что для применения к таким ИС программно-аппаратных средств фирмы-изготовителя (Quartus-II, ISE, ispLEVER) сами ИС непременно должны находиться в отдельных JTAG-цепочках. Это, однако, вовсе необязательно, поскольку каждая из упомянутых систем позволяет получить файл JTAG-конфигурирования в формате SVF, следует лишь предварительно ввести в программное обеспечение этих систем описание JTAG-цепочки, содержащей любые ИС JTAG в дополнение к программируемым. Полученный таким образом файл SVF содержит команды JTAG-конфигурирования для «своей» ИС и команды BYPASS — для «чужих» ИС. Кроме формата SVF, для этих целей применяются и другие форматы — JAM, STAPL и JEDEC, а если конфигурируемые компоненты поддерживают также стандарт IEEE 1532 (а это верно для большинства из них), то даже применение формата SVF является излишним для размещения таких компонент в JTAG-цепочках с любым количеством произвольных ИС JTAG, совсем не обязательно программируемых.

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

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

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

Литература

  1. Введение в технологию граничного сканирования.
  2. Внутрисхемное конфигурирование микросхем ПЛМ и FPGA в стандарте IEEE 1532.
  3. Основной формат ввода тест-программ и тесты граничного сканирования.
  4. Система JTAG-тестирования onTAP.
  5. Аппаратное обеспечение системы onTAP фирмы Flynn Systems.

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

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