158
• возможность параллельной согласованной работы нескольких
устройств,
поддерживающих
данный
стандарт
(количество
ограничивается электрическими параметрами интерфейса);
• возможность расширения самого механизма (введение дополнительных
команд и форматов данных).
Первое определяет возможность использования механизма граничного
сканирования при разработке многопроцессорных
систем с гомогенной или
гетерогенной структурой. Второе расширяет круг задач, где может эффективно
применяться механизм, позволяя решать, например, задачи отладки, сбора
диагностики и мониторинга.
3.3.3.1 Реализация JTAG-инструментария
Решая задачу схемотехнического проектирования встроенной системы,
проектировщики
закладывают
средства
начального
тестирования
и
внутрисхемной
инициализации.
Для
этого
разрабатывается
специализированное устройство или сервисный
механизм инструментально-
технологического характера. Функциональность и состав инструментального
обеспечения определяются особенностями проекта. Инструментальные кросс-
средства представляют собой совокупность программных средств разработки и
аппаратных интерфейсов, которые обеспечивают доступ к целевому объекту с
инструментальной машины. Ресурсов инструментальной машины обычно
хватает для реализации интерпретатора языкового описания механизма
граничного сканирования при проведении большинства работ с макетным
образцом системы на этапах частичной инициализации и начальной отладки.
Иначе обстоит дело с опытными образцами системы, когда при проектировании
стараются сокращать выделенные инструментальные каналы, формируя
объединенные сервисные механизмы. При этом
начальная инициализация
происходит с помощью ранее апробированных вычислительных компонент,
которые совмещают в себе целевую функциональность и поддержку
инструментального режима. Например, инструментальный канал и канал для
поддержки механизма граничного сканирования могут быть объединены. В
этом случае размещение интерпретатора на инструментальной машине
приведет к снижению эффективности работы из-за ограничений канала.
Актуальной становится реализация интерпретатора средствами “сервисного”
контроллера в составе целевой системы, который будет выполнять
резидентную программу поддержки механизма граничного сканирования.
Решение в пользу такой резидентной реализации
интерпретатора будет
зависеть от вычислительной мощности контроллера и сложности
интерпретируемого языка. На сегодняшний день многие производители
предоставляют такого рода интерпретаторы в исходных текстах, для различных
аппаратных платформ. Типовой вариант JTAG – системы приведен на рис. 5.
Эффективность использования технологии граничного сканирования во многом
зависит от решения двух вопросов: описания структуры цепочки JTAG и
159
формулировки алгоритма работы с описанной цепочкой. Под JTAG-цепочкой
(scan path) понимается полная стандартная тест-шина, полученная
последовательным соединением сигналов TDI и TDO нескольких компонент.
Это понятие используется при решении следующих задач:
• описания отдельных микросхем,
поддерживающих механизм
граничного сканирования;
• описания структуры целевой системы с точки зрения механизма
граничного сканирования;
• описания (выделения) цели работы конкретного алгоритма
(программирование, тестирование).
Обычно в реальной системе имеется несколько микросхем, связанных в
одну JTAG-цепочку. Как отмечалось выше, для описания цепочек и их
иерархии используются языки BSDL и HSDL. Как средства описания они
эффективны, но практически не поддержаны доступными инструментальными
средствами. В результате цепочку JTAG-устройств разработчик задает тем или
иным
неформальным образом, что ведет к резкому росту трудоемкости при
использовании механизма граничного сканирования. Задача выделения цели не
входит в число стандартных задач описания структуры JTAG-цепочки. Однако
на практике приходится очень редко работать с регистром граничного
сканирования BSR (Boundary Scan Register), равным объединению BSR всей
цепочки. Обычно для конкретного теста или алгоритма требуется не более
десятка ячеек в BSR или только одна микросхема в составе цепочки.
Стандартного средства такого описания, по-видимому, не существует. Это
объясняется, скорее всего, спецификой описания (по факту)
JTAG-цепочки и
кругом
решаемых JTAG задач.
Есть
упоминания
о
средствах
программирования, например, flash-памяти, с помощью JTAG, что требует
выделения линий адреса, данных и управления во всем BSR. Однако в
известных реализациях это делается неформальным образом. Справедливости
ради, необходимо отметить, что в стандарте HSDL имеется
возможность
«выделять» отдельные ячейки BSR, назначая им произвольные имена. Но это
нельзя назвать выделением цели в чистом виде, поскольку алгоритм,
составленный по такому описанию, по-прежнему будет оперировать полным
BSR. Что касается разработчика, то ему
при работе также придется
рассматривать всю JTAG-цепочку (явным или неявным образом), даже если
используется только несколько выводов одной из микросхем.
Do'stlaringiz bilan baham: