Биография | Диссертация | Содержание библиотеки | Ресурсы Intenet |
Глава 10
ПЕРИФЕРИЙНОЕ СКАНИРОВАНИЕ
Под периферийным сканированием (ПС - от англ. Boundary Scan) понимается программно-аппаратный метод задания тестовых воздействий на входы проверяемого устройства и считывания сигналов с его выходов, предусматривающий использование специального регистра данных ПС, включаемого между входами/выходами проверяемого устройства и внешними выводами.
Метод ПС был специально разработан для обеспечения тестируемости БИС с использованием минимального количества дополнительных выводов корпуса МС.
Метод ПС позволяет:
проверять сами МС;
проверять межсоединения после монтажа МС на плату;
считывать или управлять сигналами на выводах МС во время работы.
Основой использования ПС является стандарт IEEE Std. 1149.1 [б], разработанный объединённой группой по тестам (Joint Test Action Group - JTAG).
Приведем лишь минимальные сведения из стандарта IEEE Std. 1149.1, необходимые для понимания метода ПС.
10.1. Предложения JTAG по организации периферийного сканирования
Упрощенная схема включения регистра данных ПС в МС показана на рис. 10.1.
Регистр данных ПС представляет собой сдвиговый регистр, способный также кроме сдвига выполнять ещё две дополнительные функции:
параллельную загрузку (захват - от англ. Capture) данных во все разряды;
защелкивание (обновление - от англ. Update) текущего содержимого регистра сдвига на параллельных выходах, так что после этого защелкивания сигналы на параллельных выходах не меняются при последующем выполнении сдвига.
В неактивном состоянии регистр данных ПС не влияет на функционирование основных схем кристалла, т.е. свободно пропускает входные и выходные сигналы МС.
Упрощенная схема одного разряда регистра данных ПС приведена на рис.10.2.
Стандарт JTAG предусматривает, что на выводе МС, выполняющем функции ВХОД или ВЫХОД, должен быть один разряд регистра данных ПС; на выходах с тремя состояниями - по два разряда (один на информационном входе выходного буфера, а втоагрузку (захват - от англ. Capture) данных во все разряды;
защелкивание (обновление - от англ. Update) текущего содержимого регистра сдвига на параллельных выходах, так что после этого защелкивания сигналы на параллельных выходах не меняются при последующем выполнении сдвига.
В неактивном состоянии регистр данных ПС не влияет на функционирование основных схем кристалла, т.е. свободно пропускает входные и выходные сигналы МС.
Упрощенная схема одного разряда регистра данных ПС приведена на рис.10.2.
Стандарт JTAG предусматривает, что на выводе МС, выполняющем функции ВХОД или ВЫХОД, должен быть один разряд регистра данных ПС; на выходах с тремя состояниями - по два разряда (один на информационном входе выходного буфера, а второй на входе управления третьим состоянием). На двунаправленном же выводе МС с тремя состояниями (как в большинстве БВВ ПМЛЭ) должно быть по три разряда регистра данных (на входе, выходе и в цепи управления третьим состоянием), что и показано на рис. 10.1.
Порт тестирования (ПТ - от англ. ТАР - Test Access Port) представляет собой четыре или пять выделенных (т. е. неиспользуемых в других целях) выводов МС, через которые производится реализация метода ПС. Эти выводы имеют следующие наименования и функции:
ТСК (Test ClocK input) - синхронизация передачи данных и команд;
TMS (Test Mode Select) - выбор режима тестирования (считывается на переднем фронте ТСК);
TDI (Test Data Input) - вход данных и команд (считывается на переднем фронте ТСК);
TDO (Test Data Output) - выходные данные (изменение данных по заднему фронту ТСК);
~TRST (Test ReSeT) - инициализация ПТ ( знак "~" означает, что активным является низкий уровень). Сигнал -TRST является необязательным для организации ПС, так как инициализация может осуществляться подачей специальной последовательности сигналов на вход TMS.
Периферийное сканирование выполняется в следующей последовательности:
загрузка кода команды;
загрузка данных (выборочно);
исполнение команды;
считывание результата. Второй и четвертый шаги могут производиться одновременно.
Если на печатной плате установлено несколько МС с ПС, то, объединив ПТ этих микросхем, можно:
загрузить данные в выходные ячейки одной МС и считать их из входных ячеек другой МС (проверить межсоединения);
изолировать выводы МС на время проведения внутреннего теста от остальных МС (проверить ее функционирование).
При этом для тестирования всей платы будут использоваться всего 4 ... 5 тех же сигналов ПТ.
Структурная схема аппаратуры ПС показана на рис. 10.3.
Аппарат для реализации метода периферийного сканирования должен включать в себя: )
порт тестирования (пять выводов: TDI, -TRST, TMS, TCK, TDO);
устройство управления ПС (ТАР Controller); ' ;
регистр команд IR (Instruction Register) и дешифратор команд;
группу регистров данных DR (Data Registers).
Регистр команд и регистры данных должны быть отдельными сдвиговыми регистрами, соединенными параллельно, и имеющими общие последовательные вход TDI и выход TDO. Выбор между этими регистрами для записи или считывания должен осуществляться устройством управления ПС, которое принимает тактовые сигналы TCK и интерпретирует команды на входе TMS, синхронизируя и управляя работой регистров команд и данных и другими схемами ПС.
Регистр команд и дешифратор используются для выбора типа теста или регистров данных, подключаемых через мультиплексор к выходу TDO.
Группа регистров данных должна включать одноразрядный регистр обхода (BYPASS-регистр) и собственно регистр данных периферийного сканирования RD (Boundary Scan Data Register), а также может содержать регистр идентификации и др.
Устройство управления аппаратурой ПС (ТАР Controller) - синхронный конечный автомат, управляемый сигналами TCK и TMS и, в свою очередь, управляющий другими узлами, обеспечивающими ПС. Диаграмма состояний устройства управления ПС приведена на рис. 10.4. Цифра рядом с каждым состоянием - значение сигнала на выводе TMS на переднем фронте очередного импульса TCK.
Пояснения к диаграмме состояний:
TEST-LOGIC-RESET - сброс устройства управления ПС. Для вхождения в этот режим существует несколько путей:
в регистр команд надо записать команды INCODE или BYPASS;
держать высокий уровень на выводе TMS по крайней мере в течение пяти тактов TCK;
сбросить устройство управления ПС (ТАР Controller) подачей низкого уровня на вход -TRST.
Устройство управления ПС сбрасывается также при включении питания. Схемы ПС в этом состоянии неактивны.
RUN-TEST/IDLE - выполнение теста/ожидание - состояние между операциями сканирования. Схемы ПС при нахождении в этом состоянии активны только при наличии определённой команды (например, RUNBIST), иначе содержимое регистров данных и команд останется без изменения.
SELECT-DR-SCAN - выбор сканирования регистра данных - промежуточное состояние (содержимое регистров данных и команд не изменяется).
SELECT-IR-SCAN - выбор сканирования регистра команд - промежуточное состояние (содержимое регистров данных и команд не изменяется).
CAPTURE-DR - загрузка регистра данных. В этом состоянии данные по приходу переднего фронта TCK параллельно загружаются ("захватываются") в сдвиговую часть регистра данных, выбранного текущей командой.
SHIFT-DR - сдвиг регистра данных. По приходу переднего фронта каждого следующего TCK данные в выбранном текущей командой регистре данных сдвигаются на один разряд от TDI к TDO.
EXIT1-DR - выход 1-регистр данных - промежуточное состояние (содержимое регистров данных и команд не изменяется).
PAUSE-DR - пауза-регистр данных. В этом состоянии временно приостанавливается сдвиг в регистре данных от TDI к TDO (содержимое регистров данных и команд не изменяется).
EXIT2-DR - выход 2-регистр данных - промежуточное состояние (содержимое регистров данных и команд не изменяется).
UPDATE-DR - обновить регистр данных. У некоторых регистров данных может присутствовать параллельный защелкиваемый выходной буфер, данные на выходах которого не изменяются во время сдвига и загрузки ("захвата") новых, а в состоянии UPDATE-DR данные из сдвигового регистра параллельно переписываются в выходной
буфер. Содержимое сдвиговых регистров данных и команд не изменяется.
CAPTURE-IR - загрузка регистра команд. В сдвигаемую часть регистра команд по переднему фронту ТСК загружается код, определяемый изготовителем МС. Содержимое регистров данных и защелкнутая команда не изменяются.
SHIFT-IR - сдвиг регистра команд. По приходу переднего фронта каждого следующего ТСК код команды в сдвигаемой части регистра команд сдвигается на один разряд от TDI к ТОО. Команда подается младшим разрядом вперед. Содержимое регистров данных и защелкнутая команда не изменяются.
EXIT1-IR - выход 1-регистр команд - промежуточное состояние (содержимое регистров данных и команд не изменяется).
PAUSE-IR - пауза-регистр команд. В этом состоянии временно приостанавливается сдвиг в регистре команд от TDI к TDO (содержимое регистров данных и команд не изменяется).
EXIT2-IR - выход 2-регистр команд - промежуточное состояние (содержимое регистров данных и команд не изменяется).
UPDATE-IR - обновить регистр команд. Код, находящийся в сдвигаемой части регистра команд, защелкивается в параллельном выходном буфере на заднем фронте ТСК. С этого момента защелкнутая команда становится текущей и подается на дешифратор команд. Содержимое регистров данных не изменяется.
Три состояния устройства управления ПС (ТАР Controller) являются главными:
UPDATE-DR - задание входных воздействий на тестируемую схему;
RUN-TEST/IDLE - выполнение теста или ожидание.
CAPTURE-DR - считывание результата тестирования с выходов схемы в сдвиговый регистр данных ПС.
Команды периферийного сканирования. Для выполнения различных операций ПС используется регистр команд, состоящий из двух частей - сдвиговой и, подключенной параллельно ей, защелкиваемой, где собственно и находится текущая команда, определяющая вид исполняемого теста или регистр данных.
Каждая команда в регистре команд определяет набор регистров данных, относящихся к этой команде и путь или цепочку регистров данных между TDI и TDO.
Все бессмысленные наборы 0 и 1 в регистре команд должны соответствовать команде BYPASS.
Общие команды BYPASS, SAMPLE/PRELOAD и EXTEST доступны всем пользователям МС с JTAG , и результаты их выполнения не зависят от типа МС.
Особенные команды используются в целях производителя МС и их код должен быть приведен в описании во избежание нежелательных результатов их исполнения.
Рассмотрим описание команд ПС, определенных в стандарте JTAG.
Команда BYPASS. Регистр BYPASS - одна ячейка между TDI и TDO, требующаяся при отсутствии тестирования (для сквозного пропуска данных через МС). Двоичный код для BYPASS - {111...1} (все единицы). Выполнение команды BYPASS не влияет на работу схем на кристалле и состояния регистров данных.
Команда SAMPLE/PRELOAD позволяет:
в состоянии CAPTURE-DR зафиксировать ("захватить") в сдвиговый регистр ПС сигналы, присутствующие на параллельных входах регистра ПС (по переднему фронту ТСК);
в состоянии UPDATE-DR загрузить данные, находящиеся в данный момент в сдвиговой части регистра данных, в параллельный регистр-защелку и, таким образом, обновить сигналы на параллельных выходах этого регистра данных (по заднему фронту ТСК).
Команда EXTEST используется для тестирования внешних по отношению к данной МС соединений на печатной плате и задания входных воздействий для других МС. Двоичный код для EXTEST - {000..0} (все нули). Данные, записываемые в ячейки регистра ПС выходных выводов МС, считываются ячейками входных выводов (может быть другой МС), отражая правильное или неправильное их соединение. Выполнение этой команды отключает внутреннюю часть кристалла МС от внешних выводов, и поэтому:
сигналы на выходных внешних выводах МС определяются данными на параллельных выходах регистра ПС, обычно загружаемыми туда при выполнении команды SAMPLE/PRELOAD, и должны изменяться в соответствии с новым содержимым сдвигового регистра по заднему фронту ТСК в состоянии UPDATE-DR.
сигналы, получаемые с внешних входов, должны запоминаться в регистре ПС (в его сдвиговой части) по переднему фронту сигнала ТСК в состоянии CAPTURE-DR.
Команда INTEST тестирует функционирование схем на самом кристалле МС. Данные по сдвиговому регистру данных загружаются в ячейки ПС входов МС и, пройдя через схемы на кристалле, записываются в ячейки ПС выходов этой же МС.
Команда RUNBIST осуществляет внутреннее самотестирование компонента, не требующее загрузки исходных данных. Результатом выполнения является определяемая производителем для каждой МС комбинация в выходном регистре данных.
Команда CLAMP устанавливает на выводах МС сигналы в соответствии с данными, "защелкнутыми" на параллельных выходах регистра ПС, и помещает регистр BYPASS между TDI и TDO.
Команды регистра идентификации предусматривают наличие дополнительных регистров данных и позволяют считать идентификатор производителя МС (IDCODE), серийный номер и номер версии прошивки (USERCODE).
Команда HIGHZ переводит все выводы МС в третье состояние и помещает регистр BYPASS между TDI и TDO.
10.2. Организация периферийного сканирования в ПМЛЭ серии ХС4000
Аппаратура периферийного сканирования ПМЛЭ серии ХС4000 в соответствии со стандартом IEEE Std. 1149.1 содержит регистр данных, регистр обхода и устройство управления (контроллер), а также регистр и дешифратор команд.
Для каждого вывода ПМЛЭ, связанного с программируемым БВВ, регистр данных ПС (рис. 10.5) содержит три разряда сдвигового регистра и три разряда регистра-защелки (для входа, выхода и управления третьим состоянием). Сигнал Обновление подается на входы разрешения защелкивания LE (Latch Enable) триггеров регистра-защелки.
Выводы, не программируемые пользователем, имеют только по одному разряду в регистре данных ПС (для входа или выхода). Исключение составляют лишь три вывода ПМЛЭ: CCLK, -PROGRAM и DONE, которые не имеют ячеек в регистре данных ПС.
Определенные стандартом JTAG три входа и один выход порта ПС используют четыре специально выделенные выводы корпуса ПМЛЭ, соединенные также с программируемыми БВВ. Если же ПС не используется в создаваемом проекте, то эти БВВ могут использоваться для обычных целей.
Устройство управления ПС обеспечивает выполнение семи команд (табл. 10.1): трех команд, определенных в стандарте JTAG (SAMPLE/PRELOAD, EXTEST и BYPASS), двух команд пользователя USER1 и USER2, а также специальных команд CONFIGURE и READBACK, позволяющих через порт ПС производить конфигурирование ПМЛЭ и обратное считывание конфигурации из "теневого" ЗУ.
Регистр команд может использоваться для определения включения ПС в проект: в состоянии CAPTURE-IR в него заносится код 001, если предусмотрено использование ПС, и 101 - если не предусмотрено.