Биография Библиотека Ресурсы Intenet Статистика поиска в Internet

Донецкий национальный технический университет

Мирошников Александр Сергеевич

"Разработка алгоритмов тестирования FPGA-устройств по технологии переферийного сканирования"


            Руководитель: доц. каф. ЭВМ Зинченко Ю.Е.
            Специальность: "Компьютерные системы и сети"

Автореферат магистрской выпускной работы

Донецк 2002


Общая характеристика работы

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

Цель работы - создание системы автоматизированной генерации детерминированных тестов, в виде тестирующих VHDL-программ. В соответствии с поставленной целью основными задачами являются следующие:


Содержание работы

Обзор технологии периферийного сканирования

Механизм периферийного сканирования (Boundary Scan) является промышленным стандартом, который был разработан группой специалистов по проблемам тестирования электронных компонентов и зарегистрирован в IEEE 1149.1 – 1990 “Standard Test Access Port and Boundary Scan Architecture” (JTAG).

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

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

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

Механизм граничного сканирования
Рис. 1. Механизм граничного сканирования

Одной из главных особенностей данного механизма (рис. 1) является специализированный последовательный четырёхпроводный интерфейс TAP (Test Access Port) контроллера [4]. Протокол работы этого интерфейса представляет собой конечный автомат с 16 состояниями (рис. 2). Одна из линий интерфейса управляет непосредственно переходами автомата. Приём и передача данных осуществляются синхронно (в составе интерфейса имеется выделенная линия синхронизации).

Диаграмма состояния ТАР-контроллера
Рис. 2. Диаграмма состояния ТАР-контроллера

Из диаграммы состояний автомата видно, что данный интерфейс работает в двух режимах: режим чтения/записи регистров команд (IR) и режим чтения/записи регистров данных (DR). При этом чтение и запись происходят одновременно по двум раздельным линиям, одна из которых (выходная) является тристабильной (TRI-State), что должно быть учтено при разработке аналоговой модели системы и на начальных этапах тестирования.

    Стандарт на механизм граничного сканирования определяет требования на реализацию трёх основных режимов работы интерфейса: BYPASS, EXTEST, SAMPLE/PRELOAD. Один из них, BYPASS, позволяет эффективно использовать возможности последовательного интерфейса при организации длинных последовательно объединённых цепочек. Два других режима обеспечивают потенциальную возможность проведения тестов методом граничного сканирования.

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

Режим работы SAMPLE/PRELOAD позволяет тестировать ядро электронного элемента в статическом режиме, выставляя или снимая значения логических уровней на границе его выходных буферов.

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

Что касается третьей группы задач, оставаясь в рамках стандартных режимов работы интерфейса, невозможно осуществлять комплексную динамическую отладку реального масштаба времени. Задача статической отладки частично может быть решена, однако производительность классического механизма граничного сканирования в данном случае недостаточна.     Перспективной является возможность внедрения механизма граничного сканирования в проекты SoC, где актуальна задача формальной верификации содержимого заказной вычислительной структуры. По предварительным оценкам, реализация необходимых компонентов механизма граничного сканирования не вызывает сложностей и не требует значительных ресурсов, что важно при его внедрении в проект на основе ПЛИС типа FPGA (Field Programmable Gate Array) или ASIC.

Важнейшими составляющими инструментального обеспечения механизма JTAG встроенных вычислительных систем являются:

Для описания ресурсов механизма граничного сканирования существуют стандартные средства, такие как форматы и языки описания TDL (Test Description Language). Одним из первых форматов описания модели механизма граничного сканирования стал BSDL (Boundary Scan Description Language), являющийся подмножеством языка описания аппаратуры VHDL (VHSIC Hardware Description Language). BSDL позволяет описывать структурные элементы механизма граничного сканирования на уровне разрядностей регистров управления и форматов регистров граничного сканирования (Boundary Scan Register). В настоящее время BSDL стал стандартом описания ресурсов механизма граничного сканирования и принят большинством фирм-производителей электронных компонентов. Он поддержан основными мировыми производителями автоматизированных средств генерации тестов ATPG (Automatic Test Pattern Generator).

Логическим результатом развития этого формата стал HSDL (Hierarchical Scan Description Language) [1]. Его возможности, в отличие от BSDL, позволяют описывать сложную модель механизма граничного сканирования, включающую несколько устройств, и составлять модели для систем с динамически-реконфигурируемой или наращиваемой архитектурой.

Данные языки или форматы, как уже отмечалось, являются средствами структурного описания механизма граничного сканирования. Другие группы языков — SVF (Serial Vector Format) [1] и STAPL [6] (Standard Test and Programming) ориентированы на описание поведенческой модели работы механизма граничного сканирования. Языки STAPL более развиты, чем SVF. В семантику STAPL добавлены средства алгоритмизации, такие как процедурные вызовы, циклы, переменные, которые отсутствуют в SVF. Язык JAM (разработанный фирмой Altera) [7] является представителем семейства STAPL. Он позволяет производить загрузку и чтение значений, переводить автомат в определённое состояние, анализировать и обрабатывать рабочие значения.

Наиболее часто механизм граничного сканирования используется для тестирования и программирования (конфигурирования) аппаратуры. Раскроем данные термины и определим круг реально решаемых задач.

Режим тестирования предполагает применение (проверку) целевой системы на наборе тестовых шаблонов. Набор таких шаблонов составляется каким-нибудь средством и обеспечивается их выполнение в системе. Обычно это выглядит как выставление заданных значений в некоторых точках системы, защёлкивание реакции системы, сравнение с образцом и так далее. Результатом может быть PASSED или FAILED. Для решения задачи формального описания процедуры тестирования используется язык SVF. С его помощью можно указать последовательность выставляемых и образцовых векторов. В семантике языка не поддержаны управляющие конструкции, возможно только линейное исполнение программы. В результирующем сценарии отсутствуют явные связи со структурой системы, конкретными микросхемами и так далее (хотя при составлении сценария эта информация была использована). Файл рассчитан на работу с полной JTAG-цепочкой (подробнее этот термин обсуждается в следующем разделе).

В рамках технологии JTAG под программированием понимают процесс начальной инициализации (конфигурирования) той или иной структуры в микросхеме. При этом используется специальный алгоритм, разработанный фирмой-производителем микросхемы, опирающийся на расширение механизма JTAG. Алгоритм программирования в большинстве случаев не раскрывается фирмой-производителем. JTAG (в рамках базового стандарта) в таком режиме выполняет роль транспортного средства. Примером такого подхода являются FPGA-устройства фирм Xilinx и Altera.

Целью работы является построение системы автоматической генерации тестов FPGA-устройств на основе языка описания аппаратуры VHDL. Данная задача решается при использования Т-модели дискретного устройства.

Т-модель дискретного устройства комбинационного типа

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

Основой предлагаемого подхода является так называемая Т-модель объекта диагностики (ОД).

Для нахождения теста некоторой КН hk:k=h в общем случае необходимо составить уравнение тестируемости вида Т(hk)=1.

Левую часть уравнения, называемую функцией тестируемости неисправности hk , можно представить в виде логического произведения функций управляемости неисправности - U(hk) и наблюдаемости КТ, в которой моделируется неисправность - Н(Kк):

Уравнение 1

Под управляемостью неисправности hk подразумевается возможность установки КТ Kk в состояние, противоположное виду неисправности, т.е. функция U(hk) определяется в зависимости от типа hk как прямая либо инверсная функция fk(Х), реализуемая схемой в КТ k :

Уравнение 2

При этом, если существует хотя бы один входной набор, обеспечивающий решение уравнения (1.2), то неисправность hk объявляется управляемой, в противном случае - неуправляемой. Входной вектор, под воздействием которого неисправность Кk=h, становится управляемой, будем называть вектором управляемости и обозначать как Хu(hk).

Под наблюдаемостью КТ схемы подразумевается возможность проявления (наблюдения) состояния КТ хотя бы на одном внешнем выходе схемы. Формально она выражается функцией над входными переменными схемы - функцией наблюдаемости - H(Kk). Для нахождения входных векторов, на которых КТ Kk становится наблюдаемой, составляется уравнение наблюдаемости: Н(Kk)=1. Если уравнение имеет хотя бы одно решение, то Kк является наблюдаемой, в противном случае - ненаблюдаемой.

Входной вектор, являющийся корнем уравнения наблюдаемости, будем называть вектором наблюдаемости КТ и обозначать как Xh(Kk).

Функцию наблюдаемости можно выразить с помощью булевой производной:

Уравнение 3

где   fk(X) - функция, реализуемая схемой в КТ k;

       F(X) - функция, реализуемая на внешнем выходе схемы.

Тогда функция тестируемости КН hk должно принять один из следующих видов:

Уравнение 4

Отсюда следует, что для нахождения теста некоторой неисправности в общем случае необходимо составить для нее уравнение тестируемости вида

Уравнение 5

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

Аналитическое решение уравнений тестируемости не представляется возможным в виду чрезвычайно высокой трудоемкости. Поэтому в данной работе предпринята попытка свести решение таких уравнений к имитационному моделированию.

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

ОД со множеством входов X={xi}, i=1,..,n, выходов Y={yj}, j=1,...,m, множеством моделируемых неисправностей H={hk}, k=1,...,p и его Т-модель можно представить обобщенными структурами:

Объект диагностики и его Т-модел
Рисунок 3. Объект диагностики и его Т-модель

Особенностью Т-модели является наличие специальных выходов Т={Tk}, называемых выходами тестируемости неисправностей ОД. Выход Tk выражает условие обнаружения неисправности hk входной тестовой последовательностью на выходах Y и может быть описан функцией тестируемости неисправности T(hk), которая в общем случае определяется над входами и внутренним состоянием ОД.

Принцип Т-модели состоит в том, что для каждого выхода тестируемости Тk строится так называемая логическая схема тестируемости (ЛСТ), которая реализует на своем выходе Тk функцию (1.4) над входами Х ОД. ЛСТ для всех неисправностей взаимоувязаны с учетом путей распространения сигналов неисправностей. В общем случае ЛСТ для любой неисправности можно представить в виде логического произведения функций управляемости и наблюдаемости неисправности. Если схемная реализация функции управляемости не представляет затруднений - это прямой либо инверсный выход логического элемента, реализующего функцию fk - то построение схемы наблюдаемости не представляется столь очевидным.

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

Т-модель дискретного устройства последовательностного типа

Построение Т-модели для последовательностной схемы (ПС) выполняется на основе модели Хаффмана. Как известно, модель Хаффмана любое ДУ представляет композицией КЛС и элементов задержки (ЭЗ), включенных в обратную связь КЛС. Логически разорвав обратные связи:

Модель Хаффмана ПС и ее преобразование
Рисунок 4. Модель Хаффмана ПС и ее преобразование

и пренебрегая неисправностями ЭЗ, тестирование исходной ПС в результате такого преобразования сводится к тестированию его КЛС с множеством неисправностей

.

Отсюда следует, что Т-модель ПС может быть построена как Т-модель его комбинационной части.

Принципы решения диагностических задач на базе Т-модели

Принцип решения диагностических задач на базе Т-модели отображается структурной схемой, представленной на рисунке 2.1.

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

На входах ОД в зависимости от типа решаемой задачи генерируется заданный, синтезируемый либо анализируемый тест детерминированного, случайного либо псевдослучайного типа. Под воздействием теста на выходах тестируемости {Т(hk)} появляется тестовая реакция, так что если в некоторый момент времени t на входах ОД генератор тестов выставляет тест неисправности hk, то соответствующий выход тестируемости взводится в лог."1"; в противном случае на этом выходе лог. "0". Тестовая реакция поступает на так называемую Т-оболочку, которая является специфической для каждой задачи.

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

Предложенная методология решения диагностических задач по сравнению с аналогами обладает следующими преимуществами:

Принцип решения диагностических задач на основе Т-модели
Рисунок 5. Принцип решения диагностических задач на основе Т-модели ОД

Рассмотрим далее специфику решения конкретных диагностических задач, а именно - автоматизированную генерацию тестов в виде тестирующих VHDL-программ для FPGA-устройств.

Данная задача решается последовательностью следующих этапов:


Основные результаты


Список литературы

  1. Использование интерфейса JTAG для отладки встраиваемых систем. Ключев А.О., Коровьякова Т.А., Платунов А.Е. // Изв. вузов. Приборостроение. — 1998. — Т 41, № 5. — С. 45–50.
  2. Balancing your design cycle. A practical guide to hw/sw co-verification. URL: http://www.synopsys.com/.
  3. Угрюмов Е.П. Цифровая схемотехника. — СПб.: БХВ – Санкт-Петербург. — 2000. — 528 с.: ил.
  4. ARM Limited 1999 “Using Embedded ICE”. URL: http://www.arm.com/.
  5. ELECTRONIC INDUSTRIES ALLIANCE JEDEC Solid State Technology Association “Standard Test and Programming Language (STAPL)”. URL: http://www.jedec.org/.
  6. Altera Corporation 1997 “Jam Programming & Test Language Specification”. URL: http://www.altera.com/.
  7. Craig A. Haller, Macraigor System Inc. The ZEN of BDM. URL: http://www.macraigor.com/.
  8. Чипулис В.П., Шаршунов С.Г. "Анализ и построение тестов цифровых программно-управляемых устройств" - М.:Энергоатомиздат, 1992 - 224с.: ил.
  9. "Техническая диагностика элементов и узлов персональных компьютеров: Учебное пособие" В.И. Хаханов - К.: ИСМО, 1997 - 308с.
  10. "Основы технической диагностики"/ Под. ред. П.П. Пархоменко - М.:Энергия, 1976 - 460с.
  11. Барашко А.С., Скобцов Ю.А. и др. "Моделирование и тестирование дискретных устройств". - Киев: Наук. думка, 1992.- 288с.
  12. Зинченко Ю.Е. "Т-модель дискретного устройства и решение диагностических задач на ее основе"
  13. Беннетс Р. "Проектирование тестопригодных логических схем." - Пер. с английского. - М.: Радио и связь,1990 - 176с.
  14. Ярмолик В.Н. Контроль и диагностика цифровых узлов ЭВМ. - Мн.: Наука и техника. 1988, - 240 с.
  15. Программируемые логические ИМС на К-МОП структурах и их применение /П.П. Мальцев, Н.И. Гарбузов, А.П. и др. - М.: Энергоатомиздат, 1998.- 160 с.