Использование метода буферных цепей при тестопригодном проектировании JTAG-структур
Введение
Метод граничного сканирования (ГС, JTAG) представляет собой метод тестопригодного проектирования, существенно упрощающий процесс тестирования печатных плат (ПП), предоставляя для этой цели стандартный интерфейс тестирования ПП и интегральных микросхем (ИС) [5]. ГС использует последовательную цепочку сканирования для доступа к контактам ввода/вывода ИС на плате. Так как цепочка ГС проходит через все входные и выходные контакты ИС (КВВ), ее входы и выходы доступны на плате для выборки данных из других ИС и одновременно — для обновления данных в ряде прочих ИС цепочки JTAG. Эти данные выбираются либо модифицируются вдоль маршрута той или иной длины, который охватывает сдвиг вдоль границ одной или нескольких ИС цепочки. В силу указанных причин в процессе тестирования могут возникать следующие проблемы: ошибочный сдвиг данных, искажение фронтов сигналов или эффект «дрожания земли» (ground bounce).
На рис. 1 показан пример ячейки регистра ГС и конфигурации его входов/выходов, которые будут далее описаны в этой статье.
Статья построена следующим образом. Во втором разделе рассматриваются причины возникновения указанных проблем и способы их устранения. Также здесь описаны принципы тестопригодного проектирования, предназначенные для решения этих проблем. В третьем разделе приведены экспериментальные результаты, полученные при тестировании ИС с помощью предлагаемого алгоритма размещения.
Предлагаемые средства тестопригодного проектирования включают в себя такие программные пакеты, как Test-Compiler и TestGen, а также разработанную компанией для собственных нужд систему SADAS, в рамках которой и был реализован так называемый метод буферной цепи.
Mетоды
Проблемы и их решения
Ошибочный сдвиг данных может произойти из-за нарушения времени задержки в длинной цепочке сдвигового регистра (ГС) JTAG. Как правило, цепь ГС имеет почти нулевую задержку на пути сдвига. Это достигается в результате размещения триггера с максимальной задержкой как можно ближе к входному контакту TDI, а триггера с наименьшей задержкой — как можно ближе к контакту TDO. Объяснение причин именно такого построения цепи clockDR приведено на рис. 2. Здесь показано правильное выполнение операции сдвига в отсутствие фазового сдвига тактовых импульсов. Захват данных А триггером А будет синхронизироваться передним фронтом СK1 (на рис. 2 обозначено как «• •»). Если CK1 и CK2 не имеют фазового сдвига тактовых импульсов, то триггер В также будет захватывать данные А, синхронизируясь с передним фронтом CK2.
На диаграмме (рис. 3) приведена операция сдвига при наличии фазового сдвига тактовых импульсов. При таком фазовом сдвиге в цепи clockDR может возникнуть запаздывание сигнала CK2, как это показано на рис. 3. Таким образом данные, захваченные триггером В, попадают на вход триггера A вместо его выхода. Передача неправильных данных происходит из-за перекоса тактовых импульсов. Можно сказать, что нарушается следующее правило проектирования JTAG-схем: данные должны передаваться на один триггер за один цикл синхронизации. Если величина фазового сдвига невелика, то есть находится в пределах требуемого диапазона времени удержания, произойдет нарушение времени удержания.
Во избежание такой ситуации предлагается построить цепь clockDR, как показано на рис. 4, то есть точки подключения clockDR следует поменять местами. В результате захват данных А будет синхронизироваться передним фронтом СK1 «• •» и передаваться на триггер В синхронно с передним фронтом CK2 «• •».
Благодаря новейшим субмикронным технологиям ширина линии прохождения сигнала все более сокращается, а ее сопротивление, соответственно, возрастает. Искажение фронтов сигнала может про-изойти вследствие эффекта экранирующего сопротивления, который возникает, когда сопротивление каждой линии сигнала увеличивается. Структура ГС имеет длинные цепи clockDR, shiftDR, updateDR, Mode и Reset, которые охватывают все контакты ИС.
Одной из проблем граничного сканирования является деградация формы JTAG-сигналов. Ее легко решить путем добавления буферов, как показано на рис. 5. Эксперименты с моделированием в программе SPICE показали, что в каждую цепь, которая имеет коэффициент разветвления по выходу равный 10, для ИС, выполненных по 0,35-мм технологии, следует добавить NID-ячейку (неинвертирующий буфер с 1X-драйвером, nid cell, non-inverting buffer with 1X driver), а для ИС, выполненных по 0,25-мм технологии, нужно добавить NID2-ячейку (неинвертирующий буфер с 2X-драйвером).
Эффект «дрожания земли» (ground bounce) может проявиться, когда элементы индуктивности или резисторы, стоящие в цепях питания, вызывают падение напряжения на тех внутренних узлах, которые соединяются с питанием или «землей». Это создает эффект наложения колебаний напряжения на сигнал. Если это сигнал TCK и амплитуда колебания велика для создания нового периода тактовых импульсов, то синхронизация с состоянием TAP может быть потеряна [4]. «Дрожание земли» происходит синхронно с задним фронтом TCK во время обновления DR- или IR-состояний, по которым все выходы могут переключаться одновременно. В конечном итоге проблема «дрожания земли» связана с количеством одновременно переключающихся выходов (Simultaneous Switching Outputs, SSO). Как следует из результатов моделирования в Spice, необходимо вносить задержки в цепочки сигналов updateDR и Mode, если они имеют коэффициент разветвления по выходу, равный 10. Рекомендуется также уменьшить число одновременно переключающихся выходов в структуре JTAG.
На рис. 5 показано, как вносить задержки в цепи updateDR и Mode.
В ходе экспериментов была использована ИС, имеющая 208 контактов и состоящая из мультиплексоров и триггеров, как показано на рис. 6.
На рис. 7 приведен пример искажения фронта сигнала при моделировании в программе SPICE до внесения задержек. Верхний и нижний граф показывают искажения фронтов в цепях сигналов Mode и updateDR соответственно, измеренных в точках разветвления от TDI контакта № 1, № 104, № 156 и № 208. На рис. 7 видно, что искажение фронта составит приблизительно 20–30 нс, если в эти цепи не будут внесены задержки.
На рис. 8 показаны искажения фронтов сигналов и шумы, вызванные «дрожанием земли», после внесения NID-ячейки в каждый узел (цепь), обеспечивающий питание не менее 10 триггеров. На двух верхних и двух нижних графах можно видеть искажение фронта сигнала и шум, вызванный «дрожанием земли», в цепях сигналов Mode и updateDR соответственно. Измерения шума, вызванного «дрожанием земли», были проведены в точках 1–3, как показано на рис. 6. Измерение искажения фронта сигнала было сделано в точках разветвления от TDI контакта № 1, № 104, № 156 и № 208. Как следует из результатов экспериментов, путем внесения NID-ячейки в каждую цепь, питающую как минимум 10 триггеров, можно избавиться от нежелательных искажений фронтов и шума, вызванного «дрожанием земли».
Рис. 8. Искажение фронтов и шумы, вызванные «дрожанием земли», в цепях сигналов Mode и updateDR в результате внесения задержек
Проектирование и тестирование
На рис. 9 приведена графическая последовательность всех этапов проектирования и тестирования. Эта последовательность состоит из четырех этапов: внесение структуры JTAG, проверка на соответствие, внесение буферной цепи и моделирование временных характеристик.
Прежде всего, на этапе проектирования структуры JTAG-цепочки требуется иметь нетлист на уровне описания портов внутренней логики. По завершении этого шага формируется список (нетлист) добавленных ячеек JTAG на вентильном уровне. Затем выполняется проверка соответствия JTAG-структур, для которой потребуется этот нетлист добавленных ячеек JTAG на уровне вентилей, полученный на предыдущем этапе.
Результатом этого шага является формирование нового BSDL-файла и функционального тест-вектора.
На третьем и четвертом, заключительном этапе происходит формирование собственно буферных цепей. Для этого необходимо иметь информацию об упорядочении контактов (package bonding pad order information) и имена цепей нетлиста на вентильном уровне. Выходы этого этапа представляют собой JTAG-нетлист на уровне вентилей, включающих буферные цепи и BSRLIST (список контактов JTAG-регистра). И наконец, с помощью моделирования временных характеристик тестируются функциональные векторы с задержками.
Для проектирования структуры JTAG в рамках данной работы использовалась программа Тест-Compiler, для проверки на соответствие — программа TestGen, для компоновки и маршрутизации — Apollo и SADAS — для вставки буферной цепи. Главная цель такого алгоритма заключается в устранении post-layout проблем, описанных выше на pre-layout этапе, при помощи метода буферной цепи.
Результаты
В таблице приведена информация, касающаяся реального чипа, описанного в статье.
Таблица. Характеристики чипа, примененного в экспериментах
Размеры чипа, мм | 13×13 |
Количество вентилей | 1800K |
Количество контактов | 304 |
Количество BSR | 604 |
Количество контактов питания/GND | 129 |
Количество добавленных буферов | 190 |
Технология | 0,35-мм, 3,3-В |
При применении технологии 0,35 мм деградация не превышает 2 нс, а «дрожание земли» заметно уменьшено. Число одновременно переключающихся выходов (SSO) равно 20 контактов/нс в наиболее критических точках.
Чип полностью совместим с JTAG-стандартом IEEE Std 1149.1 при временном моделировании pre-layout и post-layout. Несмотря на то, что чип очень большой и сложный, все проблемы, связанные с разработкой его JTAG-структуры, успешно решаются.
Заключение
Авторы коснулись проблем разработки JTAG-структур и, в частности, предложенного решения на основе метода буферных цепей. Этот метод очень прост в реализации и обеспечивает полное решение следующих проблем в рамках любых JTAG-структур: сдвиг неверных данных, деградация формы сигнала и «дрожание земли». Разработка JTAG-структур и процедура тестирования для любого реального чипа при таком подходе выполняются практически без всяких проблем.
Литература
- IEEE Std 1149.1-1990. IEEE Standard Test Access Port and Boundary-Scan Architecture. The Institute of Electrical and Electronics Engineers, Inc. 1990.
- Bleeker H., Eijnden P., Jong F. de. Boundary-Scan Test — A Practical Approach. Kluwer Academic Publishers, 1993.
- Maunder C. M., Tulloss R. E. The Test Access Port And Boundary Scan Architecture. IEEE Computer Society Press Tutorial, 1990.
- STD90/MDL110 0.35um 3V CMOS Standard Cell Library for Pure Logic / MDL Products Databook. SEC-ASIC, 1997.
- Parker K. P. The Boundary-Scan Hand Book. Kluwer Academic Publishers, 1992.
- Robinson M. F. Technology Independent Boundary Scan Synthesis (Design Flow Issues). The Institute of Electrical and Electronics Engineers, Inc. 1993.