Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2010 №7

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

Городецкий Ами


Впервые о разработке нового 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.

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке