Стандарт тестопригодного проектирования IEEE P1687

№ 7’2010
PDF версия
Впервые о разработке нового JTAG-стандарта IEEE Р1687, который обещает стать, в сущности, первым стандартом тестопригодного проектирования (DFT), было упомянуто в начальной колонке рубрики «JTAG-тестирование» в [КиТ. 2009. № 2] более года назад, где на рис. 1 была приведена схема взрывообразного развития технологий JTAG-тестирования, а вкратце рассказано об этом стандарте в [КиТ. 2009. № 3]. Разработка Р1687 еще не окончена, так что буква Р (preliminary) в его номере означает, что это пока лишь предварительная версия, а не официальный стандарт.

Идея разработки этого стандарта отражена в его названии — «Инструменты, встроенные в полупроводниковые микросхемы: структура и управление».
Задача стандарта заключается в определении
правил встраивания во вновь разрабатываемые СБИС и в «системы на кристалле» (СнК)
специальных инструментов, взаимодействие
которых и с которыми в рамках той или
иной модификации общеизвестного JTAGпротокола стандарта IEEE 1149.1 обеспечит
как тестопригодность сложных ИС самих
по себе, так и возможность тестирования исправности их монтажа на поверхности ПП.
Именно поэтому стандарт иногда представляется как шаг к стандартизации тестопригодного проектирования ИС.

Первым словом в названии и, как станет
ясно в дальнейшем, ключевым термином
в самом рассматриваемом стандарте является понятие инструмента. Инструментом
в стандарте Р1687 называется любая размещаемая на чипе ИС структура или схема,
предназначенная для поддержки тех или
иных функциональных характеристик ИС,
тестирования, диагностики, настройки и отладки всей ИС или любых ее составляющих,
мониторинга, конфигурирования и любых
других целей, доступ к которой и связь с которой осуществляются посредством порта
и контроллера ТАР, поддерживающего традиционный стандарт JTAG [ПЭ. 2007. № 5].
Иными словами, понятие инструмента
в стандарте довольно широкое и охватывает
любую составляющую структуры ИС, являющуюся интеллектуальной собственностью
(Intellectual Property, IP) и снабженную портом ТАР. Примерами инструментов в понимании стандарта Р1687 могут быть любые
встроенные структуры со сканируемой архитектурой, структуры встроенного самотестирования (BIST) памяти и логики, контроллеры синхросигналов, накопительные буферы
данных, встроенные логические анализаторы
и вообще что угодно.

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

Попросту говоря, существует значительный разрыв между имеющимися средствами
тестирования и отладки чипов и возможностями повторного применения этих средств
на более высоком уровне — для тестирования смонтированных плат и узлов. Что подразумевается под центральным для рассматриваемого стандарта понятием «повторное
применение тестов»?
Процесс разработки любого чипа сопровождается этапами моделирования, верификации и разработки тестов. При этом
разработчики чипов готовят, например,
векторы моделирования чипа на уровне его
внутренних модулей и блоков, затем эти модули встраиваются в общую структуру чипа,
и разработчики приступают к подготовке дополнительных тестовых векторов для моделирования и верификации структуры чипа
в целом. После изготовления чипа он поступает на автоматизированный тестер для
подтверждения правильности изготовления
силикона. Тестовые векторы для такого тестера разрабатываются заново, или перерабатываются (перетранслируются) векторы
верификации структуры чипа с предыдущего этапа. Чип в виде упакованной ИС затем монтируется на ПП, и уже другие тестинженеры с самого начала начинают разрабатывать и отлаживать новые тестовые
векторы для тестирования правильности
монтажа этой ИС на поверхность ПП и/или
для доступа к встроенным структурам самотестирования ИС. К сожалению — с самого
начала, поскольку методы и средства тестирования на этом и предыдущем этапах различны, а средств сопряжения между ними
до сих пор практически не существует! И, наконец, ПП или несколько плат, содержащих
нашу ИС, интегрируются в ту или иную систему, и процесс разработки и отладки тестов
для узлов и блоков вновь начинается с самого начала по тем же причинам. Все эти тесты
разрабатываются и отлаживаются разными
людьми, на различном оборудовании и в соответствии с разнообразными требованиями
и условиями.

Задача стандарта Р1687, таким образом, — преодоление упомянутого разрыва, обусловленного целым рядом причин,
среди которых — широкое разнообразие
фирм-разработчиков ИС, наличие различных методик структурного и функционального тестирования, множества платформ автоматизированного тестового оборудования
и целого ассортимента языков тестирования.
Инициатива, направленная на преодоление
такого разрыва, получила название «встроенный (internal) JTAG», или IJTAG, и стала началом разработки стандарта IEEE Р1687. При
этом следует отметить, что стандарт никак
не определяет функциональные характеристики тех или иных инструментов, а сосредоточен
только и исключительно на деталях стандартизованного доступа к ним: языке описания
характеристик инструментов, языке протокола доступа, а также интерфейсных структурах
и методах. Разумеется, наиболее естественный
кандидат на роль аппаратного и программного протокола связи с этими инструментами
и между ними — это стандартный протокол
JTAG, широко применяемый для тестирования
как ПП, так и отдельных ИС.

Три источника и три составные части,
на которых базируется стандарт Р1687, следующие:

  • архитектурные описания;
  • инструментальные процедуры;
  • инструментальный интерфейс.

Назначение архитектурных описаний —
определить наименования инструментов
и регистров, указать на порядок цепочек сканирования и определить позиции отдельных
существенных битов, определить наименования портов и их связность с контактами ИС.
Как указывалось выше, стандарт никак не затрагивает никакие функциональные описания. Связи между инструментами, однако,
описываются весьма подробно, и для этого
используется язык, подобный языку BSDL
[ПЭ. 2007. № 7], но имеющий иерархическую
структуру.

Назначение инструментальных процедур — это описание структуры инструмента
на двух уровнях: список поддерживаемых
инструментом операций (верхний уровень)
и действия на портах инструмента (нижний
уровень). На основе этих описаний строится программный интерфейс взаимодействия
с инструментом (API), при этом разработчик
инструмента обязан поставлять описания
обоих уровней, а пользователь инструмента
(разработчик чипа) занимается адаптацией
инструмента к структуре чипа лишь на верхнем уровне.

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

Пример простейшей структуры интерфейса в стандарте Р1687 приведен на рис. 1. Здесь
SDR — это сдвиговые регистры данных, входящие в JTAG-структуру данного инструмента, посредством которых происходит
передача информации в регистры данных,
состояния и конфигурации каждого из инструментов.

Рис. 1. Пример простейшей структуры интерфейса в стандарте Р1687

В так называемой «плоской» структуре
все инструменты подключаются «звездой» к внешнему порту ТАР: сигналы TDI, TMS,
TCK параллельно ветвятся ко всем инструментам, а выходные цепи TDO каждого
из инструментов пропускаются через демультиплексор. Здесь, разумеется, есть широкий простор для применения нового JTAG-стандарта IEEE 1149.7 [КиТ. 2010. № 4].
Более сложная концепция интерфейса
в стандарте Р1687, построенного по принципу «клиент-сервер», показана на рис. 2.
Здесь наружный порт ТАР чипа работает как
1687-сервер, а каждый из встроенных инструментов является либо только клиентом,
либо также представляет собой 1687-сервер
более низкого уровня, одновременно являясь
клиентом для 1687-сервера более высокого
уровня. Клиент может также представлять
собой, например, JTAG-оболочку (wrapper),
определяемую стандартом IEEE 1500 [www.jtag-test.ru/JTAGUniversity/basic.php].

Рис. 2. Концепция интерфейса в стандарте Р1687,
построенного по принципу «клиент-сервер»

Структура ИС, таким образом, подразделяется на три зоны: JTAG-зона 1149.1, шлюзовая и инструментальная зоны. Шлюзовая
зона предназначена для обеспечения интерфейса между портом ТАР хорошо известных
JTAG-структур, для управления которыми
существует множество давно и основательно
разработанных средств, и собственно инструментальной зоной. Доступ к инструментальной зоне как от порта ТАР верхнего уровня,
так и от всех последующих 1687-серверов
должен обеспечиваться специализированными JTAG-командами, предназначенными для управления переходом из протокола
1149.1 в протокол 1687.

Стандарт Р1687 определяет три класса
встроенных инструментов. Первый из них
содержит JTAG-совместимые инструменты,
имеющие те или иные регистры данных фиксированной длины, описываемые в файлах
BSDL, доступ к которым формализован стандартным протоколом JTAG. Второй класс инструментов согласуется с оболочками и механизмами управления, совместимыми как
с протоколом JTAG 1149.1, так и с протоколом IEEE 1500. Инструменты этого класса могут иметь одну или более цепочек сканирования, находящихся в определенной иерархии
по отношению друг к другу. Контроль над
инструментами третьего класса характеризуется наличием хотя бы одного сигнала или их
последовательности, не управляемых непосредственно из протокола JTAG, что предусматривает необходимость в некоторой дополнительной иерархии управления этими
сигналами. Примером таких сигналов могут
служить высокочастотные синхросигналы,
источником которых не может являться низкочастотный JTAG-сигнал TCK.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *