Граничное сканирование - это метод проверки межсоединений (проводных линий) на печатных платах или субблоках внутри интегральной схемы . Граничное сканирование также широко используется в качестве метода отладки для отслеживания состояний выводов интегральной схемы, измерения напряжения или анализа субблоков внутри интегральной схемы.
Группа Joint Test Action Group (JTAG) разработала спецификацию для тестирования граничного сканирования, которая была стандартизирована в 1990 году как IEEE Std. 1149.1-1990. В 1994 году было добавлено дополнение, которое содержит описание языка описания граничного сканирования (BSDL), которое описывает логическое содержание граничного сканирования устройств, совместимых со стандартом IEEE Std 1149.1. С тех пор этот стандарт был принят производителями электронных устройств по всему миру. Граничное сканирование теперь по большей части является синонимом JTAG. [1] [2]
Тестирование
Архитектура граничного сканирования предоставляет средства для тестирования межсоединений (включая кластеры логики , памяти и т. Д.) Без использования физических тестовых пробников ; это включает добавление по крайней мере одной тестовой ячейки, которая подключена к каждому выводу устройства и может выборочно отменять функциональность этого вывода. Каждую тестовую ячейку можно запрограммировать через цепочку сканирования JTAG для подачи сигнала на вывод и, таким образом, на отдельную дорожку на плате; затем можно прочитать ячейку в месте назначения трассы платы, чтобы убедиться, что трасса платы правильно соединяет два контакта. Если трасса закорочена на другой сигнал или если трасса открыта, правильное значение сигнала не отображается на выводе назначения, что указывает на неисправность.
Встроенная инфраструктура
Чтобы обеспечить возможность граничного сканирования, поставщики ИС добавляют дополнительную логику к каждому из своих устройств, включая ячейки сканирования для каждой из внешних трасс. Эти ячейки затем соединяются вместе, образуя сдвиговый регистр внешнего граничного сканирования (BSR), и объединяются с поддержкой контроллера тестового порта доступа JTAG (TAP), содержащей четыре (или иногда более) дополнительных контакта плюс схему управления.
Некоторые контроллеры TAP поддерживают цепочки сканирования между внутренними блоками логического проектирования с инструкциями JTAG, которые работают с этими внутренними цепочками сканирования вместо BSR. Это может позволить тестировать эти интегрированные компоненты, как если бы они были отдельными микросхемами на плате. Решения для отладки на кристалле активно используют такие внутренние цепочки сканирования.
Эти проекты являются частью большинства библиотек Verilog или VHDL . Накладные расходы на эту дополнительную логику минимальны и обычно окупаются, чтобы обеспечить эффективное тестирование на уровне платы.
Для нормальной работы добавленные ячейки защелки граничного сканирования устанавливаются так, чтобы они не влияли на схему и, следовательно, были фактически невидимыми. Однако, когда схема установлена в тестовый режим, защелки позволяют перемещать поток данных с одной защелки на другую. После того, как полное слово данных было сдвинуто в тестируемую цепь, оно может быть зафиксировано на месте, чтобы управлять внешними сигналами. Сдвиг слова также обычно возвращает входные значения из сигналов, сконфигурированных как входные.
Механизм тестирования
Поскольку ячейки могут использоваться для передачи данных на плату, они могут устанавливать условия тестирования. Затем соответствующие состояния могут быть возвращены в тестовую систему путем повторной синхронизации слова данных, чтобы его можно было проанализировать.
Приняв этот метод, тестовая система может получить тестовый доступ к плате. Поскольку большинство современных плат очень плотно заполнены компонентами и дорожками, для тестовых систем очень трудно получить физический доступ к соответствующим областям платы, чтобы они могли протестировать плату. Сканирование границ делает доступ возможным без необходимости всегда использовать физические датчики.
В современном дизайне микросхем и плат дизайн для тестирования является серьезной проблемой, и одним из распространенных артефактов дизайна является набор тестовых векторов граничного сканирования, возможно, поставляемых в последовательном векторном формате (SVF) или аналогичном формате обмена.
Тестовые операции JTAG
Устройства общаются с миром через набор входных и выходных контактов. Сами по себе эти штифты обеспечивают ограниченный обзор работы устройства. Однако устройства, поддерживающие граничное сканирование, содержат ячейку регистра сдвига для каждого сигнального контакта устройства. Эти регистры связаны выделенным путем вокруг границы устройства (отсюда и название). Путь создает возможность виртуального доступа, которая позволяет обходить обычные входы и обеспечивает прямое управление устройством и подробную видимость на его выходах. [3] Содержимое граничного сканирования обычно описывается производителем с помощью файла BSDL для конкретной части .
Помимо прочего, файл BSDL будет описывать каждый цифровой сигнал, передаваемый через штифт или шарик (в зависимости от упаковки микросхемы) при граничном сканировании, как часть его определения регистра граничного сканирования (BSR). Описание двух мячей может выглядеть так:
"541 (bc_1, *, control, 1)," & "542 (bc_1, GPIO51_ATACS1, output3, X, 541, 1, Z)," & "543 (bc_1, GPIO51_ATACS1, input, X)," & "544 (bc_1, *, control, 1), " & " 545 (bc_1, GPIO50_ATACS0, output3, X, 544, 1, Z), " & " 546 (bc_1, GPIO50_ATACS0, input, X), " &
Здесь показаны два шарика на микросхеме среднего размера (граничное сканирование включает около 620 таких линий в корпусе BGA с 361 шариком ), каждый из которых имеет три компонента в BSR: элемент управления, конфигурирующий шарик (как вход, выход, какой уровень движения, подтягивания, опускания и т. д.); один тип выходного сигнала; и один тип входного сигнала.
Есть инструкции JTAG, чтобы ВЫБРАТЬ данные в этом регистре пограничного сканирования или ЗАГРУЗИТЬ его со значениями.
Во время тестирования сигналы ввода / вывода входят в микросхему и покидают ее через ячейки граничного сканирования. Тестирование включает в себя несколько тестовых векторов, каждый из которых управляет некоторыми сигналами, а затем проверяет, соответствуют ли ответы ожидаемым. Ячейки граничного сканирования могут быть настроены для поддержки внешнего тестирования взаимосвязи между микросхемами (инструкция EXTEST) или внутреннего тестирования логики внутри микросхемы (инструкция INTEST).
Инфраструктура тестирования плат
Обычно высокопроизводительные коммерческие системы тестирования JTAG позволяют импортировать проектные «списки соединений» из систем CAD / EDA, а также модели BSDL устройств, совместимых с граничным сканированием / JTAG, для автоматического создания тестовых приложений. Общие типы тестов включают:
- "Инфраструктура" или целостность пути сканирования
- Контакт устройства пограничного сканирования к контакту устройства пограничного сканирования «межсоединение»
- Вывод граничного сканирования для устройства памяти или кластера устройств (SRAM, DRAM, DDR и т. Д.)
- Кластерное тестирование произвольной логики
При использовании во время производства такие системы также поддерживают не тестовые, но связанные приложения, такие как внутрисистемное программирование различных типов флэш-памяти: NOR, NAND и последовательный порт (I2C или SPI).
Такие коммерческие системы используются профессионалами в области тестирования плат и часто стоят несколько тысяч долларов за полноценную систему. Они могут включать опции диагностики для точного определения неисправностей, таких как обрыв цепи и короткое замыкание, а также могут предлагать средства просмотра схем или компоновки для отображения неисправности в графическом виде. Тесты, разработанные с помощью таких инструментов, часто сочетаются с другими системами тестирования, такими как внутрисхемные тестеры (ICT) или системы тестирования функциональных плат.
Отладка
Архитектура пограничного сканирования также предоставляет функциональные возможности, которые помогают разработчикам и инженерам на этапах разработки встроенной системы. Порт доступа JTAG Test Access Port (TAP) можно превратить в низкоскоростной логический анализатор .
История
Джеймс Б. Энджелл из Стэнфордского университета предложил серийное тестирование. [4]
IBM разработала дизайн сканирования с учетом уровня (LSSD). [5] [6]
Смотрите также
Рекомендации
- ^ IEEE Std 1149.1 (JTAG) Учебник по тестированию В главе 3 рассматривается граничное сканирование с помощью JTAG, другие главы также являются информативными.
- Перейти ↑ Frenzel, Louis E. (11 сентября 2008 г.). «Встроенный план для сканирования границ JTAG» . Электронный дизайн . Архивировано из оригинала на 2008-12-01. представляет собой обзор примерно 2008 г.
- ^ Ошана, Роб (29 октября 2002 г.). «Введение в JTAG» . Проектирование встроенных систем . Проверено 5 апреля 2007 .
- ^ Уильямс, MJY; Ангел, Дж. Б. (январь 1973 г.), «Повышение тестируемости крупномасштабных интегральных схем с помощью контрольных точек и дополнительной логики», IEEE Transactions on Computers , C-22 (1): 46–60, doi : 10.1109 / TC.1973.223600
- ^ US 3761695 , Эйхельбергер, Эдвард, «Метод чувствительного к уровню тестирования функциональной логической системы», выпущенный 25 сентября 1973 г.
- ^ US 4293919 , Дасгупта, Сумит, «Система чувствительного к уровню сканирования (LSSD)», выпущена 10.06.1981.
Внешние ссылки
- Официальный веб-сайт группы разработки стандартов IEEE 1149.1
- IEEE 1149.1 JTAG and Boundary Scan Tutorial - электронная книга Архитектура JTAG (TAP) пограничного сканирования и проблемы, которые она решает для создания высокого тестового покрытия