Граничное сканирование современных высокоскоростных соединений

№ 12’2006
PDF версия
Выбор вариантов подготовки и проведения экспериментов, связанных со стандартом 1149.6, в значительной мере определяется целью тестирования и доступными пользователю программными средствами. Содержание операций и отдельных действий зависит от целевой направленности использования средств стандарта.

Методика применения средств стандарта

Выбор вариантов подготовки и проведения экспериментов, связанных со стандартом 1149.6, в значительной мере определяется целью тестирования и доступными пользователю программными средствами. Содержание операций и отдельных действий зависит от целевой направленности использования средств стандарта.

Средства стандарта последовательно используются:

  • при создании ИС и сопровождающего ее BSD-файла;
  • при проверке выпущенной или закупленной ИС;
  • при проверке систем (в том числе печатных плат), в состав которых входят ИС, поддерживающие стандарт 1149.6.

Конечно, эти проверки обычно выполняются на различных предприятиях и различными группами проектировщиков. Поскольку все эти варианты могут интересовать отечественных разработчиков, далее более подробно мы рассмотрим каждый из них. Последовательно рассмотрим различные виды тестовых операций, начиная от этапа проектирования БИС стандарта 1149.6, включая тестирование изготовленных БИС и заканчивая тестированием межсоединений печатных плат.

Проверка проектируемого кристалла ИС с поставляемым BSD-файлом

В настоящий момент целый ряд фирм выпускает и продает IP (интеллектуальную собственность) в форме готовых вставляемых модулей для проектов ASIC или ASSP. Отечественные разработчики могут применять эти модули в своих разработках. При разработке кристаллов ИС, содержащих готовые модули, прежде всего, требуется проверка их соответствия правилам и допущениям стандарта. Проверка должна выполняться и до отправления проекта ИС на изготовление, и после получения кремниевых образцов. Предкремниевая проверка делается с помощью моделирования и помогает до изготовления убедиться в том, что модель ИС выполняет требования ТЗ и стандарта. Выполнение требований ТЗ проверяются по функционированию ИС от и до его контактов ввода/вывода. На всех этапах контролируется соответствие ИС и описывающего ее файла BSD. Стоит отметить, что если тестирование ИС по стандарту 1149.1 требовало только цифрового моделирования, то в связи с тем, что определенные фрагменты ИС, поддерживающих стандарт 1149.6, являются аналоговыми схемами, они могут потребовать других методов для их проверки. В частности, могут оказаться полезными аналоговое моделирование и структурные проверки.

Проверка изготовленных кристаллов ИС

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

Поскольку рассматриваемый стандарт только расширяет существующий стандарт 1149.1 (и поэтому совместим с ним), то сначала необходимо проверить выполнение требований базового стандарта и лишь затем переходить к проверке выполнения требований стандарта 1149.6. Методика тестирования для стандарта 1149.1 известна [7]. Поэтому интерес представляют особенности тестирования для стандарта 1149.6. Стандарт вводит всего две новые команды для тестирования контактов переменного тока (AC pins): EXTEST_ PULSE и EXTEST_TRAIN.

Действия команд были рассмотрены выше, поэтому подробнее остановимся только на некоторых особенностях тестирования. Несмотря на то, что команды предназначены для тестирования контактов переменного тока, их действие распространяется на все выходные и двунаправленные контакты (если существуют и установлены соответствующие разряды разрешений в регистре сканирования данных) и на AC-контакты, поставленные в режим работы по постоянному току (DC test), путем установки соответствующих управляющих разрядов в регистре сканирования данных. Информация о расположении ячеек Control и AC/DC selection всех контактов содержится в файлах BSDL. Поведение выходных и двунаправленных контактов, а также AC-контактов, поставленных в режим DC test, соответствует исполнению команды EXTEST стандарта 1149.1. В целях тестирования отказов поведение контактов должно быть проверено в разрешенном и запрещенном состояниях.

Поведение выходов одиночных AC-контактов и положительных выходов дифференциальных AC-каскадов должно соответствовать величине, загруженной в соответствующую ячейку регистра сканирования данных, а отрицательные выходы должны иметь противоположное значение. Под поведением понимается появление одиночного импульса или их цепочки с длительностью, определяемой нахождением TAP-контроллера, тестирующего устройства в состоянии Run-Test/Idle.

Поведение выходных AC-контактов должно быть проверено не только при исполнении команд нового стандарта, но и для традиционных команд стандарта 1149.1, управляющих выходными контактами. В их число входят команды EXTEST, CLAMP и добавочно (если их наличие предполагается) RUNBIST или INTEST.

Далее должны проверяться входные дифференциальные каскады или двунаправленные дифференциальные каскады, устанавливаемые в режим ввода информации. Функционирование каскадов проверяется в обоих режимах (в режиме по постоянному току — детектирование уровней входных сигналов и в режиме по переменному току — детектирование фронтов входных сигналов). Эти эксперименты должны включать и параметрическое тестирование различных величин (ΔVMax, TTrans, VHyst_Level, VHyst_Edge, VThreshold). Приведенные выше параметры напряжения и времени, хотя и являются важнейшими характеристиками ИС, не включаются в состав BSDL-файлов. Значения параметров (ΔVMax, TTrans и VThreshold, необходимые разработчикам тестового обеспечения) содержатся в спецификации принятого протокола передачи, а остальные параметры выбираются разработчиками кристаллов со значениями, обеспечивающими наилучшие условия обмена.

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

Вторая проверка осуществляется в режиме переменного тока. Проверяется выполнение команд EXTEST_ PULSE и EXTEST_TRAIN. Этот процесс заключается в последовательной проверке (переход от низкого к высокому уровню — логическая единица в регистре сканирования, переход от высокого к низкому уровню — логический ноль в регистре сканирования, недопустимое сочетание фронтов — логический ноль в регистре сканирования, нарушение параметров передачи — также логический ноль в регистре сканирования).

Функциональная проверка ИС после изготовления

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

При разработке промышленных тестов усилия проектировщика должны быть сосредоточены на том, чтобы алгоритмы тестирования были разработаны для быстрого доказательства исправности ИС. Доказательство может состоять из двух основных задач: проверки полноты логики покрытия тестом всех контролируемых ситуаций и выполнения требуемых аналоговых характеристик у испытываемого оборудования.

Логика тестирования может быть просто включена в высокоуровневую схему тестирования типа внутреннего сканирования и, таким образом, проверена как часть проверки общей логики устройства. Если это не так, то некоторые из тестовых процессов от пункта 2 могут быть приспособлены и упрощены для заводского испытания логики.

Аналоговые характеристики испытываемых образцов могут быть проверены путем управления длительностями тестовых импульсов и напряжениями этих же импульсов.

Тестирование межсоединений печатных плат

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

Базовый стандарт 1149.1 ориентировался на испытания плат, определенных в нем. Его рекомендации предполагали наличие типичного набора инструментальных средств тестирования плат, включающих подключенное к JTAG-цепочке тестирующее устройство с необходимыми экспериментальными возможностями, но с отсутствием средств для тестирования связей по переменному току или дифференциальных соединений.

Аппаратура, заложенная в ИС согласно стандарту 1149.6, позволяет выполнять тестирование в ручном, полуавтоматическом и автоматическом режимах. Первыми двумя режимами пользуются крайне редко, их практически нереально применять для контроля большого количества межсоединений на платах. Чаще всего они встречаются при необходимости выполнения отладочных действий. В остальных случаях употребляются те или иные средства автоматизации (САПР). Несмотря на отличия, существующие между разными САПР (носящих чаще ограничительный или внешний характер), последовательность действий, а тем более суть производимых операций у них совпадает. Основу дальнейшего материала образует рассмотрение в большей мере содержания отдельных проектных процедур, чем их формы, хотя для определенности в основу положен процесс тестирования, предусмотренный в САПР ScanWorks версии 3.8 фирмы ASSET InterTech (www.asset-intertech.com).

Вне зависимости от САПР можно выделить обязательное наличие следующих этапов тестирования:

  • определение проекта с подключением или импортом необходимых составляющих;
  • определение типов тестируемых приборов и порядка их следования в цепочке;
  • определение количества и типов тестируемых соединений;
  • определение действий (или дополнительного оборудования), необходимых и допустимых со стороны тестирующего оборудования;
  • определение временных параметров тестирующих воздействий;
  • разработка алгоритмов тестирования выбранных соединительных цепей;
  • разработка загружаемых и принимаемых битовых тестовых последовательностей;
  • выполнение самого тестирования и оценка его результатов.

Результаты различных вариантов тестирования отличаются устойчивостью тестирования и полнотой охвата ими оборудования (то есть надежностью выявленного отказа и числом обнаруживаемых обрывов и замыканий). Конечно, для потребителей, имеющих современную аппаратуру и программное обеспечение, например типа ScanWorks версии выше 3.5, знаний о тонкостях стандарта 1149.6 требуется существенно меньше, чем от разработчика аппаратуры и программного обеспечения, поддерживающего работу с AC JTAG-цепочками. Вместе с тем и проектировщикам первой группы от понимания и знания некоторых тонкостей реализации стандарта не уйти. Именно для них и предназначен следующий материал раздела, который является не столько сводом указаний по построению аппаратных средств тестирования и последовательности разработки САПР, сколько пояснением, каких ситуаций следует избегать при проектировании тестируемого оборудования. Следование некоторым правилам позволит увеличить охват тестированием даже стандартными САПР.

Определение проекта

Как и любая САПР, работа с проектируемой системой начинается с определения рабочего проекта — его имени, месторасположения. В выбранной директории собирается требуемая информация. Исходной информацией является проектное описание, а результатом — требуемые тестовые последовательности и, возможно, отчет о проведенном тестировании.

Создание проектного описания

В основе любой проверки лежит знание (или определение) экспериментатором структуры тестируемого оборудования каждой ИС и соединение ИС между собой. Описание проекта должно создаваться САПР для того, чтобы определить дальнейшие допустимые проектные процедуры. САПР использует проектное описание как модель тестируемой аппаратуры и как инструкции по управлению имплементированными в кристалл аппаратными средствами. Как минимум, это описание должно включать BSDL-файлы, написанные на языке BSDL (подмножестве языка VHDL). Наличие файлов предполагается обязательным (если отсутствует описание одной из ИС, она и ее соединения могут легко исключаться из анализа путем перевода ИС в режим Bypass), естественно, при этом сокращается полнота охвата оборудования тестированием. Введение расширенного варианта граничного сканирования привело к добавлению новых конструкций и в составBSDL-файлов. Рассмотрение расширений BSDL-файлов (их можно найти в стандарте [4]) не входит в задачу настоящей статьи, поэтому далее будут упоминаться лишь те новые разделы, которые необходимы для данного материала.

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

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

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

  • ИС, поддерживающие IEEE 1149.6;
  • ИС, поддерживающие IEEE 1149.6 и подключенные к внешним разъемам;
  • ИС с ГС, находящиеся в состоянии BYPASS;
  • ИС с ГС, находящиеся в состоянии BYPASS PROTECT , то есть находящиеся в режиме однотактного пропуска данных ГС и не оказывающие никаких воздействий на подключенные к ним цепи.

Ко второй группе могут быть отнесены следующие приборы:

  • кластеры — кластеры цепи, не имеющие ГС, но имеющие модели, которые позволяют проверять их исправность, опираясь на информацию подключенных приборов, обладающих ГС;
  • резисторы типа Pullup — контакты этих компонентов при тестировании определяются как логическая единица, если они не управляются;
  • резисторы типа Weak Pullup — эти компоненты ведут себя как фиктивные приборы;
  • резисторы типа Pulldown — контакты этих компонентов тестируются как логические нули, если они не управляются;
  • резисторы типа Serial — контакты этих компонентов группируются так, чтобы они относились к одному из двух контактов, оба должны быть подключены к цепям с граничным сканированием;
  • простые резисторы — резисторы, которые не могут быть отнесены ни к какому из вышеперечисленных типов резисторов;
  • приборы типа «защищенные» (Protect) — приборы, у которых не могут тестироваться какие-либо цепи, подключенные к ним;
  • приборы типа «пустые»(Dummy) — компоненты, которые не должны использоваться при генерации тестов, а также компоненты, не оказывающие влияния на подключенные к ним цепи;
  • последовательный конденсатор — конденсатор, который обеспечивает связь по переменному току между компонентами, поддерживающими стандарт IEEE 1149.6;
  • конденсатор — обычный конденсатор.

Создание списка цепей

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

В настоящий момент существует достаточно большое количество способов описания межсоединений. Современные САПР позволяют легко импортировать тестовые описания, созданные в форматах Allegro, FabMaster Mentor Neutral, PCB Layout, PST-Cadence, Redac-RINF, ScanWorks, Schematic, VICTORY и Viewlogic netlist. Результаты разводки печатных плат для распространенных форматов CADIF, DSN, GenCAD, IFF и EDIF (файлы типа PCB) также могут распознаваться САПР. Из форматов схемотехнического типа в САПР обычно применяются файлы типов EDIF200.

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

Данные этой группы служат основой для определения допустимых действий для межсоединений между различными приборами тестируемой системы.

Определение типов межсоединений

Если тестируемая система содержит хоть один прибор, поддерживающий стандарт IEEE 1149.6, необходимо разработать систему стимулирующих воздействий не только постоянного тока (DC stimulus), но и переменного тока (AC stimulus). Различие принципов формирования тех и других стимулов заставляет разделить соединения старого (стандарт 1149.1) и нового (стандарт 1149.6) типа.

САПР позволяет определить один из типов соединений:

  • контакт 1149.6 типа соединен с контактом 1149.6 типа — тест требует введения передатчика 1149.6 типа и приемника 1149.6 типа;
  • контакт 1149.6 типа соединен с контактом 1149.1 типа — тест требует введения передатчика 1149.6 типа и приемника 1149.1 типа;
  • контакт 1149.1 типа соединен с контактом 1149.6 типа — тест требует введения передатчика 1149.1 типа и приемника 1149.6 типа;
  • контакт 1149.1 типа соединен связью переменного тока (AC coupled) с контактом 1149.1 типа — тест требует введения передатчика 1149.1 типа и приемника 1149.1 типа.

Программное обеспечение топологического анализа должно идентифицировать соединения постоянного тока (DC) и соединения переменного тока (AC), внутри каждого вида необходимо дополнительно выделить дифференциальные соединения. Для каждого вида соединений необходимо построить отдельные списки. Далее, списки должны быть проверены, чтобы идентифицировать тестируемость соединений в соответствии с их типом.

Определение тестовых процедур для межсоединений

Лучше всего, если на плате имеется любое количество соединений, но каждое является соединением только одного приемника с одним передатчиком, а типы контактов ИС для этих соединений совпадают. В действительности такая топология встречается далеко не всегда. И тогда ситуация разрешается достаточно сложно. В отличие от простых ситуаций программное обеспечение должно распознавать эти более сложные случаи связи, поскольку при этом прямые способы тестирования не могут быть применены. В перечень непросто тестируемых связей необходимо отнести и цепи, не являющиеся полными, содержащими и приемник и передатчик. Входы или выходы каскадов тестируемого оборудования могут подходить к концевому разъему.

Даже если на плате присутствуют соединения только одного приемника с одним передатчиком, то все равно бывает трудно определить, является ли этот тип соединения AC или DC. Анализируя список цепей, программное обеспечение должно найти все используемые в проекте конденсаторы связи, которые передают сигналы с драйверов (передатчиков) на приемники, включая две ситуации. В первой фиксируются все конденсаторы, включенные последовательно между двумя контактами ИС ввода и вывода. Такие контакты рассматриваются как контакты (переменного или постоянного тока).

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

Если цепь (соединение) с AC-контактом неполна (например, имеется единственное соединение выхода драйвера AC с выходным разъемом или цепь соединяет входной разъем платы только с входным каскадом), то программное обеспечение должно знать, обеспечат ли аппаратные средства тестирующего оборудования проверку для таких соединений и какими командами при этом можно пользоваться.

Определение типов команд, необходимых и допустимых со стороны тестирующего оборудования

Программное обеспечение анализа должно подготовить два списка соединительных проводов: тех, которые являются независимыми соединительными проводами для DC-испытаний (по постоянному току) и тех, которые являются независимыми соединительными проводами для AC испытаний (по переменному току). Генераторы тестовых последовательностей будут использовать эти списки и применять команду EXTEST в первом случае, либо одну из команд — EXTEST_PULSE или EXTEST_TRAIN — во втором.

Программное обеспечение топологического анализа должно выполнить дополнительный анализ, чтобы выяснить, насколько возможно в одном тесте тестировать соединения, где некоторые контакты устройства — контакты AC, а другие контакты — только постоянного тока.

Обычно дифференциальные AC-соединительные провода содержат единственный передатчик и единственный приемник. Надежное тестирование непрерывности таких цепей может быть сделано только в том случае, если и передатчик и приемник способны работать в AC-режиме. Естественно, возможны и более сложные случаи, в которых допустимо наличие цепи, соединяющей большое количество передатчиков, приемников или двунаправленных контактов (возможно, с соединением контактов постоянного и переменного тока).

Разработка алгоритмов тестирования различных соединительных цепей

Традиционные тесты проверки связей на постоянном токе должны быть изменены, чтобы использовать команды AC-тестирования всюду, где только возможно. Это позволит проверить дифференциальные AC-сигналы из списка тестируемых AC-межсоединений. При этом проверка каналов AC и DC должна осуществляться (насколько это возможно) совместно (информация поступает одновременно для разных контактов), что позволит обнаружить наличие взаимодействий между каналами этих двух групп. Если цепь является выходом нескольких передатчиков, каждый передатчик в течение тестирования по крайней мере один раз должен управлять цепью, чтобы проверить непрерывность соединений.

Команды AC также проверяют на наличие ошибок для дифференциальных сигналов — даже если они не спарены, тестирование по стандарту 1149.6 может обнаружить ошибки, которые не являются обнаруживаемыми минимальным испытанием дифференциальных сигналов с помощью команды EXTEST.

Отличие цепей AC-типа состоит не только в изменении уровней проверяемых сигналов и их расположении относительно входных или выходных контактов ИС, но и в активном участии временных аргументов при тестировании межсоединений. Есть и еще ряд особенностей при создании (генерации) подобных тестов. Это и заставляет более подробно остановиться на вопросах генерации тестовых последовательностей.

Стандарт ввел команды, которые проверяют пару цепей, связанных с конденсатором связи, как единственное спаренное AC-соединение. Кроме того, команда EXTEST может использоваться для проверки такой пары цепей, как отдельные, не связанные между собой соединения. Для полноты тестирования платы оба типа тестов должны быть выполнены. Каждая пара цепей, связанных конденсатором связи, которая имеет возможность работы в AC-режиме, должна быть проверена двумя способами:

  • тестироваться как единственная (отдельная) цепь, через конденсатор, с использованием новых проверочных AC-команд, как уже было описано. Это может помочь обнаружить разрывы цепей и многие типы замыканий.
  • тестироваться как пара отдельных цепей с обеих сторон конденсатора независимо, с использованием расширенных тестов по постоянному току с помощью команды EXTEST. Это может обнаружить замкнутые конденсаторы и другие типы замыканий.

Некоторые предварительные установки

При создании тестов требуется выполнить предварительные установки. Это касается ячеек выбора режима переменного или постоянного тока и определения временных параметров тестирующих воздействий.

В течение тестирования дифференциальных AC-проводов программное обеспечение генерации тестов должно установить ячейки выбора ACmC в состояния, обеспечивающие режим постоянного тока для тех драйверов AC, которые должны оставаться стабильными в течение теста. Программное обеспечение должно для этого определить ячейки данных, связанные с драйверами, чтобы управлять желательными установившимися значениями. Это полезно для отключения устройств, не поддерживающих методы граничного сканирования. Желательно аналитически определять ячейки, для которых это должно быть сделано, а также необходимые состояния драйверов. В ряде САПР пользователям разрешено явно назначать эти параметры настройки.

В отличие от предыдущего (стандарт 1149.1), статического тестирования, новый стандарт определяет динамическое тестирование, и поэтому в число определяющих тест параметров для контактов типа AC вводится время. Наличие в тестирующих каскадах реактивных элементов (конденсаторов) заставляет определять для тестируемых соединений требования к величине временных констант (постоянных времени). Для каждого соединения и его контакта можно выделить две времязадающих цепи: одна основная цепь — последовательное соединение между контактом передатчика и контактом приемника сопротивления проводника и развязывающего конденсатора, вторая цепь — резистор RF и конденсатор CF фильтра нижних частот (рис. 6, см. «КиТ» № 11’2006).

В подготовке тестирования приходится учитывать местонахождение в реальных схемах этих компонентов (внутри или вне кристалла). Если используются элементы внутри кристалла (чипа), то их величины (кроме величины сопротивления соединительного провода) известны при изготовлении ИС. Для определения этих величин в BSDL-файлах (формата 1149.6) используются атрибуты: «On_chip», «LP_time» и «HP_time».

Возможные ситуации приведены ниже.

  1. Тестовый приемник прибора содержит фильтр нижних частот, а отсутствие конденсатора связи внутри чипа позволяет соединяться с передатчиком по постоянному (DC) или переменному току (AC). В этом случае элемент в BSDL-файле должен содержать выражение <LP time constant> и <HP time constant>, чтобы позволить определить временные параметры для теста платы. Пропуск модификатора «On_Chip» указывает, что выражение <HP time constant> является минимальной величиной для тестирования плат:
  2. Тестовый приемник прибора содержит на кристалле развязывающий элемент (конденсатор связи) и не содержит фильтра нижних частот. В этом случае элемент <AC pin info> в BSDL-файле должен содержать только элемент <HP time constant> с модификатором «On_Chip»:
  3. Тестовый приемник прибора содержит на кристалле развязывающий элемент и фильтр нижних частот. В этом случае элемент <AC pin info> в BSDL-файле должен содержать оба элемента <LP time constant> и <HP time constant> с модификатором «On_Chip»:
  4. Тестовый приемник прибора не содержит ни фильтра нижних частот, ни развязывающего конденсатора. Тогда для подключения контакта по переменному току (ACcoupling) потребуется внешнее (на плате) подключение требуемых элементов. В этом случае элемент <AC pin info> в BSDL-файле должен содержать только элемент <HP time constant>. Заметим, что модификатор «On_Chip» опускается.

Для работы тестов необходимо определить величину значения TTest (минимальное время между переходами сигнала из одного состояния в другое для каждого контролируемого приемника, которое удовлетворяет требованиям стандарта 1149.6). Вычисление для команды AC-теста выполняется одним из следующих способов:

  • если в BSDL-файле для приемника указано LP_time, то устанавливают величину TTest для этого приемника, равную утроенному значению LP_time, иначе:
  • если для кристалла в BSDL-файле для приемника указано время HP_time, то устанавливают величину TTest для этого приемника, равную утроенному значению HP_time, иначе:
  • из экспериментальных данных вычисляется постоянная времени схемы связи на плате и устанавливается величина TTest для этого приемника, равная утроенному значению этой постоянной времени.

В качестве экспериментальных значений постоянной времени выбранного соединения (то есть произведения емкости связного конденсатора на эффективное сопротивление межсоединения) можно использовать величины, определенные в схемотехническом описании. В принципе возможно анализировать реальную схему, чтобы измерить эти значения. С другой стороны, чтобы избежать измерения значений сопротивлений, можно использовать верхнюю границу импеданса для типовых межсоединений. Сопротивление, связанное с конденсатором, неизменно соответствует характерному импедансу соединительных проводов платы. Это обычно 100 Ом или меньше, и оно должно быть меньше, чем 377 Ом (характерный импеданс разрыва). Таким образом, тестовое программное обеспечение может выбрать значение, например 300 Ом, как практически верхнее значение сопротивления, связываемого с конденсатором. Использование верхней границы удлиняет TTest, хотя это обычно не будет заметно удлинять полное время тестирования, так как оно затрагивает только время, проведенное в состоянии Run-Test/Idle TAP контроллера, которое намного меньше, чем время, затрачиваемое на сдвиги данных.

Если вышеупомянутое вычисление выполняется в соответствии с ситуацией 4, и если BSDL-файл для приемника пропускает модификатор «On_chip» и объявляет HP_time, а также если это значение HP_time больше, чем вычисленное значение, то это указывает на неисправность — поскольку постоянная времени связи, обеспеченная на этой плате (выбранные элементы или типы и длины межсоединений), не отвечает минимуму, требуемому ИС для надлежащего выполнения операций.

Максимальное значение, вычисленное для различных подмножеств тестируемых приемников, обычно используется как TTest для управления по различным тестам. Более гибкое программное обеспечение может позволить явную пользовательскую спецификацию TTest для каждого теста, отменяя значения, вычисленные выше.

Тестирование цепей, содержащих соединения различных типов

Несмотря на приведенное выше совершенно справедливое утверждение о том, что удобнее и проще строить тестовые процедуры, если в тестируемой цепи применяется один приемник и один передатчик одинакового типа, соединение в одной цепи приемников и передатчиков различных типов может иметь свои достоинства.

В САПР ScanWorks допустимо формирование трех типов тестовых последовательностей: basic interconnect test, advanced interconnect test и debug interconnect actions. Первая (базовая) последовательность обеспечивает покрытие для приборов, поддерживающих ГС. Вторая (расширенная) последовательность обеспечивает большее покрытие и дополнительно тестирует приборы, не поддерживающие ГС. Третья последовательность представляет собой набор отладочных программ и процедур.

Выше уже говорилось о расширении охвата тестами дифференциальных соединений, если эти соединения рассматриваются не только как дифференциальные, но и как одиночные соединения соответствующих типов.

Даже для тестирования межсоединений по постоянному току можно получить улучшение тестов, если использовать свойства каскадов AC-типа. Для этого тестовое программное обеспечение исследуемого устройства должно также сгенерировать в тестирующем устройстве команду EXTEST, используя список независимых от постоянного тока межсоединений. Для этого теста необходимо воздействовать на передатчики AC, как будто они отключены от своих AC-приемников, которые поэтому должны зафиксировать значения по умолчанию. Отказы в этих AC-приемниках в течение подобного испытания укажут на наличие замыкания самого конденсатора связи или его контакта с другими цепями или шинами питания.

Аналогично расширения полноты охвата тестовыми процедуры можно достичь, если соединены приемники и передатчики разных типов (AC и DC), такого расширения нельзя было бы достичь другими средствами. Тестирование в этих ситуациях требует особого подхода и рассмотрения, потому что, в отличие от более устойчивых тестов, для которых был предназначен стандарт 1149.6, результаты проверки непрерывности цепей трудно гарантировать, если не будет выполняться ряд дополнительных ограничений.

Так, если контакты передатчика постоянного тока (DC-типа) спарены с AC-контактами приемника, состояние передатчика постоянного тока может быть обнаружено приемником AC-типа, только если в состоянии передатчика происходит изменение (сигналы образуют фронт), поэтому тесты должны гарантировать появление таких фронтов.

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

Интерактивная отладка

Характерной особенностью интерактивной отладки является такой набор отладочных средств, который позволяет управлять отдельными операциями граничного сканирования и непосредственно просматривать результаты каждого сканирования. В ScanWorks пользователь может при тестировании проекта применять макропрограммы или использовать в пошаговом режиме SBSF-файлы. Интерактивная отладка обеспечивает либо регистровый, либо контактный уровень просмотра сканируемых данных. Просматриваться могут сдвигаемые данные, фиксируемые в регистрах захвата, или исполняемые данные регистров или контактов.

Интерактивная отладка особенно полезна и обычно используется для проверки разрывов, замыканий или константных нарушений, выявленных в процессе тестирования.

Диагностические подпрограммы

Многие фрагменты тестового ПО, ориентированного на проверку спаренных AC-каналов, потребуют разработки новых диагностических подпрограмм. В частности, это потребуется для того, чтобы интерпретировать зафиксированные данные, которые соответствуют данным, предварительно установленным в гистерезисных испытательных блоках памяти входных каскадов, а также для того, чтобы идентифицировать закороченные конденсаторы.

Требования к оборудованию тестирующей системы

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

Кроме того, для проверки выходных каскадов на выполнение требований спецификации стандарта для напряжений и времен срабатывания необходимо управлять параметрами сигналов, к которым подключены (после разъема) ИС, содержащие проверяемые входные каскады.

Кроме того, вполне возможно, что выходные каскады должны дополнительно выполнять произвольный рабочий (и, соответственно, тестовый) режим и иметь отвечающие ему пороговые спецификации. Эти каскады должны в этом режиме управлять сигналами на разъеме платы, не проходящими конденсатор связи, но предназначенными для ИС, содержащих тестируемые каскады.

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

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

Аппаратная поддержка стандарта 1149.6

В плане реального внедрения в промышленные разработки стандарту IEEE 1149.6 повезло несколько больше, нежели направлению 1149.4. Безусловно, сказался возросший интерес к новым высокоскоростным интерфейсам (Gigabit Ethernet, Serial ATA, RocketIO, PCI Express, LVDS, Fibre Channel и др.) и как следствие — необходимость тестирования систем, построенных на их основе.

Метод граничного сканирования расширенных цифровых сетей был утвержден комитетом IEEE в марте 2003 года, и уже в феврале 2004-го фирма National Semiconductor анонсирует выпуск первой микросхемы, поддерживающей этот стандарт, — SCAN90CP02. Другие фирмы ненамного отстали от National Semiconductor и либо уже выпускают продукцию, опирающуюся на стандарт, либо анонсируют выпуск подобной продукции в ближайшем будущем. Обилие таких разработок не позволяет в рамках статьи подробно останавливаться на всех известных, поэтому ограничимся рассмотрением только типовых решений. Разработки фирм, поддерживающих распространение средств тестирования по стандарту 1149.6, удобно разделить на три основных направления (и, соответственно, группы продукции):

  • Первое направление связано с разработкой «заготовок» (модулей для проектов типа ASIC или ASSP), содержащих блоки для решения задач высокоскоростной связи. Такие модули, являющиеся интеллектуальной собственностью фирм-разработчиков (IP-блоки), могут приобретаться проектировщиками БИС и вставляться в собственные проекты ASIC или ASSP. Все модули поддерживают аппаратные требования стандарта 1149.6.
  • Второе направление связано с разработкой интегральных схем, реализующих основные блоки нового стандарта. Такие ИС обычно не ориентированы на какое-либо самостоятельное применение, а используются только совместно с другой аппаратурой, имеющей то или иное прикладное назначение.
  • Третье направление связано с выпуском аппаратуры, предназначенной для решения определенных специфических задач пользователя, в состав блоков обмена которой как необходимый элемент включены средства тестирования по стандарту 1149.6.

В рамках первого направления фирмы выпускают модули, содержащие высокоскоростные макроячейки типа serializer/deserializer (SerDes), или даже более крупные модули, содержащие ядра для последовательных каналов типа SerDes с пропускной способностью выше 3 Гбайт/с. Фирмы выпускают модули с различными технологическими нормами (от 0,09 до 0,13 мкм). При встраивании аппаратных блоков в проекты пользователя обеспечивается автоматическая поддержка не только их генерации, но и проверка тестовых правил стандарта 1149.6, тестовое планирование, интеграция и верификация на уровне RTL-описаний. Этим занимаются такие фирмы, как LSI Logic Corporation, LogicVision, Agere systems, ARM и Agilent incorporated.

Во второй группе можно выделить:

  • чип BCM54980 фирмы Broadcom (www.broadcom.com) — 8-портовый приемопередатчик Gigabit Ethernet;
  • чип Tsi578 фирмы Tundra Semiconductor Corporation (www.tundra.com) — 8-портовый коммутатор каналов RapidIO с общей пропускной способностью до 80 Гбит/с;
  • чипы PX5419A и PX5429A фирмы Zarlink Semiconductor (www.zarlink.com) — 12-канальные (скорость передачи информации по каждому из каналов составляет 3,6 Гбит/с) передатчик и приемник VCSEL;
  • чип PM6352 фирмы PMC Sierra (www.pmc-sierra.com) — 16-портовый коммутатор каналов RapidIO с общей пропускной способностью до 160 Гбит/с;
  • чипы SCAN90CP02, SCAN90004 и SCAN15MB200 фирмы National Semiconductor (www.national.com) — 2-канальный коммутатор LVDS, 4-канальный LVDS-повторитель и 2-канальный мультиплексор LVDS соответственно (производительность каждого канала — 1,5 Гбит/с).

К представителям третьей группы можно отнести следующую продукцию:

  • мост ExpressLane PEX 8114 фирмы PLX Technology, сопрягающий шины PCI/PCI X и PCI Express (содержит 4 канала PCI Express 2,5 Гбит/с, поддерживающих возможность тестирования по стандарту IEEE 1149.6);
  • процессор TMS320C6455 фирмы Texas Instruments (содержит 4 последовательных канала RapidIO, совместимых со стандартом IEEE 1149.6).

Программная поддержка стандарта 1149.6

Как уже отмечалось выше, программное обеспечение, поддерживающее работы со стандартом IEEE Std 1149.6 -2003, в свою очередь условно можно разделить на два вида: одно связано с автоматизацией простейших действий в JTAG-цепочке, а другое — с автоматизацией создания тестов, базирующихся на соответствующем стандарте. Работапервого вида ПО базируется практически только на транспортном механизме JTAG-интерфейса. Задачей ПО этого класса является образование из исходных данных пользователя кодовой последовательности, ее последовательная передача в JTAG-цепочку и прием кодовой последовательности, поступающей из JTAG-цепочки. Работа ПО этой группы ориентирована на конкретное подключение к тестируемым платам. Для обеспечения правильной расстановки исходных тестовых данных и разбиения на необходимые группы поступающих данных и образования конкретной кодировки исполняемых команд ПО и должно опираться на расширенные варианты BSD-файлов соответствующих ИС. Образование содержания тестовой последовательности, включая исполняемые команды, полностью ложится на разработчика тестов.

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

Выпуском программного обеспечения, работающим с AC-JTAG, занимается большое число зарубежных фирм. Судя по публикациям, выступлениям на конференциях и работе в составе комитета по выработке стандарта, ведущие специалисты таких крупнейших фирм, как Synopsys и Cadence, ведут активную работу в области промышленного внедрения решений стандарта. Вместе с тем необходимость органичного встраивания новых решений в состав большого количества программ, образующих единый комплекс, не позволила этим фирмам первыми обеспечить внедрение средств стандарта AC-JTAG. С другой стороны, распространение программных пакетов этих фирм только в составе сложных программных комплексов делает их приобретение малодоступным для отечественного пользователя.

Более распространенной и привычной является продукция относительно небольших фирм, специализирующихся на выпуске программных пакетов для работы с JTAG-интерфейсом и граничным сканированием. Этим занимаются такие фирмы, как ASSET InterTech (www.asset-intertech.com), Corelis и т. д. Стоит отметить, что стоимость выпускаемой продукции этих фирм тоже не назовешь очень маленькой. Так, стоимость пакета с ACJTAG (фирмы ASSET InterTech), входящего в состав ScanWorks, достигает $ 6000. Ресурсы пакета (начиная с версии 3.5) позволяют тестировать высокоскоростные последовательные шины на печатных платах с пропускной способностью до 10 Гбит/с. Тестирование выполняется по спецификации стандарта 1149.6.

Не столь сильно от лидера (фирмы ASSET InterTech) отстает фирма Corelis. Уже в 2004 году была выпущена версия пакета ScanExpress, работающая в тестовых системах на базе ПК. Версия 1.04 пакета ScanExpress поддерживает тестирование методами граничного сканирования высокоскоростных AC-межсоединений, опираясь на стандарт IEEE-1149.6. Генератор ScanExpressTPG Automatic Test Pattern Generator, входящий в состав пакета, ориентирован на модифицированные для стандарта IEEE-1149.6 BSDL-файлы и, учитывая новую структуру ячеек сканирования, обеспечивает тестовое покрытие для соединений с конденсаторами как для одиночных, так и для дифференциальных пар сигналов.

Среди европейских фирм-разработчиков и производителей САПР для граничного сканирования можно выделить фирму GЦPEL electronic (www.goepel.com), основанную в 1991 году в Германии. Выпущенный фирмой модуль ввода/вывода SFX-TAP4/CR полностью сопрягается с программным пакетом SYSTEM CASCON, который, начиная с версии 4.2.1, полностью поддерживает стандарты IEEE 1149.1, IEEE 1149.4, IEEE 1149.6, IEEE 1532 и JESD71. Анонсированная фирмой платформа SCANFLEX (основанная на ранее выпущенных модулях) продолжает эти традиции. Благодаря модульности аппаратной и программной части платформы фирма обещает поддерживать не только уже принятые, но и будущие стандарты в сфере граничного сканирования и внутрисхемного программирования. Уже сейчас работа платформы может выполняться на ПК различных типов. Высокая скорость сигналов TCK (уже сейчас до 50 МГц) позволяет тестировать соединения для высокоскоростных передач.

Заключение

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

В отечественной литературе до сих пор эти вопросы практически не рассматривались. Приведенный в статье материал о стандарте, об интегральных схемах и САПР, поддерживающих новый стандарт, отнюдь не является всеобъемлющим. Авторы преследовали одну цель — показать, сколь стремительно развивается рынок интегральных схем с поддержкой стандарта 1149.6 и инструментальных средств, которые уже опираются на его возможности. Разработчики аппаратуры при разработке нового оборудования и модернизации старого должны стараться включить возможность их испытаний методами граничного сканирования. Тестированию могут подвергаться как компоненты таких систем, так и их взаимосвязь с другими устройствами.

Литература

  1. IEEE Std 1149.1-1990, IEEE Standard Test Access Port and Boundary-Scan Architecture
  2. IEEE Std 1149.4-1999 IEEE Standard for a Mixed-Signal Test Bus.
  3. Грушвицкий Р., Ильин И., Михайлов М. Метод граничного сканирования для смешанных сигналов // Компоненты и технологии. 2006. № 8, 9.
  4. IEEE Std 1149.6 — 2003 IEEE Standard for BoundaryScan Testing of Advanced Digital Networks.
  5. Collins P. Extensions to the IEEE 1149.1 boundaryscan standard // Electronic Design News. 2005. September 15.
  6. Грушвицкий Р. И., Мурсаев А. Х., Угрюмов Е. П. Проектирование систем на микросхемах с программируемой структурой. — 2-е изд., перераб. и доп. СПб.: БХВ-Петербург, 2006.
  7. Грушвицкий Р. И., Мурсаев А. Х., Угрюмов Е. П. Проектирование систем на микросхемах программируемой логики. СПб.: БХВ-Петербург, 2002.

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

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