Московский государственный университет путей сообщения
Опубликован: 06.09.2012 | Доступ: свободный | Студентов: 1232 / 168 | Оценка: 5.00 / 5.00 | Длительность: 35:22:00
Специальности: Разработчик аппаратуры
Лекция 22:

Построение тестов для устройств с памятью на основе экспериментов с автоматами

< Лекция 21 || Лекция 22: 123 || Лекция 23 >

22.3 Контрольные эксперименты для устройств с памятью

При этом подходе последовательностная схема тестируется с помощью контрольного эксперимента, где на каждый входной набор сигналов, подаваемых на схему, снимаются выходные реакции. Очевидно, что для комбинационной схемы тривиальным тестом является полное множество всевозможных входных наборов. Измеряя выходную реакцию на каждый из этих наборов, мы можем построить таблицу истинности булевой функции, которая реализуется на данном выходе. К сожалению, проблема восстановления таблицы переходов-выходов автомата, который реализуется диагностируемой схемой, решается не так просто. Контрольный эксперимент представляет собой вход/выходную последовательность, которая организована специальным образом и позволяет восстановить таблицу переходов-выходов автомата, реализуемого тестируемой схемой [22.8]. При этом большую роль играют идентифицирующие последовательности (установочная, диагностическая, синхронизирующая и т.п.), которые мы рассматривали ранее [22.6,22.8]. Тем не менее, при следующих условиях можно восстановить таблицу переходов выходов автомата:

  1. Схема полностью определена и детерминирована. В конечном автомате, реализуемом схемой, следующее состояние однозначно определяется текущим состоянием и входным набором сигналов.
  2. Граф автомата сильно связан, то есть для каждой пары состояний S_{i} и S_{j} существует входная последовательность, которая переводит автомат из состояния S_{i} в состояние S_{j} .
  3. Неисправная схема имеет не больше состояний, чем исправная схема - то есть, неисправность не увеличивает числа состояний.

Итак, целью контрольного эксперимента является проверка того, что таблица переходов-выходов автомата правильно описывает функционирование тестируемой схемы. Если в течение выполнения эксперимента тестируемая схема выдает выходную реакцию, отличную от автомата, реализуемого исправной схемой, то схема считается неисправной. Рассмотрим построение контрольного эксперимента для сильно связного конечного автомата, который имеет, по крайней мере, одну диагностическую последовательность [22.8].

Контрольный эксперимент можно разделить на три фазы.

  1. Инициализация.

    На этом этапе тестируемый автомат переводится из неизвестного начального состояния в некоторое определенное состояние, которое является начальным для второй части эксперимента. Приведенный (не имеющий эквивалентных состояний) сильно связный автомат можно перевести в заданное состояние S путем подачи установочной последовательности с определением текущего состояния автомата. Если текущее состояние отличается от S, то из него с помощью транслирующей входной последовательности автомат переводится в заданное состояние S.

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

  2. Идентификация состояний.

    На этом этапе прилагается входная последовательность, в которой посещается каждое состояние автомата, что подтверждается реакцией на диагностическую последовательность (для всех посещаемых состояний).

  3. Проверка переходов автомата.

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

Схема одного разряда регистра

Рис. 22.7. Схема одного разряда регистра

Хотя эти три фазы различны, на практике подпоследовательности из второй и третьей фаз комбинируются. Это дает возможность сократить длину эксперимента. Очевидно, что контрольный эксперимент можно отнести к функциональному тестированию.

Граф переходов-выходов автомата

Рис. 22.8. Граф переходов-выходов автомата

Далее данный подход рассмотрим на примере тестирования схемы на рис. 22.7., которая реализует один разряд сдвигового регистра. В табл. 22.7 приведена таблица переходов-выходов конечного автомата, который реализуется данной схемой. На рис. 22.8 для удобства показан граф переходов-выходов этого автомата.

Таблица 22.7.
S\IW 00 01 10 11
A A, 0 A,0 A,0 B,0
B B,1 A,0 B,1 B,0

Наконец, в табл. 22.8 приведен с комментариями сам контрольный эксперимент для тестирования указанной схемы.

Таблица 22.8.
Входы Состояние Выход Комментарий
I W S Z
1 2 3 4
0 1 -- 0 Сброс схемы в состояние А (синхронизирующая последовательность)
0 0 А 0 Чтение (диагностическая последовательность)
0 0 А 0 Чтение - проверка перехода A\xrightarrow{00/0}A
1 1 B 0 Переход в состояние B A\xrightarrow{11/0}B
0 0 B 1 Чтение (диагностическая последовательность)
0 0 B 1 Чтение - проверка перехода B\xrightarrow{00/1}B
1 0 B 1 Переход B\xrightarrow{10/1}B
0 0 B 1 Чтение (диагностическая последовательность)
1 1 B 0 Переход B\xrightarrow{11/0}B
0 0 B 1 Чтение (диагностическая последовательность)
0 1 B 0 Переход B\xrightarrow{01/0}A
0 0 А 0 Чтение (диагностическая последовательность)
1 0 А 0 Переход A\xrightarrow{10/0}A
0 0 А 0 Чтение (диагностическая последовательность)
0 1 A 0 Переход A\xrightarrow{10/0}A
0 0 А 0 Чтение (диагностическая последовательность)

Здесь в первой строке производится инициализация автомата, который переводится в начальное состояние A с помощью синхронизирующей последовательности ("сброса схемы"). Далее выполняется проверка переходов автомата одновременно с идентификацией состояний. Со второй по четвертую строку проверяются два перехода состояния из состояния A . Затем проверяются все переходы из состояния B . И в конце проверяются два перехода из состояния A. Проверка всех переходов производится по стандартной схеме:

  1. перевод автомата в нужное состояние;
  2. выполнение собственно перехода;
  3. проверка состояния, в которое перешел автомат с помощью диагностической последовательности (в данном случае чтения регистра).

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

Ключевые термины:

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

Диагностической последовательностью (экспериментом) называется входная последовательность, для которой выходные реакции конечного автомата различаются для любого начального состояния.

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

Краткие итоги

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

В "Построение тестов для устройств с памятью на основе экспериментов с автоматами" описаны основы экспериментов с конечными автоматами, введены основные понятия дерева преемников и предшественников состояний, прямого и обратного различающего дерева. Рассмотрены примеры ЦУ с памятью и соответствующего автоматного представления, построения тестовых последовательностей с помощью различных видов деревьев.

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

В "Построение тестов для устройств с памятью на основе экспериментов с автоматами" рассмотрен метод тестирования цифрового устройства с памятью на основе контрольного эксперимента конечного автомата. Приведены структура контрольного эксперимента и метод его построения. Рассмотрено построение проверяющего теста на основе контрольного эксперимента.

Вопросы и упражнения

  1. Приведите три основных подхода к построению тестов для схем с памятью?
  2. Опишите преимущества и недостатки каждого из этих направлений.
  3. Опишите функциональную модель схемы с памятью в виде конечного автомата.
  4. Опишите структурную модель схемы с памятью в виде логической схемы.
  5. Опишите прямое различающее дерево дерево.
  6. Опишите обратное различающее дерево.
  7. Приведите пример установочной последовательности для какого либо конечного автомата.
  8. Приведите пример диагностической последовательности для какого либо конечного автомата.
  9. Приведите пример синхронизирующей последовательности для какого либо конечного автомата.
  10. При каких предположениях строится контрольный эксперимент?
  11. Какие части содержит контрольный эксперимент?
  12. Какое назначение первой части эксперимента и как ее можно реализовать?
  13. Какое назначение второй части эксперимента?
  14. Какое назначение третьей части эксперимента?
  15. Как выполняется проверка перехода таблицы переходов автомата?
  16. Приведите пример построения контрольного эксперимента дл\я некоторого конечного автомата.
< Лекция 21 || Лекция 22: 123 || Лекция 23 >
Дмитрий Медведевских
Дмитрий Медведевских

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